@@ -906,8 +906,8 @@ class WaldRV(RandomVariable):
906
906
_print_name = ("Wald" , "\\ operatorname{Wald}" )
907
907
908
908
@classmethod
909
- def rng_fn (cls , rng , mu , lam , alpha , size ):
910
- return rng .wald (mu , lam , size = size ) + alpha
909
+ def rng_fn (cls , rng , mu , lam , alpha , size ) -> np . ndarray :
910
+ return np . asarray ( rng .wald (mu , lam , size = size ) + alpha )
911
911
912
912
913
913
wald = WaldRV ()
@@ -1137,8 +1137,8 @@ def logcdf(
1137
1137
1138
1138
class BetaClippedRV (BetaRV ):
1139
1139
@classmethod
1140
- def rng_fn (cls , rng , alpha , beta , size ):
1141
- return clipped_beta_rvs (alpha , beta , size = size , random_state = rng )
1140
+ def rng_fn (cls , rng , alpha , beta , size ) -> np . ndarray :
1141
+ return np . asarray ( clipped_beta_rvs (alpha , beta , size = size , random_state = rng ) )
1142
1142
1143
1143
1144
1144
beta = BetaClippedRV ()
@@ -1288,9 +1288,9 @@ class KumaraswamyRV(RandomVariable):
1288
1288
_print_name = ("Kumaraswamy" , "\\ operatorname{Kumaraswamy}" )
1289
1289
1290
1290
@classmethod
1291
- def rng_fn (cls , rng , a , b , size ):
1291
+ def rng_fn (cls , rng , a , b , size ) -> np . ndarray :
1292
1292
u = rng .uniform (size = size )
1293
- return ( 1 - (1 - u ) ** (1 / b )) ** (1 / a )
1293
+ return np . asarray (( 1 - (1 - u ) ** (1 / b )) ** (1 / a ) )
1294
1294
1295
1295
1296
1296
kumaraswamy = KumaraswamyRV ()
@@ -1596,13 +1596,13 @@ class AsymmetricLaplaceRV(RandomVariable):
1596
1596
_print_name = ("AsymmetricLaplace" , "\\ operatorname{AsymmetricLaplace}" )
1597
1597
1598
1598
@classmethod
1599
- def rng_fn (cls , rng , b , kappa , mu , size = None ):
1599
+ def rng_fn (cls , rng , b , kappa , mu , size = None ) -> np . ndarray :
1600
1600
u = rng .uniform (size = size )
1601
1601
switch = kappa ** 2 / (1 + kappa ** 2 )
1602
1602
non_positive_x = mu + kappa * np .log (u * (1 / switch )) / b
1603
1603
positive_x = mu - np .log ((1 - u ) * (1 + kappa ** 2 )) / (kappa * b )
1604
1604
draws = non_positive_x * (u <= switch ) + positive_x * (u > switch )
1605
- return draws
1605
+ return np . asarray ( draws )
1606
1606
1607
1607
1608
1608
asymmetriclaplace = AsymmetricLaplaceRV ()
@@ -1811,8 +1811,8 @@ class StudentTRV(RandomVariable):
1811
1811
_print_name = ("StudentT" , "\\ operatorname{StudentT}" )
1812
1812
1813
1813
@classmethod
1814
- def rng_fn (cls , rng , nu , mu , sigma , size = None ):
1815
- return stats .t .rvs (nu , mu , sigma , size = size , random_state = rng )
1814
+ def rng_fn (cls , rng , nu , mu , sigma , size = None ) -> np . ndarray :
1815
+ return np . asarray ( stats .t .rvs (nu , mu , sigma , size = size , random_state = rng ) )
1816
1816
1817
1817
1818
1818
studentt = StudentTRV ()
@@ -2538,8 +2538,8 @@ class WeibullBetaRV(WeibullRV):
2538
2538
ndims_params = [0 , 0 ]
2539
2539
2540
2540
@classmethod
2541
- def rng_fn (cls , rng , alpha , beta , size ):
2542
- return beta * rng .weibull (alpha , size = size )
2541
+ def rng_fn (cls , rng , alpha , beta , size ) -> np . ndarray :
2542
+ return np . asarray ( beta * rng .weibull (alpha , size = size ) )
2543
2543
2544
2544
2545
2545
weibull_beta = WeibullBetaRV ()
@@ -2642,8 +2642,8 @@ class HalfStudentTRV(RandomVariable):
2642
2642
_print_name = ("HalfStudentT" , "\\ operatorname{HalfStudentT}" )
2643
2643
2644
2644
@classmethod
2645
- def rng_fn (cls , rng , nu , sigma , size = None ):
2646
- return np .abs (stats .t .rvs (nu , sigma , size = size , random_state = rng ))
2645
+ def rng_fn (cls , rng , nu , sigma , size = None ) -> np . ndarray :
2646
+ return np .asarray ( np . abs (stats .t .rvs (nu , sigma , size = size , random_state = rng ) ))
2647
2647
2648
2648
2649
2649
halfstudentt = HalfStudentTRV ()
@@ -2770,8 +2770,8 @@ class ExGaussianRV(RandomVariable):
2770
2770
_print_name = ("ExGaussian" , "\\ operatorname{ExGaussian}" )
2771
2771
2772
2772
@classmethod
2773
- def rng_fn (cls , rng , mu , sigma , nu , size = None ):
2774
- return rng .normal (mu , sigma , size = size ) + rng .exponential (scale = nu , size = size )
2773
+ def rng_fn (cls , rng , mu , sigma , nu , size = None ) -> np . ndarray :
2774
+ return np . asarray ( rng .normal (mu , sigma , size = size ) + rng .exponential (scale = nu , size = size ) )
2775
2775
2776
2776
2777
2777
exgaussian = ExGaussianRV ()
@@ -3007,8 +3007,10 @@ class SkewNormalRV(RandomVariable):
3007
3007
_print_name = ("SkewNormal" , "\\ operatorname{SkewNormal}" )
3008
3008
3009
3009
@classmethod
3010
- def rng_fn (cls , rng , mu , sigma , alpha , size = None ):
3011
- return stats .skewnorm .rvs (a = alpha , loc = mu , scale = sigma , size = size , random_state = rng )
3010
+ def rng_fn (cls , rng , mu , sigma , alpha , size = None ) -> np .ndarray :
3011
+ return np .asarray (
3012
+ stats .skewnorm .rvs (a = alpha , loc = mu , scale = sigma , size = size , random_state = rng )
3013
+ )
3012
3014
3013
3015
3014
3016
skewnormal = SkewNormalRV ()
@@ -3333,8 +3335,8 @@ class RiceRV(RandomVariable):
3333
3335
_print_name = ("Rice" , "\\ operatorname{Rice}" )
3334
3336
3335
3337
@classmethod
3336
- def rng_fn (cls , rng , b , sigma , size = None ):
3337
- return stats .rice .rvs (b = b , scale = sigma , size = size , random_state = rng )
3338
+ def rng_fn (cls , rng , b , sigma , size = None ) -> np . ndarray :
3339
+ return np . asarray ( stats .rice .rvs (b = b , scale = sigma , size = size , random_state = rng ) )
3338
3340
3339
3341
3340
3342
rice = RiceRV ()
@@ -3560,8 +3562,8 @@ class LogitNormalRV(RandomVariable):
3560
3562
_print_name = ("logitNormal" , "\\ operatorname{logitNormal}" )
3561
3563
3562
3564
@classmethod
3563
- def rng_fn (cls , rng , mu , sigma , size = None ):
3564
- return expit (stats .norm .rvs (loc = mu , scale = sigma , size = size , random_state = rng ))
3565
+ def rng_fn (cls , rng , mu , sigma , size = None ) -> np . ndarray :
3566
+ return np . asarray ( expit (stats .norm .rvs (loc = mu , scale = sigma , size = size , random_state = rng ) ))
3565
3567
3566
3568
3567
3569
logit_normal = LogitNormalRV ()
@@ -3684,9 +3686,9 @@ class InterpolatedRV(RandomVariable):
3684
3686
_print_name = ("Interpolated" , "\\ operatorname{Interpolated}" )
3685
3687
3686
3688
@classmethod
3687
- def rng_fn (cls , rng , x , pdf , cdf , size = None ):
3689
+ def rng_fn (cls , rng , x , pdf , cdf , size = None ) -> np . ndarray :
3688
3690
p = rng .uniform (size = size )
3689
- return _interpolated_argcdf (p , pdf , cdf , x )
3691
+ return np . asarray ( _interpolated_argcdf (p , pdf , cdf , x ) )
3690
3692
3691
3693
3692
3694
interpolated = InterpolatedRV ()
@@ -3821,8 +3823,8 @@ class MoyalRV(RandomVariable):
3821
3823
_print_name = ("Moyal" , "\\ operatorname{Moyal}" )
3822
3824
3823
3825
@classmethod
3824
- def rng_fn (cls , rng , mu , sigma , size = None ):
3825
- return stats .moyal .rvs (mu , sigma , size = size , random_state = rng )
3826
+ def rng_fn (cls , rng , mu , sigma , size = None ) -> np . ndarray :
3827
+ return np . asarray ( stats .moyal .rvs (mu , sigma , size = size , random_state = rng ) )
3826
3828
3827
3829
3828
3830
moyal = MoyalRV ()
@@ -3948,7 +3950,7 @@ def __call__(self, h=1.0, z=0.0, size=None, **kwargs):
3948
3950
return super ().__call__ (h , z , size = size , ** kwargs )
3949
3951
3950
3952
@classmethod
3951
- def rng_fn (cls , rng , h , z , size = None ):
3953
+ def rng_fn (cls , rng , h , z , size = None ) -> np . ndarray :
3952
3954
"""
3953
3955
Generate a random sample from the distribution with the given parameters
3954
3956
@@ -3976,7 +3978,9 @@ def rng_fn(cls, rng, h, z, size=None):
3976
3978
"""
3977
3979
# handle the kind of rng passed to the sampler
3978
3980
bg = rng ._bit_generator if isinstance (rng , np .random .RandomState ) else rng
3979
- return random_polyagamma (h , z , size = size , random_state = bg ).astype (aesara .config .floatX )
3981
+ return np .asarray (
3982
+ random_polyagamma (h , z , size = size , random_state = bg ).astype (aesara .config .floatX )
3983
+ )
3980
3984
3981
3985
3982
3986
polyagamma = PolyaGammaRV ()
0 commit comments