| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -862,6 +862,24 @@ class dtype(Generic[_DTypeScalar]): | |||
| 862 | 862 | align: bool = ..., | |
| 863 | 863 | copy: bool = ..., | |
| 864 | 864 | ) -> dtype[void]: ... | |
| 865 | + | ||
| 866 | + @overload | ||
| 867 | + def __getitem__(self: dtype[void], key: List[str]) -> dtype[void]: ... | ||
| 868 | + @overload | ||
| 869 | + def __getitem__(self: dtype[void], key: Union[str, int]) -> dtype[Any]: ... | ||
| 870 | + | ||
| 871 | + # NOTE: In the future 1-based multiplications will also yield `void` dtypes | ||
| 872 | + @overload | ||
| 873 | + def __mul__(self, value: Literal[0]) -> None: ... # type: ignore[misc] | ||
| 874 | + @overload | ||
| 875 | + def __mul__(self, value: Literal[1]) -> dtype[_DTypeScalar]: ... | ||
| 876 | + @overload | ||
| 877 | + def __mul__(self, value: int) -> dtype[void]: ... | ||
| 878 | + | ||
| 879 | + # NOTE: `__rmul__` seems to be broken when used in combination with | ||
| 880 | + # literals as of mypy 0.800. Set the return-type to `Any` for now. | ||
| 881 | + def __rmul__(self, value: int) -> Any: ... | ||
| 882 | + | ||
| 865 | 883 | def __eq__(self, other: DTypeLike) -> bool: ... | |
| 866 | 884 | def __ne__(self, other: DTypeLike) -> bool: ... | |
| 867 | 885 | def __gt__(self, other: DTypeLike) -> bool: ... | |
@@ -901,6 +919,8 @@ class dtype(Generic[_DTypeScalar]): | |||
| 901 | 919 | @property | |
| 902 | 920 | def name(self) -> str: ... | |
| 903 | 921 | @property | |
| 922 | + def names(self) -> Optional[Tuple[str, ...]]: ... | ||
| 923 | + @property | ||
| 904 | 924 | def num(self) -> int: ... | |
| 905 | 925 | @property | |
| 906 | 926 | def shape(self) -> _Shape: ... | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,5 +1,8 @@ | |||
| 1 | 1 | import numpy as np | |
| 2 | 2 | ||
| 3 | + dtype_obj = np.dtype(np.str_) | ||
| 4 | + void_dtype_obj = np.dtype([("f0", np.float64), ("f1", np.float32)]) | ||
| 5 | + | ||
| 3 | 6 | np.dtype(dtype=np.int64) | |
| 4 | 7 | np.dtype(int) | |
| 5 | 8 | np.dtype("int") | |
@@ -33,3 +36,16 @@ class Test: | |||
| 33 | 36 | ||
| 34 | 37 | ||
| 35 | 38 | np.dtype(Test()) | |
| 39 | + | ||
| 40 | + dtype_obj.names | ||
| 41 | + | ||
| 42 | + dtype_obj * 0 | ||
| 43 | + dtype_obj * 2 | ||
| 44 | + | ||
| 45 | + 0 * dtype_obj | ||
| 46 | + 2 * dtype_obj | ||
| 47 | + | ||
| 48 | + void_dtype_obj["f0"] | ||
| 49 | + void_dtype_obj[0] | ||
| 50 | + void_dtype_obj[["f0", "f1"]] | ||
| 51 | + void_dtype_obj[["f0"]] | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,5 +1,8 @@ | |||
| 1 | 1 | import numpy as np | |
| 2 | 2 | ||
| 3 | + dtype_obj: np.dtype[np.str_] | ||
| 4 | + void_dtype_obj: np.dtype[np.void] | ||
| 5 | + | ||
| 3 | 6 | reveal_type(np.dtype(np.float64)) # E: numpy.dtype[numpy.floating[numpy.typing._64Bit]] | |
| 4 | 7 | reveal_type(np.dtype(np.int64)) # E: numpy.dtype[numpy.signedinteger[numpy.typing._64Bit]] | |
| 5 | 8 | ||
@@ -31,3 +34,19 @@ | |||
| 31 | 34 | ||
| 32 | 35 | # Void | |
| 33 | 36 | reveal_type(np.dtype(("U", 10))) # E: numpy.dtype[numpy.void] | |
| 37 | + | ||
| 38 | + reveal_type(dtype_obj.name) # E: str | ||
| 39 | + reveal_type(dtype_obj.names) # E: Union[builtins.tuple[builtins.str], None] | ||
| 40 | + | ||
| 41 | + reveal_type(dtype_obj * 0) # E: None | ||
| 42 | + reveal_type(dtype_obj * 1) # E: numpy.dtype[numpy.str_] | ||
| 43 | + reveal_type(dtype_obj * 2) # E: numpy.dtype[numpy.void] | ||
| 44 | + | ||
| 45 | + reveal_type(0 * dtype_obj) # E: Any | ||
| 46 | + reveal_type(1 * dtype_obj) # E: Any | ||
| 47 | + reveal_type(2 * dtype_obj) # E: Any | ||
| 48 | + | ||
| 49 | + reveal_type(void_dtype_obj["f0"]) # E: numpy.dtype[Any] | ||
| 50 | + reveal_type(void_dtype_obj[0]) # E: numpy.dtype[Any] | ||
| 51 | + reveal_type(void_dtype_obj[["f0", "f1"]]) # E: numpy.dtype[numpy.void] | ||
| 52 | + reveal_type(void_dtype_obj[["f0"]]) # E: numpy.dtype[numpy.void] | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments