Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 39 additions & 2 deletions erfa/ufunc.pyi.templ
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,49 @@ type YMDFDType = CustomVoidDType[np.intc]
dt_ymdf: Final[YMDFDType]


@type_check_only
class Ufunc_Nin0_Nout1[NTypes: Literal[0, 1], ReturnT: np.generic](np.ufunc): # type: ignore[misc]
@property
@override
def identity(self) -> None: ...
@property
@override
def nin(self) -> Literal[0]: ...
@property
@override
def nout(self) -> Literal[1]: ...
@property
@override
def nargs(self) -> Literal[1]: ...
@property
@override
def ntypes(self) -> NTypes: ...
@property
@override
def signature(self) -> None: ...
@override
@overload
def __call__(self, /, out: tuple[None] | None = None) -> ReturnT: ...
@overload
def __call__(self, /, out: EllipsisType) -> np.ndarray[tuple[()], np.dtype[ReturnT]]: ...
@overload
def __call__(self, /, out: NDArray[ReturnT] | tuple[NDArray[ReturnT]]) -> NDArray[ReturnT]: ...
@override
def at(self, a: Never, indices: Never, /) -> NoReturn: ... # type: ignore[override]
@override
def accumulate(self, array: Never, /) -> NoReturn: ... # type: ignore[override]
@override
def reduce(self, array: Never, /) -> NoReturn: ... # type: ignore[override]
@override
def reduceat(self, array: Never, /, indices: Never) -> NoReturn: ... # type: ignore[override]
@override
def outer(self, A: Never, B: Never, /) -> NoReturn: ... # type: ignore[override]


def get_leap_seconds() -> np.ndarray[tuple[int], np.dtype[LeapSecondDType]]: ...


def set_leap_seconds(leap_seconds: ArrayLike) -> None: ...


$generic_ufunc_types

$funcs
37 changes: 0 additions & 37 deletions erfa/ufunc_no_methods.templ

This file was deleted.

12 changes: 0 additions & 12 deletions erfa_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -907,20 +907,8 @@ def main(srcdir: Path, templateloc: Path) -> None:
]),
)

ufunc_no_methods_template = Template(
(templateloc / "ufunc_no_methods.templ").read_text()
)
generic_ufunc_types = []
for nin, nout in {(f.nin, f.nout) for f in funcs if f.signature == "NULL"}:
if nin <= 0 and nout <= 1:
generic_ufunc_types.append(
ufunc_no_methods_template.substitute(
nin=nin, nout=nout, nargs=nin + nout
)
)
_render_template(
templateloc / "ufunc.pyi.templ",
generic_ufunc_types="\n".join(generic_ufunc_types),
funcs="\n\n\n".join(func.ufunc_signature for func in funcs),
)

Expand Down
Loading