| 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]]: ... | |