File tree Expand file tree Collapse file tree 4 files changed +27
-0
lines changed Expand file tree Collapse file tree 4 files changed +27
-0
lines changed Original file line number Diff line number Diff line change 66 "HasDType" ,
77 "HasDevice" ,
88 "HasMatrixTranspose" ,
9+ "HasNDim" ,
910 "__version__" ,
1011 "__version_tuple__" ,
1112)
1617 HasDevice ,
1718 HasDType ,
1819 HasMatrixTranspose ,
20+ HasNDim ,
1921)
2022from ._version import version as __version__ , version_tuple as __version_tuple__
Original file line number Diff line number Diff line change 44 "HasDType" ,
55 "HasDevice" ,
66 "HasMatrixTranspose" ,
7+ "HasNDim" ,
78)
89
910from types import ModuleType
@@ -100,11 +101,26 @@ def mT(self) -> Self: # noqa: N802
100101 ...
101102
102103
104+ class HasNDim (Protocol ):
105+ """Protocol for array classes that have a number of dimensions attribute."""
106+
107+ @property
108+ def ndim (self ) -> int :
109+ """Number of array dimensions (axes).
110+
111+ Returns:
112+ int: number of array dimensions (axes).
113+
114+ """
115+ ...
116+
117+
103118class Array (
104119 # ------ Attributes -------
105120 HasDType [DTypeT_co ],
106121 HasDevice ,
107122 HasMatrixTranspose ,
123+ HasNDim ,
108124 # ------- Methods ---------
109125 HasArrayNamespace [NamespaceT_co ],
110126 # -------------------------
Original file line number Diff line number Diff line change @@ -63,3 +63,7 @@ _: object = x_i32.device
6363# Check Attribute `.mT`
6464_ : xpt .Array [dtype [Any ]] = x_f32 .mT
6565_ : xpt .Array [dtype [Any ]] = x_i32 .mT
66+
67+ # Check Attribute `.ndim`
68+ _ : int = x_f32 .ndim
69+ _ : int = x_i32 .ndim
Original file line number Diff line number Diff line change @@ -71,3 +71,8 @@ _: object = x_b.device
7171_ : xpt .Array [np .dtype [F32 ]] = x_f32 .mT
7272_ : xpt .Array [np .dtype [I32 ]] = x_i32 .mT
7373_ : xpt .Array [np .dtype [B ]] = x_b .mT
74+
75+ # Check Attribute `.ndim`
76+ _ : int = x_f32 .ndim
77+ _ : int = x_i32 .ndim
78+ _ : int = x_b .ndim
You can’t perform that action at this time.
0 commit comments