| from collections.abc import Callable, Mapping |
| from pprint import pprint as show |
| from typing import Any, Final, Never, TypeAlias, TypeVar, overload |
| from typing import Literal as L |
|
|
| from _typeshed import FileDescriptorOrPath |
|
|
| from .cfuncs import errmess |
|
|
| __all__ = [ |
| "applyrules", |
| "containscommon", |
| "containsderivedtypes", |
| "debugcapi", |
| "dictappend", |
| "errmess", |
| "gentitle", |
| "get_f2py_modulename", |
| "getargs2", |
| "getcallprotoargument", |
| "getcallstatement", |
| "getdimension", |
| "getfortranname", |
| "getpymethoddef", |
| "getrestdoc", |
| "getuseblocks", |
| "getusercode", |
| "getusercode1", |
| "hasbody", |
| "hascallstatement", |
| "hascommon", |
| "hasexternals", |
| "hasinitvalue", |
| "hasnote", |
| "hasresultnote", |
| "isallocatable", |
| "isarray", |
| "isarrayofstrings", |
| "isattr_value", |
| "ischaracter", |
| "ischaracter_or_characterarray", |
| "ischaracterarray", |
| "iscomplex", |
| "iscomplexarray", |
| "iscomplexfunction", |
| "iscomplexfunction_warn", |
| "iscstyledirective", |
| "isdouble", |
| "isdummyroutine", |
| "isexternal", |
| "isfunction", |
| "isfunction_wrap", |
| "isint1", |
| "isint1array", |
| "isinteger", |
| "isintent_aux", |
| "isintent_c", |
| "isintent_callback", |
| "isintent_copy", |
| "isintent_dict", |
| "isintent_hide", |
| "isintent_in", |
| "isintent_inout", |
| "isintent_inplace", |
| "isintent_nothide", |
| "isintent_out", |
| "isintent_overwrite", |
| "islogical", |
| "islogicalfunction", |
| "islong_complex", |
| "islong_double", |
| "islong_doublefunction", |
| "islong_long", |
| "islong_longfunction", |
| "ismodule", |
| "ismoduleroutine", |
| "isoptional", |
| "isprivate", |
| "isrequired", |
| "isroutine", |
| "isscalar", |
| "issigned_long_longarray", |
| "isstring", |
| "isstring_or_stringarray", |
| "isstringarray", |
| "isstringfunction", |
| "issubroutine", |
| "issubroutine_wrap", |
| "isthreadsafe", |
| "isunsigned", |
| "isunsigned_char", |
| "isunsigned_chararray", |
| "isunsigned_long_long", |
| "isunsigned_long_longarray", |
| "isunsigned_short", |
| "isunsigned_shortarray", |
| "isvariable", |
| "l_and", |
| "l_not", |
| "l_or", |
| "outmess", |
| "process_f2cmap_dict", |
| "replace", |
| "show", |
| "stripcomma", |
| "throw_error", |
| ] |
|
|
| ### |
|
|
| _VT = TypeVar("_VT") |
| _RT = TypeVar("_RT") |
|
|
| _Var: TypeAlias = Mapping[str, list[str]] |
| _ROut: TypeAlias = Mapping[str, str] |
| _F2CMap: TypeAlias = Mapping[str, Mapping[str, str]] |
|
|
| _Bool: TypeAlias = bool | L[0, 1] |
| _Intent: TypeAlias = L[ |
| "INTENT_IN", |
| "INTENT_OUT", |
| "INTENT_INOUT", |
| "INTENT_C", |
| "INTENT_CACHE", |
| "INTENT_HIDE", |
| "INTENT_INPLACE", |
| "INTENT_ALIGNED4", |
| "INTENT_ALIGNED8", |
| "INTENT_ALIGNED16", |
| "OPTIONAL", |
| ] |
|
|
| ### |
|
|
| isintent_dict: dict[Callable[[_Var], _Bool], _Intent] |
|
|
| class F2PYError(Exception): ... |
|
|
| class throw_error: |
| mess: Final[str] |
| def __init__(self, /, mess: str) -> None: ... |
| def __call__(self, /, var: _Var) -> Never: ... # raises F2PYError |
|
|
| # |
| def l_and(*f: tuple[str, Callable[[_VT], _RT]]) -> Callable[[_VT], _RT]: ... |
| def l_or(*f: tuple[str, Callable[[_VT], _RT]]) -> Callable[[_VT], _RT]: ... |
| def l_not(f: tuple[str, Callable[[_VT], _RT]]) -> Callable[[_VT], _RT]: ... |
|
|
| # |
| def outmess(t: str) -> None: ... |
| def debugcapi(var: _Var) -> bool: ... |
|
|
| # |
| def hasinitvalue(var: _Var | str) -> bool: ... |
| def hasnote(var: _Var | str) -> bool: ... |
| def ischaracter(var: _Var) -> bool: ... |
| def ischaracterarray(var: _Var) -> bool: ... |
| def ischaracter_or_characterarray(var: _Var) -> bool: ... |
| def isstring(var: _Var) -> bool: ... |
| def isstringarray(var: _Var) -> bool: ... |
| def isstring_or_stringarray(var: _Var) -> bool: ... |
| def isarray(var: _Var) -> bool: ... |
| def isarrayofstrings(var: _Var) -> bool: ... |
| def isscalar(var: _Var) -> bool: ... |
| def iscomplex(var: _Var) -> bool: ... |
| def islogical(var: _Var) -> bool: ... |
| def isinteger(var: _Var) -> bool: ... |
| def isint1(var: _Var) -> bool: ... |
| def isint1array(var: _Var) -> bool: ... |
| def islong_long(var: _Var) -> _Bool: ... |
| def isunsigned(var: _Var) -> _Bool: ... |
| def isunsigned_char(var: _Var) -> _Bool: ... |
| def isunsigned_chararray(var: _Var) -> bool: ... |
| def isunsigned_short(var: _Var) -> _Bool: ... |
| def isunsigned_shortarray(var: _Var) -> bool: ... |
| def isunsigned_long_long(var: _Var) -> _Bool: ... |
| def isunsigned_long_longarray(var: _Var) -> bool: ... |
| def issigned_long_longarray(var: _Var) -> bool: ... |
| def isdouble(var: _Var) -> _Bool: ... |
| def islong_double(var: _Var) -> _Bool: ... |
| def islong_complex(var: _Var) -> _Bool: ... |
| def iscomplexarray(var: _Var) -> bool: ... |
| def isallocatable(var: _Var) -> bool: ... |
| def isattr_value(var: _Var) -> bool: ... |
| def isoptional(var: _Var) -> bool: ... |
| def isexternal(var: _Var) -> bool: ... |
| def isrequired(var: _Var) -> bool: ... |
| def isprivate(var: _Var) -> bool: ... |
| def isvariable(var: _Var) -> bool: ... |
| def isintent_in(var: _Var) -> _Bool: ... |
| def isintent_inout(var: _Var) -> bool: ... |
| def isintent_out(var: _Var) -> bool: ... |
| def isintent_hide(var: _Var) -> bool: ... |
| def isintent_nothide(var: _Var) -> bool: ... |
| def isintent_c(var: _Var) -> bool: ... |
| def isintent_cache(var: _Var) -> bool: ... |
| def isintent_copy(var: _Var) -> bool: ... |
| def isintent_overwrite(var: _Var) -> bool: ... |
| def isintent_callback(var: _Var) -> bool: ... |
| def isintent_inplace(var: _Var) -> bool: ... |
| def isintent_aux(var: _Var) -> bool: ... |
|
|
| # |
| def containsderivedtypes(rout: _ROut) -> L[0, 1]: ... |
| def containscommon(rout: _ROut) -> _Bool: ... |
| def hasexternals(rout: _ROut) -> bool: ... |
| def hasresultnote(rout: _ROut) -> _Bool: ... |
| def hasbody(rout: _ROut) -> _Bool: ... |
| def hascommon(rout: _ROut) -> bool: ... |
| def hasderivedtypes(rout: _ROut) -> bool: ... |
| def hascallstatement(rout: _ROut) -> bool: ... |
| def isroutine(rout: _ROut) -> bool: ... |
| def ismodule(rout: _ROut) -> bool: ... |
| def ismoduleroutine(rout: _ROut) -> bool: ... |
| def issubroutine(rout: _ROut) -> bool: ... |
| def issubroutine_wrap(rout: _ROut) -> _Bool: ... |
| def isfunction(rout: _ROut) -> bool: ... |
| def isfunction_wrap(rout: _ROut) -> _Bool: ... |
| def islogicalfunction(rout: _ROut) -> _Bool: ... |
| def islong_longfunction(rout: _ROut) -> _Bool: ... |
| def islong_doublefunction(rout: _ROut) -> _Bool: ... |
| def iscomplexfunction(rout: _ROut) -> _Bool: ... |
| def iscomplexfunction_warn(rout: _ROut) -> _Bool: ... |
| def isstringfunction(rout: _ROut) -> _Bool: ... |
| def isthreadsafe(rout: _ROut) -> bool: ... |
| def isdummyroutine(rout: _ROut) -> _Bool: ... |
| def iscstyledirective(f2py_line: str) -> bool: ... |
|
|
| # . |
| def getdimension(var: _Var) -> list[Any] | None: ... |
| def getfortranname(rout: _ROut) -> str: ... |
| def getmultilineblock(rout: _ROut, blockname: str, comment: _Bool = 1, counter: int = 0) -> str | None: ... |
| def getcallstatement(rout: _ROut) -> str | None: ... |
| def getcallprotoargument(rout: _ROut, cb_map: dict[str, str] = {}) -> str: ... |
| def getusercode(rout: _ROut) -> str | None: ... |
| def getusercode1(rout: _ROut) -> str | None: ... |
| def getpymethoddef(rout: _ROut) -> str | None: ... |
| def getargs(rout: _ROut) -> tuple[list[str], list[str]]: ... |
| def getargs2(rout: _ROut) -> tuple[list[str], list[str]]: ... |
| def getrestdoc(rout: _ROut) -> str | None: ... |
|
|
| # |
| def gentitle(name: str) -> str: ... |
| def stripcomma(s: str) -> str: ... |
| @overload |
| def replace(str: str, d: list[str], defaultsep: str = "") -> list[str]: ... |
| @overload |
| def replace(str: list[str], d: str, defaultsep: str = "") -> list[str]: ... |
| @overload |
| def replace(str: str, d: str, defaultsep: str = "") -> str: ... |
|
|
| # |
| def dictappend(rd: Mapping[str, object], ar: Mapping[str, object] | list[Mapping[str, object]]) -> dict[str, Any]: ... |
| def applyrules(rules: Mapping[str, object], d: Mapping[str, object], var: _Var = {}) -> dict[str, Any]: ... |
|
|
| # |
| def get_f2py_modulename(source: FileDescriptorOrPath) -> str: ... |
| def getuseblocks(pymod: Mapping[str, Mapping[str, Mapping[str, str]]]) -> list[str]: ... |
| def process_f2cmap_dict( |
| f2cmap_all: _F2CMap, |
| new_map: _F2CMap, |
| c2py_map: _F2CMap, |
| verbose: bool = False, |
| ) -> tuple[dict[str, dict[str, str]], list[str]]: ... |
|
|