done
This commit is contained in:
221
lib/python3.11/site-packages/numpy/f2py/symbolic.pyi
Normal file
221
lib/python3.11/site-packages/numpy/f2py/symbolic.pyi
Normal file
@ -0,0 +1,221 @@
|
||||
from collections.abc import Callable, Mapping
|
||||
from enum import Enum
|
||||
from typing import Any, Generic, ParamSpec, Self, TypeAlias, overload
|
||||
from typing import Literal as L
|
||||
|
||||
from typing_extensions import TypeVar
|
||||
|
||||
__all__ = ["Expr"]
|
||||
|
||||
###
|
||||
|
||||
_Tss = ParamSpec("_Tss")
|
||||
_ExprT = TypeVar("_ExprT", bound=Expr)
|
||||
_ExprT1 = TypeVar("_ExprT1", bound=Expr)
|
||||
_ExprT2 = TypeVar("_ExprT2", bound=Expr)
|
||||
_OpT_co = TypeVar("_OpT_co", bound=Op, default=Op, covariant=True)
|
||||
_LanguageT_co = TypeVar("_LanguageT_co", bound=Language, default=Language, covariant=True)
|
||||
_DataT_co = TypeVar("_DataT_co", default=Any, covariant=True)
|
||||
_LeftT_co = TypeVar("_LeftT_co", default=Any, covariant=True)
|
||||
_RightT_co = TypeVar("_RightT_co", default=Any, covariant=True)
|
||||
|
||||
_RelCOrPy: TypeAlias = L["==", "!=", "<", "<=", ">", ">="]
|
||||
_RelFortran: TypeAlias = L[".eq.", ".ne.", ".lt.", ".le.", ".gt.", ".ge."]
|
||||
|
||||
_ToExpr: TypeAlias = Expr | complex | str
|
||||
_ToExprN: TypeAlias = _ToExpr | tuple[_ToExprN, ...]
|
||||
_NestedString: TypeAlias = str | tuple[_NestedString, ...] | list[_NestedString]
|
||||
|
||||
###
|
||||
|
||||
class OpError(Exception): ...
|
||||
class ExprWarning(UserWarning): ...
|
||||
|
||||
class Language(Enum):
|
||||
Python = 0
|
||||
Fortran = 1
|
||||
C = 2
|
||||
|
||||
class Op(Enum):
|
||||
INTEGER = 10
|
||||
REAL = 12
|
||||
COMPLEX = 15
|
||||
STRING = 20
|
||||
ARRAY = 30
|
||||
SYMBOL = 40
|
||||
TERNARY = 100
|
||||
APPLY = 200
|
||||
INDEXING = 210
|
||||
CONCAT = 220
|
||||
RELATIONAL = 300
|
||||
TERMS = 1_000
|
||||
FACTORS = 2_000
|
||||
REF = 3_000
|
||||
DEREF = 3_001
|
||||
|
||||
class RelOp(Enum):
|
||||
EQ = 1
|
||||
NE = 2
|
||||
LT = 3
|
||||
LE = 4
|
||||
GT = 5
|
||||
GE = 6
|
||||
|
||||
@overload
|
||||
@classmethod
|
||||
def fromstring(cls, s: _RelCOrPy, language: L[Language.C, Language.Python] = ...) -> RelOp: ...
|
||||
@overload
|
||||
@classmethod
|
||||
def fromstring(cls, s: _RelFortran, language: L[Language.Fortran]) -> RelOp: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def tostring(self, /, language: L[Language.C, Language.Python] = ...) -> _RelCOrPy: ...
|
||||
@overload
|
||||
def tostring(self, /, language: L[Language.Fortran]) -> _RelFortran: ...
|
||||
|
||||
class ArithOp(Enum):
|
||||
POS = 1
|
||||
NEG = 2
|
||||
ADD = 3
|
||||
SUB = 4
|
||||
MUL = 5
|
||||
DIV = 6
|
||||
POW = 7
|
||||
|
||||
class Precedence(Enum):
|
||||
ATOM = 0
|
||||
POWER = 1
|
||||
UNARY = 2
|
||||
PRODUCT = 3
|
||||
SUM = 4
|
||||
LT = 6
|
||||
EQ = 7
|
||||
LAND = 11
|
||||
LOR = 12
|
||||
TERNARY = 13
|
||||
ASSIGN = 14
|
||||
TUPLE = 15
|
||||
NONE = 100
|
||||
|
||||
class Expr(Generic[_OpT_co, _DataT_co]):
|
||||
op: _OpT_co
|
||||
data: _DataT_co
|
||||
|
||||
@staticmethod
|
||||
def parse(s: str, language: Language = ...) -> Expr: ...
|
||||
|
||||
#
|
||||
def __init__(self, /, op: Op, data: _DataT_co) -> None: ...
|
||||
|
||||
#
|
||||
def __lt__(self, other: Expr, /) -> bool: ...
|
||||
def __le__(self, other: Expr, /) -> bool: ...
|
||||
def __gt__(self, other: Expr, /) -> bool: ...
|
||||
def __ge__(self, other: Expr, /) -> bool: ...
|
||||
|
||||
#
|
||||
def __pos__(self, /) -> Self: ...
|
||||
def __neg__(self, /) -> Expr: ...
|
||||
|
||||
#
|
||||
def __add__(self, other: Expr, /) -> Expr: ...
|
||||
def __radd__(self, other: Expr, /) -> Expr: ...
|
||||
|
||||
#
|
||||
def __sub__(self, other: Expr, /) -> Expr: ...
|
||||
def __rsub__(self, other: Expr, /) -> Expr: ...
|
||||
|
||||
#
|
||||
def __mul__(self, other: Expr, /) -> Expr: ...
|
||||
def __rmul__(self, other: Expr, /) -> Expr: ...
|
||||
|
||||
#
|
||||
def __pow__(self, other: Expr, /) -> Expr: ...
|
||||
|
||||
#
|
||||
def __truediv__(self, other: Expr, /) -> Expr: ...
|
||||
def __rtruediv__(self, other: Expr, /) -> Expr: ...
|
||||
|
||||
#
|
||||
def __floordiv__(self, other: Expr, /) -> Expr: ...
|
||||
def __rfloordiv__(self, other: Expr, /) -> Expr: ...
|
||||
|
||||
#
|
||||
def __call__(
|
||||
self,
|
||||
/,
|
||||
*args: _ToExprN,
|
||||
**kwargs: _ToExprN,
|
||||
) -> Expr[L[Op.APPLY], tuple[Self, tuple[Expr, ...], dict[str, Expr]]]: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def __getitem__(self, index: _ExprT | tuple[_ExprT], /) -> Expr[L[Op.INDEXING], tuple[Self, _ExprT]]: ...
|
||||
@overload
|
||||
def __getitem__(self, index: _ToExpr | tuple[_ToExpr], /) -> Expr[L[Op.INDEXING], tuple[Self, Expr]]: ...
|
||||
|
||||
#
|
||||
def substitute(self, /, symbols_map: Mapping[Expr, Expr]) -> Expr: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def traverse(self, /, visit: Callable[_Tss, None], *args: _Tss.args, **kwargs: _Tss.kwargs) -> Expr: ...
|
||||
@overload
|
||||
def traverse(self, /, visit: Callable[_Tss, _ExprT], *args: _Tss.args, **kwargs: _Tss.kwargs) -> _ExprT: ...
|
||||
|
||||
#
|
||||
def contains(self, /, other: Expr) -> bool: ...
|
||||
|
||||
#
|
||||
def symbols(self, /) -> set[Expr]: ...
|
||||
def polynomial_atoms(self, /) -> set[Expr]: ...
|
||||
|
||||
#
|
||||
def linear_solve(self, /, symbol: Expr) -> tuple[Expr, Expr]: ...
|
||||
|
||||
#
|
||||
def tostring(self, /, parent_precedence: Precedence = ..., language: Language = ...) -> str: ...
|
||||
|
||||
class _Pair(Generic[_LeftT_co, _RightT_co]):
|
||||
left: _LeftT_co
|
||||
right: _RightT_co
|
||||
|
||||
def __init__(self, /, left: _LeftT_co, right: _RightT_co) -> None: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def substitute(self: _Pair[_ExprT1, _ExprT2], /, symbols_map: Mapping[Expr, Expr]) -> _Pair[Expr, Expr]: ...
|
||||
@overload
|
||||
def substitute(self: _Pair[_ExprT1, object], /, symbols_map: Mapping[Expr, Expr]) -> _Pair[Expr, Any]: ...
|
||||
@overload
|
||||
def substitute(self: _Pair[object, _ExprT2], /, symbols_map: Mapping[Expr, Expr]) -> _Pair[Any, Expr]: ...
|
||||
@overload
|
||||
def substitute(self, /, symbols_map: Mapping[Expr, Expr]) -> _Pair: ...
|
||||
|
||||
class _FromStringWorker(Generic[_LanguageT_co]):
|
||||
language: _LanguageT_co
|
||||
|
||||
original: str | None
|
||||
quotes_map: dict[str, str]
|
||||
|
||||
@overload
|
||||
def __init__(self: _FromStringWorker[L[Language.C]], /, language: L[Language.C] = ...) -> None: ...
|
||||
@overload
|
||||
def __init__(self, /, language: _LanguageT_co) -> None: ...
|
||||
|
||||
#
|
||||
def finalize_string(self, /, s: str) -> str: ...
|
||||
|
||||
#
|
||||
def parse(self, /, inp: str) -> Expr | _Pair: ...
|
||||
|
||||
#
|
||||
@overload
|
||||
def process(self, /, s: str, context: str = "expr") -> Expr | _Pair: ...
|
||||
@overload
|
||||
def process(self, /, s: list[str], context: str = "expr") -> list[Expr | _Pair]: ...
|
||||
@overload
|
||||
def process(self, /, s: tuple[str, ...], context: str = "expr") -> tuple[Expr | _Pair, ...]: ...
|
||||
@overload
|
||||
def process(self, /, s: _NestedString, context: str = "expr") -> Any: ... # noqa: ANN401
|
Reference in New Issue
Block a user