@@ -87,26 +87,25 @@ __all__ = [
8787
8888###
8989
90- _SCT = TypeVar ("_SCT" , bound = np .generic , default = np . generic )
90+ _SCT = TypeVar ("_SCT" , bound = np .generic )
9191
9292_SCT_float = TypeVar ("_SCT_float" , bound = npc .floating , default = npc .floating )
9393_SCT_real = TypeVar ("_SCT_real" , bound = _Real0D , default = _Real0D )
9494_SCT_real_co = TypeVar ("_SCT_real_co" , covariant = True , bound = _Real0D , default = _Real0D )
9595
96- _AsFloat64 : TypeAlias = float | np .float64
9796_Real0D : TypeAlias = npc .integer | npc .floating
9897
9998_ScalarOrND : TypeAlias = _SCT | onp .ArrayND [_SCT ]
10099_FloatOrND : TypeAlias = _ScalarOrND [_SCT_float ]
101100_RealOrND : TypeAlias = _ScalarOrND [_SCT_real ]
102101
103- _NDT_int_co = TypeVar ("_NDT_int_co " , bound = int | _ScalarOrND [npc .integer ], default = int | _ScalarOrND [np .intp ], covariant = True )
104- _NDT_float = TypeVar ("_NDT_float " , bound = float | _ScalarOrND [npc .floating ], default = float | _ScalarOrND [ np . float64 ])
105- _NDT_float_co = TypeVar (
106- "_NDT_float_co " , bound = float | _ScalarOrND [npc .floating ], default = float | _ScalarOrND [np .float64 ], covariant = True
102+ _IntOrArrayT_co = TypeVar ("_IntOrArrayT_co " , bound = _ScalarOrND [npc .integer ], default = _ScalarOrND [np .intp ], covariant = True )
103+ _FloatOrArrayT = TypeVar ("_FloatOrArrayT " , bound = _ScalarOrND [npc .floating ])
104+ _FloatOrArrayT_co = TypeVar (
105+ "_FloatOrArrayT_co " , bound = float | _ScalarOrND [npc .floating ], default = float | onp . ArrayND [np .float64 ], covariant = True
107106)
108- _NDT_real_co = TypeVar (
109- "_NDT_real_co " , bound = float | _ScalarOrND [_Real0D ], default = float | _ScalarOrND [np .intp | np .float64 ], covariant = True
107+ _RealOrArrayT_co = TypeVar (
108+ "_RealOrArrayT_co " , bound = _ScalarOrND [_Real0D ], default = _ScalarOrND [np .intp | np .float64 ], covariant = True
110109)
111110
112111_InterpolationMethod : TypeAlias = L ["linear" , "lower" , "higher" , "nearest" , "midpoint" ]
@@ -132,47 +131,47 @@ class _MADCenterFunc(Protocol):
132131 def __call__ (self , x : onp .Array1D [np .float64 ], / , * , axis : int | None ) -> onp .ToFloat : ...
133132
134133@type_check_only
135- class _TestResultTuple (NamedTuple , Generic [_NDT_float_co ]):
136- statistic : _NDT_float_co
137- pvalue : _NDT_float_co
134+ class _TestResultTuple (NamedTuple , Generic [_FloatOrArrayT_co ]):
135+ statistic : _FloatOrArrayT_co
136+ pvalue : _FloatOrArrayT_co
138137
139138@type_check_only
140- class _TestResultBunch (BaseBunch [_NDT_float_co , _NDT_float_co ], Generic [_NDT_float_co ]): # pyright: ignore[reportInvalidTypeArguments]
139+ class _TestResultBunch (BaseBunch [_FloatOrArrayT_co , _FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): # pyright: ignore[reportInvalidTypeArguments]
141140 @property
142- def statistic (self , / ) -> _NDT_float_co : ...
141+ def statistic (self , / ) -> _FloatOrArrayT_co : ...
143142 @property
144- def pvalue (self , / ) -> _NDT_float_co : ...
145- def __new__ (_cls , statistic : _NDT_float_co , pvalue : _NDT_float_co ) -> Self : ...
146- def __init__ (self , / , statistic : _NDT_float_co , pvalue : _NDT_float_co ) -> None : ...
143+ def pvalue (self , / ) -> _FloatOrArrayT_co : ...
144+ def __new__ (_cls , statistic : _FloatOrArrayT_co , pvalue : _FloatOrArrayT_co ) -> Self : ...
145+ def __init__ (self , / , statistic : _FloatOrArrayT_co , pvalue : _FloatOrArrayT_co ) -> None : ...
147146
148147###
149148
150- class SkewtestResult (_TestResultTuple [_NDT_float_co ], Generic [_NDT_float_co ]): ...
151- class KurtosistestResult (_TestResultTuple [_NDT_float_co ], Generic [_NDT_float_co ]): ...
152- class NormaltestResult (_TestResultTuple [_NDT_float_co ], Generic [_NDT_float_co ]): ...
153- class Ttest_indResult (_TestResultTuple [_NDT_float_co ], Generic [_NDT_float_co ]): ...
154- class Power_divergenceResult (_TestResultTuple [_NDT_float_co ], Generic [_NDT_float_co ]): ...
155- class RanksumsResult (_TestResultTuple [_NDT_float_co ], Generic [_NDT_float_co ]): ...
156- class KruskalResult (_TestResultTuple [_NDT_float_co ], Generic [_NDT_float_co ]): ...
157- class FriedmanchisquareResult (_TestResultTuple [_NDT_float_co ], Generic [_NDT_float_co ]): ...
158- class BrunnerMunzelResult (_TestResultTuple [_NDT_float_co ], Generic [_NDT_float_co ]): ...
159- class F_onewayResult (_TestResultTuple [_NDT_float_co ], Generic [_NDT_float_co ]): ...
160-
161- class ConfidenceInterval (NamedTuple , Generic [_NDT_float_co ]):
162- low : _NDT_float_co
163- high : _NDT_float_co
164-
165- class DescribeResult (NamedTuple , Generic [_NDT_real_co , _NDT_float_co ]):
149+ class SkewtestResult (_TestResultTuple [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
150+ class KurtosistestResult (_TestResultTuple [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
151+ class NormaltestResult (_TestResultTuple [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
152+ class Ttest_indResult (_TestResultTuple [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
153+ class Power_divergenceResult (_TestResultTuple [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
154+ class RanksumsResult (_TestResultTuple [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
155+ class KruskalResult (_TestResultTuple [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
156+ class FriedmanchisquareResult (_TestResultTuple [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
157+ class BrunnerMunzelResult (_TestResultTuple [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
158+ class F_onewayResult (_TestResultTuple [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
159+
160+ class ConfidenceInterval (NamedTuple , Generic [_FloatOrArrayT_co ]):
161+ low : _FloatOrArrayT_co
162+ high : _FloatOrArrayT_co
163+
164+ class DescribeResult (NamedTuple , Generic [_RealOrArrayT_co , _FloatOrArrayT_co ]):
166165 nobs : int
167- minmax : tuple [_NDT_real_co , _NDT_real_co ]
168- mean : _NDT_float_co
169- variance : _NDT_float_co
170- skewness : _NDT_float_co
171- kurtosis : _NDT_float_co
166+ minmax : tuple [_RealOrArrayT_co , _RealOrArrayT_co ]
167+ mean : _FloatOrArrayT_co
168+ variance : _FloatOrArrayT_co
169+ skewness : _FloatOrArrayT_co
170+ kurtosis : _FloatOrArrayT_co
172171
173- class ModeResult (NamedTuple , Generic [_NDT_real_co , _NDT_int_co ]):
174- mode : _NDT_real_co
175- count : _NDT_int_co # type: ignore[assignment] # pyright: ignore[reportIncompatibleMethodOverride]
172+ class ModeResult (NamedTuple , Generic [_RealOrArrayT_co , _IntOrArrayT_co ]):
173+ mode : _RealOrArrayT_co
174+ count : _IntOrArrayT_co # type: ignore[assignment] # pyright: ignore[reportIncompatibleMethodOverride]
176175
177176class HistogramResult (NamedTuple ):
178177 count : onp .Array1D [np .float64 ] # type: ignore[assignment] # pyright: ignore[reportIncompatibleMethodOverride]
@@ -192,10 +191,10 @@ class RelfreqResult(NamedTuple):
192191 binsize : onp .Array1D [np .float64 ]
193192 extrapoints : int
194193
195- class SigmaclipResult (NamedTuple , Generic [_SCT_real_co , _NDT_float_co ]):
194+ class SigmaclipResult (NamedTuple , Generic [_SCT_real_co , _FloatOrArrayT_co ]):
196195 clipped : onp .Array1D [_SCT_real_co ]
197- lower : _NDT_float_co
198- upper : _NDT_float_co
196+ lower : _FloatOrArrayT_co
197+ upper : _FloatOrArrayT_co
199198
200199class RepeatedResults (NamedTuple ):
201200 values : onp .Array1D [np .float64 ]
@@ -216,21 +215,21 @@ class QuantileTestResult:
216215 _p : float
217216 def confidence_interval (self , / , confidence_level : float = 0.95 ) -> float : ...
218217
219- class SignificanceResult (_TestResultBunch [_NDT_float_co ], Generic [_NDT_float_co ]): ...
220- class PearsonRResultBase (_TestResultBunch [_NDT_float_co ], Generic [_NDT_float_co ]): ...
218+ class SignificanceResult (_TestResultBunch [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
219+ class PearsonRResultBase (_TestResultBunch [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]): ...
221220
222- class PearsonRResult (PearsonRResultBase [_NDT_float_co ], Generic [_NDT_float_co ]):
221+ class PearsonRResult (PearsonRResultBase [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]):
223222 _alternative : Alternative
224223 _n : int
225224 _x : onp .ArrayND [_Real0D ]
226225 _y : onp .ArrayND [_Real0D ]
227226 _axis : int
228- correlation : _NDT_float_co # alias for `statistic`
227+ correlation : _FloatOrArrayT_co # alias for `statistic`
229228 def __init__ ( # pyright: ignore[reportInconsistentConstructor]
230229 self ,
231230 / ,
232- statistic : _NDT_float_co ,
233- pvalue : _NDT_float_co ,
231+ statistic : _FloatOrArrayT_co ,
232+ pvalue : _FloatOrArrayT_co ,
234233 alternative : Alternative ,
235234 n : int ,
236235 x : onp .ArrayND [_Real0D ],
@@ -239,35 +238,35 @@ class PearsonRResult(PearsonRResultBase[_NDT_float_co], Generic[_NDT_float_co]):
239238 ) -> None : ...
240239 def confidence_interval (
241240 self , / , confidence_level : float = 0.95 , method : BootstrapMethod | None = None
242- ) -> ConfidenceInterval [_NDT_float_co ]: ...
241+ ) -> ConfidenceInterval [_FloatOrArrayT_co ]: ...
243242
244- class TtestResultBase (_TestResultBunch [_NDT_float_co ], Generic [_NDT_float_co ]):
243+ class TtestResultBase (_TestResultBunch [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]):
245244 @property
246- def df (self , / ) -> _NDT_float_co : ...
247- def __new__ (_cls , statistic : _NDT_float_co , pvalue : _NDT_float_co , * , df : _NDT_float_co ) -> Self : ...
248- def __init__ (self , / , statistic : _NDT_float_co , pvalue : _NDT_float_co , * , df : _NDT_float_co ) -> None : ...
245+ def df (self , / ) -> _FloatOrArrayT_co : ...
246+ def __new__ (_cls , statistic : _FloatOrArrayT_co , pvalue : _FloatOrArrayT_co , * , df : _FloatOrArrayT_co ) -> Self : ...
247+ def __init__ (self , / , statistic : _FloatOrArrayT_co , pvalue : _FloatOrArrayT_co , * , df : _FloatOrArrayT_co ) -> None : ...
249248
250- class TtestResult (TtestResultBase [_NDT_float_co ], Generic [_NDT_float_co ]):
249+ class TtestResult (TtestResultBase [_FloatOrArrayT_co ], Generic [_FloatOrArrayT_co ]):
251250 _alternative : Alternative
252- _standard_error : _NDT_float_co
253- _estimate : _NDT_float_co
254- _statistic_np : _NDT_float_co
251+ _standard_error : _FloatOrArrayT_co
252+ _estimate : _FloatOrArrayT_co
253+ _statistic_np : _FloatOrArrayT_co
255254 _dtype : np .dtype [npc .floating ]
256255 _xp : ModuleType
257256
258257 def __init__ ( # pyright: ignore[reportInconsistentConstructor]
259258 self ,
260259 / ,
261- statistic : _NDT_float_co ,
262- pvalue : _NDT_float_co ,
263- df : _NDT_float_co ,
260+ statistic : _FloatOrArrayT_co ,
261+ pvalue : _FloatOrArrayT_co ,
262+ df : _FloatOrArrayT_co ,
264263 alternative : Alternative ,
265- standard_error : _NDT_float_co ,
266- estimate : _NDT_float_co ,
267- statistic_np : _NDT_float_co | None = None ,
264+ standard_error : _FloatOrArrayT_co ,
265+ estimate : _FloatOrArrayT_co ,
266+ statistic_np : _FloatOrArrayT_co | None = None ,
268267 xp : ModuleType | None = None ,
269268 ) -> None : ...
270- def confidence_interval (self , / , confidence_level : float = 0.95 ) -> ConfidenceInterval [_NDT_float_co ]: ...
269+ def confidence_interval (self , / , confidence_level : float = 0.95 ) -> ConfidenceInterval [_FloatOrArrayT_co ]: ...
271270
272271class KstestResult (_TestResultBunch [np .float64 ]):
273272 @property
@@ -284,43 +283,45 @@ class KstestResult(_TestResultBunch[np.float64]):
284283Ks_2sampResult = KstestResult
285284
286285class LinregressResult (
287- BunchMixin [tuple [_NDT_float_co , _NDT_float_co , _NDT_float_co , _NDT_float_co , _NDT_float_co , _NDT_float_co ]],
288- tuple [_NDT_float_co , _NDT_float_co , _NDT_float_co , _NDT_float_co , _NDT_float_co , _NDT_float_co ],
289- Generic [_NDT_float_co ],
286+ BunchMixin [
287+ tuple [_FloatOrArrayT_co , _FloatOrArrayT_co , _FloatOrArrayT_co , _FloatOrArrayT_co , _FloatOrArrayT_co , _FloatOrArrayT_co ]
288+ ],
289+ tuple [_FloatOrArrayT_co , _FloatOrArrayT_co , _FloatOrArrayT_co , _FloatOrArrayT_co , _FloatOrArrayT_co , _FloatOrArrayT_co ],
290+ Generic [_FloatOrArrayT_co ],
290291):
291292 def __new__ (
292293 _cls ,
293- slope : _NDT_float_co ,
294- intercept : _NDT_float_co ,
295- rvalue : _NDT_float_co ,
296- pvalue : _NDT_float_co ,
297- stderr : _NDT_float_co ,
294+ slope : _FloatOrArrayT_co ,
295+ intercept : _FloatOrArrayT_co ,
296+ rvalue : _FloatOrArrayT_co ,
297+ pvalue : _FloatOrArrayT_co ,
298+ stderr : _FloatOrArrayT_co ,
298299 * ,
299- intercept_stderr : _NDT_float_co ,
300+ intercept_stderr : _FloatOrArrayT_co ,
300301 ) -> Self : ...
301302 def __init__ (
302303 self ,
303304 / ,
304- slope : _NDT_float_co ,
305- intercept : _NDT_float_co ,
306- rvalue : _NDT_float_co ,
307- pvalue : _NDT_float_co ,
308- stderr : _NDT_float_co ,
305+ slope : _FloatOrArrayT_co ,
306+ intercept : _FloatOrArrayT_co ,
307+ rvalue : _FloatOrArrayT_co ,
308+ pvalue : _FloatOrArrayT_co ,
309+ stderr : _FloatOrArrayT_co ,
309310 * ,
310- intercept_stderr : _NDT_float_co ,
311+ intercept_stderr : _FloatOrArrayT_co ,
311312 ) -> None : ...
312313 @property
313- def slope (self , / ) -> _NDT_float_co : ...
314+ def slope (self , / ) -> _FloatOrArrayT_co : ...
314315 @property
315- def intercept (self , / ) -> _NDT_float_co : ...
316+ def intercept (self , / ) -> _FloatOrArrayT_co : ...
316317 @property
317- def rvalue (self , / ) -> _NDT_float_co : ...
318+ def rvalue (self , / ) -> _FloatOrArrayT_co : ...
318319 @property
319- def pvalue (self , / ) -> _NDT_float_co : ...
320+ def pvalue (self , / ) -> _FloatOrArrayT_co : ...
320321 @property
321- def stderr (self , / ) -> _NDT_float_co : ...
322+ def stderr (self , / ) -> _FloatOrArrayT_co : ...
322323 @property
323- def intercept_stderr (self , / ) -> _NDT_float_co : ...
324+ def intercept_stderr (self , / ) -> _FloatOrArrayT_co : ...
324325
325326def gmean (
326327 a : onp .ToFloatND ,
@@ -499,7 +500,7 @@ def percentileofscore(
499500 score : onp .ToFloat | onp .ToFloatND ,
500501 kind : L ["rank" , "weak" , "strict" , "mean" ] = "rank" ,
501502 nan_policy : NanPolicy = "propagate" ,
502- ) -> _AsFloat64 : ...
503+ ) -> np . float64 : ...
503504
504505#
505506def cumfreq (
@@ -822,24 +823,24 @@ def weightedtau(
822823
823824#
824825def pack_TtestResult (
825- statistic : _NDT_float ,
826- pvalue : _NDT_float ,
827- df : _NDT_float ,
826+ statistic : _FloatOrArrayT ,
827+ pvalue : _FloatOrArrayT ,
828+ df : _FloatOrArrayT ,
828829 alternative : Alternative ,
829- standard_error : _NDT_float ,
830- estimate : _NDT_float ,
831- ) -> TtestResult [_NDT_float ]: ... # undocumented
830+ standard_error : _FloatOrArrayT ,
831+ estimate : _FloatOrArrayT ,
832+ ) -> TtestResult [_FloatOrArrayT ]: ... # undocumented
832833
833834#
834835def unpack_TtestResult (
835- res : TtestResult [_NDT_float ], _ : int
836+ res : TtestResult [_FloatOrArrayT ], _ : int
836837) -> tuple [
837- _NDT_float , # statistic
838- _NDT_float , # pvalue
839- _NDT_float , # df
838+ _FloatOrArrayT , # statistic
839+ _FloatOrArrayT , # pvalue
840+ _FloatOrArrayT , # df
840841 Alternative , # _alternative
841- _NDT_float , # _standard_error
842- _NDT_float , # _estimate
842+ _FloatOrArrayT , # _standard_error
843+ _FloatOrArrayT , # _estimate
843844]: ... # undocumented
844845
845846#
@@ -1104,7 +1105,7 @@ def kstest(
11041105) -> KstestResult : ...
11051106
11061107#
1107- def tiecorrect (rankvals : onp .ToInt | onp . ToIntND ) -> _AsFloat64 : ...
1108+ def tiecorrect (rankvals : onp .ToIntND ) -> float : ...
11081109
11091110#
11101111def ranksums (
@@ -1160,7 +1161,7 @@ def wasserstein_distance_nd(
11601161 v_values : onp .ToFloatND ,
11611162 u_weights : onp .ToFloatND | None = None ,
11621163 v_weights : onp .ToFloatND | None = None ,
1163- ) -> _AsFloat64 : ...
1164+ ) -> np . float64 : ...
11641165def wasserstein_distance (
11651166 u_values : onp .ToFloatND ,
11661167 v_values : onp .ToFloatND ,
0 commit comments