hyb
2025-11-10 e0a856b5072c5a09f3f6de6da85abf90e00ee704
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from typing import Any, Literal, assert_type
 
import numpy as np
import numpy.typing as npt
 
f8: np.float64
f: float
 
# NOTE: Avoid importing the platform specific `np.float128` type
AR_i8: npt.NDArray[np.int64]
AR_i4: npt.NDArray[np.int32]
AR_f2: npt.NDArray[np.float16]
AR_f8: npt.NDArray[np.float64]
AR_f16: npt.NDArray[np.longdouble]
AR_c8: npt.NDArray[np.complex64]
AR_c16: npt.NDArray[np.complex128]
 
AR_LIKE_f: list[float]
 
class ComplexObj:
    real: slice
    imag: slice
 
assert_type(np.mintypecode(["f8"], typeset="qfQF"), str)
 
assert_type(np.real(ComplexObj()), slice)
assert_type(np.real(AR_f8), npt.NDArray[np.float64])
assert_type(np.real(AR_c16), npt.NDArray[np.float64])
assert_type(np.real(AR_LIKE_f), npt.NDArray[Any])
 
assert_type(np.imag(ComplexObj()), slice)
assert_type(np.imag(AR_f8), npt.NDArray[np.float64])
assert_type(np.imag(AR_c16), npt.NDArray[np.float64])
assert_type(np.imag(AR_LIKE_f), npt.NDArray[Any])
 
assert_type(np.iscomplex(f8), np.bool)
assert_type(np.iscomplex(AR_f8), npt.NDArray[np.bool])
assert_type(np.iscomplex(AR_LIKE_f), npt.NDArray[np.bool])
 
assert_type(np.isreal(f8), np.bool)
assert_type(np.isreal(AR_f8), npt.NDArray[np.bool])
assert_type(np.isreal(AR_LIKE_f), npt.NDArray[np.bool])
 
assert_type(np.iscomplexobj(f8), bool)
assert_type(np.isrealobj(f8), bool)
 
assert_type(np.nan_to_num(f8), np.float64)
assert_type(np.nan_to_num(f, copy=True), Any)
assert_type(np.nan_to_num(AR_f8, nan=1.5), npt.NDArray[np.float64])
assert_type(np.nan_to_num(AR_LIKE_f, posinf=9999), npt.NDArray[Any])
 
assert_type(np.real_if_close(AR_f8), npt.NDArray[np.float64])
assert_type(np.real_if_close(AR_c16), npt.NDArray[np.float64 | np.complex128])
assert_type(np.real_if_close(AR_c8), npt.NDArray[np.float32 | np.complex64])
assert_type(np.real_if_close(AR_LIKE_f), npt.NDArray[Any])
 
assert_type(np.typename("h"), Literal["short"])
assert_type(np.typename("B"), Literal["unsigned char"])
assert_type(np.typename("V"), Literal["void"])
assert_type(np.typename("S1"), Literal["character"])
 
assert_type(np.common_type(AR_i4), type[np.float64])
assert_type(np.common_type(AR_f2), type[np.float16])
assert_type(np.common_type(AR_f2, AR_i4), type[np.float64])
assert_type(np.common_type(AR_f16, AR_i4), type[np.longdouble])
assert_type(np.common_type(AR_c8, AR_f2), type[np.complex64])
assert_type(np.common_type(AR_f2, AR_c8, AR_i4), type[np.complexfloating])