40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
|
from __future__ import annotations
|
||
|
|
||
|
from typing import overload
|
||
|
|
||
|
from docplex.mp.basic import Expr
|
||
|
from docplex.mp.dvar import Var
|
||
|
from docplex.mp.linear import LinearExpr
|
||
|
from docplex.mp.operand import LinearOperand
|
||
|
from docplex.mp.quad import QuadExpr
|
||
|
|
||
|
class _FunctionalExpr(Expr, LinearOperand):
|
||
|
def __sub__(self, e: Var | float) -> LinearExpr: ...
|
||
|
def __rsub__(self, e: Var | float) -> LinearExpr: ...
|
||
|
def __neg__(self) -> LinearExpr: ...
|
||
|
def __add__(self, other: Var | float) -> LinearExpr: ...
|
||
|
def __radd__(self, other: Var | float) -> LinearExpr: ...
|
||
|
@overload
|
||
|
def __mul__(self, other: float) -> LinearExpr: ...
|
||
|
@overload
|
||
|
def __mul__(self, other: Var) -> QuadExpr: ...
|
||
|
@overload
|
||
|
def __mul__(self, other: Expr) -> LinearExpr: ...
|
||
|
@overload
|
||
|
def __rmul__(self, other: float) -> LinearExpr: ...
|
||
|
@overload
|
||
|
def __rmul__(self, other: Expr) -> LinearExpr: ...
|
||
|
def __div__(self, other: float) -> LinearExpr: ...
|
||
|
def __truediv__(self, other: float) -> LinearExpr: ...
|
||
|
|
||
|
class UnaryFunctionalExpr(_FunctionalExpr): ...
|
||
|
class AbsExpr(UnaryFunctionalExpr): ...
|
||
|
class _SequenceExpr(_FunctionalExpr): ...
|
||
|
class MinimumExpr(_SequenceExpr): ...
|
||
|
class MaximumExpr(_SequenceExpr): ...
|
||
|
class LogicalNotExpr(UnaryFunctionalExpr): ...
|
||
|
class _LogicalSequenceExpr(_SequenceExpr): ...
|
||
|
class LogicalAndExpr(_LogicalSequenceExpr): ...
|
||
|
class LogicalOrExpr(_LogicalSequenceExpr): ...
|
||
|
class PwlExpr(UnaryFunctionalExpr): ...
|