11# see `scipy/stats/_biasedurn.pyx`
22
3- from typing import type_check_only
3+ from typing import Never , Self , type_check_only
44
55import numpy as np
66import optype as op
77import optype .numpy as onp
88
99@type_check_only
1010class _PyNCHypergeometric :
11- def __init__ ( self , / , n : op .CanInt , m : op .CanInt , N : op .CanInt , odds : op .CanFloat , accuracy : op .CanFloat ) -> None : ...
11+ def __new__ ( cls , / , n : op .CanInt , m : op .CanInt , N : op .CanInt , odds : op .CanFloat , accuracy : op .CanFloat ) -> Self : ...
1212 def mode (self , / ) -> int : ...
1313 def mean (self , / ) -> float : ...
1414 def variance (self , / ) -> float : ...
@@ -17,9 +17,14 @@ class _PyNCHypergeometric:
1717
1818###
1919
20- class _PyFishersNCHypergeometric (_PyNCHypergeometric ): ...
21- class _PyWalleniusNCHypergeometric (_PyNCHypergeometric ): ...
20+ # NOTE: These apprear to be broken, and will always raise `TypeError: no default __reduce__ due to non-trivial __cinit__`
21+ def __setstate_cython__ (self : Never , pyx_state : Never , / ) -> None : ... # undocumented
22+ def __reduce_cython__ (self : Never , / ) -> Never : ... # undocumented
2223
24+ class _PyFishersNCHypergeometric (_PyNCHypergeometric ): ... # undocumented
25+ class _PyWalleniusNCHypergeometric (_PyNCHypergeometric ): ... # undocumented
26+
27+ # undocumented
2328class _PyStochasticLib3 :
2429 def Random (self , / ) -> float : ...
2530 def SetAccuracy (self , / , accur : op .CanFloat ) -> None : ...
@@ -46,6 +51,3 @@ class _PyStochasticLib3:
4651 size : op .CanInt ,
4752 random_state : onp .random .RNG | None = None ,
4853 ) -> onp .Array1D [np .float64 ]: ...
49-
50- def __setstate_cython__ (self : object , pyx_state : object , / ) -> None : ...
51- def __reduce_cython__ (self : object ) -> None : ...
0 commit comments