+
    eiN c                   s   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	H
t
 ^ RIHtHtHtHtHtHtHtHtHt RR@RRARRBRRAR	^]P*                  ! ^4      R
,          3RRCRRDRRE/t]P.                  ! ]P0                  4      P2                  RF8  d   RRRRRRRRR	RRRRRRR/tMRRRRRRRRR	RRRRRRR/t]P6                  ! R]R7      R  4       t]P6                  R! 4       tR" t ! R# R$4      t ! R% R&4      t  ! R' R(4      t! ! R) R*4      t" ! R+ R,4      t# ! R- R.4      t$ ! R/ R04      t%]PL                  PO                  ]R1R27       ! R3 R44      4       t( ! R5 R64      t)R7 t*R8 t+R9 t,R: t-R; t.R< t/R= t0R> t1R? t2R# )G    N)random)MT19937PCG64)	IS_WASMassert_assert_array_almost_equalassert_array_equalassert_equalassert_no_warningsassert_raisesassert_warnssuppress_warningsbinomial	geometrichypergeometric	logseriesmultinomialg      @negative_binomialpoissonzipfZ@2fbead005fc63942decb5326d36a1f32fe2c9d32c904ee61e46866b88447c263Z@23ead5dcde35d4cfd4ef2c105e4c3d43304b45dc1b1444b7823b9ee4fa144ebbZ@0d764db64f5c3bad48c8c33551c13b4d07a1e7b470f77629bef6c985cac76fcfZ@7b59bf2f1691626c5815cdcd9a49e1dd68697251d4521575219e4d2a1b8b2c67Z@d754fa5b92943a38ec07630de92362dd2e02c43577fc147417dc5b9db94ccdd3Z@8eb216f7cb2a63cf55605422845caaff002fddc64a7dc8b2d45acd477a49e824Z@70c891d76104013ebd6f6bcf30d403a9074b886ff62e4e6b8eb605bf1a4673b7Z@01f074f97517cd5d21747148ac6ca4074dde7fcb7acbaec0a936606fecacd93fZ@8626dd9d052cb608e93d8868de0a7b347258b199493871a1dc56e2a26cacb112Z@8edd53d272e49c4fc8fbbe6c7d08d563d62e482921f3131d0a0e068af30f0db9Z@83496cc4281c77b786c9b7ad88b74d42e01603a55c60577ebab81c3ba8d45657Z@65878a38747c176bc00e930ebafebb69d4e1e16cd3a704e264ea8f5e24f548dbZ@7a984ae6dca26fd25374479e118b22f55db0aedccd5a0f2584ceada33db98605Z@d636d968e6a24ae92ab52fe11c46ac45b0897e98714426764e820a7d77602a61Z@956552176f77e7c9cb20d0118fc9cf690be488d790ed4b4c4747b965e61b0bb4Z@f84ba7feffda41e606e20b28dfc0f1ea9964a74574513d4a4cbc98433a8bfa45Zmodule)ZscopeZparamsc                 st    V P                   \        V P                   ,          \        V P                   ,          3# N)Zparam	INT_FUNCSINT_FUNC_HASHES)Zrequest   &J/usr/lib64/python3.14/site-packages/numpy/random/tests/test_randomstate.pyint_funcr   8   s*    MM9W]]3GMM*, ,    c               #  s   "   \         P                  P                  4       p Rx  \         P                  P                  V 4       R# 5i)z:Ensures that the singleton bitgen is restored after a testN)npr   get_bit_generatorset_bit_generator)Zorig_bitgens    r   restore_singleton_bitgenr   >   s.      ))--/K	II,s   AAc                 sB   \        V R ,          VR ,          4       \        V R,          R,          VR,          R,          4       \        V R,          R,          VR,          R,          4       \        V R,          VR,          4       \        V R,          VR,          4       R# )bit_generatorstatekeypos	has_gaussgaussN)r   r   ab   &&r   assert_mt19937_state_equalr*   F   sr    ?#Q%78qz%(!G*U*;<qz%(!G*U*;<;;07QwZ(r   c                   sJ   a  ] tR t^Nt o R tR tR tR tR tR t	R t
RtV tR	# )
TestSeedc                s    \         P                  ! ^ 4      p\        VP                  R4      R4       \         P                  ! R4      p\        VP                  R4      R4       R# )r      i      i  N)r   RandomStater   randintselfs   & r   test_scalarZTestSeed.test_scalarO   sF    q!QYYt_c*z*QYYt_c*r   c                s   \         P                  ! \        ^
4      4      p\        VP	                  R4      R4       \         P                  ! \
        P                  ! ^
4      4      p\        VP	                  R4      R4       \         P                  ! ^ .4      p\        VP	                  R4      R4       \         P                  ! R.4      p\        VP	                  R4      R4       R# )
   r,   i  i  r-   i	  N)r   r.   ranger   r/   r   aranger0   r3   r   
test_arrayZTestSeed.test_arrayU   s    uRy)QYYt_c*ryy}-QYYt_c*s#QYYt_c*
|,QYYt_c*r   c                s    \        \        \        P                  R4       \        \        \        P                  R4       R# )      ?N      r
   	TypeErrorr   r.   
ValueErrorr1   r   r   test_invalid_scalarZTestSeed.test_invalid_scalar_   s&    i!3!3T:j&"4"4b9r   c                sJ   \        \        \        P                  R.4       \        \        \        P                  R.4       \        \        \        P                  R.4       \        \        \        P                  . RO4       \        \        \        P                  . RO4       R# )r9           Nr:   r;   )      rA   )rB   rA   r<   r?   r   r   test_invalid_arrayZTestSeed.test_invalid_arrayd   sd    i!3!3dV<j&"4"4rd;j&"4"4zlCj&"4"46HIj&"4"46IJr   c           	     s   \        \        \        P                  \        P
                  ! . \        P                  R 7      4       \        \        \        P                  . RO.4       \        \        \        P                  . RO. RO.4       R# )dtypeNrB   rC      )         )r
   r>   r   r.   r   arrayint64r?   r   r   test_invalid_array_shapeZ!TestSeed.test_invalid_array_shapel   s\    j&"4"4bhhrEGXX7O 	Pj&"4"4ykBj&"4"4y7@7B 	Cr   c                s    \         P                  ! \        ^ 4      4      p\        \        4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     R# ; i)r      N)r   r.   r   r
   r=   seed)r1   rsr3   r   test_cannot_seedZTestSeed.test_cannot_seedt   s;    a)9%%GGDM &%%%s   AA$	c                sL    \        \        \        P                  \        4       R # r   )r
   r>   r   r.   r   r?   r   r   test_invalid_initializationZ$TestSeed.test_invalid_initializationy   s    j&"4"4g>r    N)__name__
__module____qualname____firstlineno__r4   r8   r@   rE   rO   rS   rT   __static_attributes____classdictcell__Z__classdict__   @r   r+   r+   N   s/     ++:
KC
? ?r   r+   c                   s,   a  ] tR t^}t o R tR tRtV tR# )TestBinomialc                s    \         P                  ! ^RR7      pR FF  p\        \        P                  ! ^ V4      ^ 8H  4       \        \        P                  ! W4      V4       KH  	  R# )rC   intrF   N)r    r9   rB   )r   zerosr   r   r   r   )r1   r`   p   &  r   test_n_zeroZTestBinomial.test_n_zero~   sI     %(AFOOAq)Q./vu8%@ r   c                sb    \        \        \        P                  ^\        P
                  4       R# )rB   N)r
   r>   r   r   r   nanr?   r   r   test_p_is_nanZTestBinomial.test_p_is_nan   s    j&//1bff=r   rU   N)rV   rW   rX   rY   rc   re   rZ   r[   r\   r]   r   r^   r^   }   s     A> >r   r^   c                   sV   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
tV tR# )TestMultinomialc                s8    \         P                  ! ^dRR.4       R# )d   皙?皙?Nr   r   r?   r   r   
test_basicZTestMultinomial.test_basic   s    3c
+r   c                s8    \         P                  ! ^d. RO4       R# )rg   N)rh   ri           rl   rl   rj   r?   r   r   test_zero_probabilityZ%TestMultinomial.test_zero_probability   s    3 9:r   c                s&   \        R\        P                  ! RR4      u;8*  ;'       d    R8  Mu 4       \        P                  ! RR^4      p\        \        P                  ! RV8*  4      4       \        \        P                  ! VR8  4      4       R# )rK   Nir;   )r   r   r/   r   allr1   xr3   r   test_int_negative_intervalZ*TestMultinomial.test_int_negative_interval   s\    fnnR,11r12NN2r1%rQw q2vr   c           	     s   R R .p\        \        P                  ! ^V\        P                  ! ^4      4      P
                  R4       \        \        P                  ! ^V\        P                  ! ^4      4      P
                  R4       \        \        P                  ! ^V\        P                  ! ^4      4      P
                  R4       \        \        P                  ! ^V^^.4      P
                  R4       \        \        P                  ! ^VR4      P
                  R4       \        \        P                  ! ^V\        P                  ! R4      4      P
                  R4       \        \        \        P                  ^V\        ^4      4       R# )r9   NrB   rC   rC   rC   rC   rC   rC   )
r   r   r   r   uint32shaperM   r
   r=   floatr1   ra   r3   r   	test_sizeZTestMultinomial.test_size   s   #JV''1biil;AA6JV''1biil;AA6JV''1biil;AA6JV''1q!f5;;YGV''1f5;;YGV''1bhhv.>?EE	  	i!3!3QAh	 r   c                s    \        \        \        P                  ^dRR.4       \        \        \        P                  ^dRR.4       R# )rg   皙?rh   ?N皙r
   r>   r   r   r?   r   r   test_invalid_probZ!TestMultinomial.test_invalid_prob   s2    j&"4"4cC:Fj&"4"4cC:Fr   c                sJ    \        \        \        P                  RRR.4       R# )rB   ri   rh   Nr;   r}   r?   r   r   test_invalid_nZTestMultinomial.test_invalid_n   s    j&"4"4b3*Er   c                s   \         P                  ! R 4      pV\         P                  ! VR,          4      ,          pVR,          p\        P                  ! R4       \        P
                  ! ^dVR7      p\        P                  ! R4       \        P
                  ! ^d\         P                  ! V4      R7      p\        W44       R# )g      .@:rB   NrI   i۠iU)pvalsN)r   r7   sumr   rQ   r   ascontiguousarrayr   )r1   ra   r   
non_contigcontig   &    r   test_p_non_contiguousZ%TestMultinomial.test_p_non_contiguous   s}    IIcN	RVVAdG_$J''59
J##Cr/C/CE/JK:.r   c                s6   \         P                  ! . RO\         P                  R7      pWP                  4       ,          pRp\        P
                  ! \        VR7      ;_uu_ 4        \        P                  ! ^V4       RRR4       R#   + '       g   i     R# ; i)Gz?rF   z-[\w\s]*pvals array is cast to 64-bit floatingmatchN)
r   r   &.>r   r   r   r   r   r   r   )	r   rM   float32r   pytestraisesr>   r   r   )r1   rp   r   r      &   r   test_multinomial_pvals_float32Z.TestMultinomial.test_multinomial_pvals_float32   s_    HH :ACMEEG@]]:U33q%( 4333s   %BB	c                s8    \         P                  ! R RR.4       R# )g      Y@rh   ri   Nrj   r?   r   r   test_multinomial_n_floatZ(TestMultinomial.test_multinomial_n_float   s    53*-r   rU   N)rV   rW   rX   rY   rk   rm   rq   ry   r~   r   r   r   r   rZ   r[   r\   r]   r   rf   rf      s9     ,;  GF/). .r   rf   c                   sb   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tRtV tR# )TestSetStatec                s    R V n         \        P                  ! V P                   4      V n        V P                  P	                  4       V n        R# iIN)rQ   r   r.   random_state	get_stater!   r?   r   r   setup_methodZTestSetState.setup_method   s6    	"..tyy9&&002
r   c                s    V P                   P                  ^4      pV P                   P                  V P                  4       V P                   P                  ^4      p\	        \
        P                  ! W8H  4      4       R# )   N)r   tomaxint	set_stater!   r   r   rn   r1   oldnewrb   r   rk   ZTestSetState.test_basic   sY    ((,##DJJ/((,sz"#r   c                s   V P                   P                  ^R7      pV P                   P                  V P                  4       V P                   P                  ^R7      p\	        \
        P                  ! W8H  4      4       R# rI   sizeN)r   standard_normalr   r!   r   r   rn   r   rb   r   test_gaussian_resetZ TestSetState.test_gaussian_reset   s_    //Q/7##DJJ///Q/7sz"#r   c                sV   V P                   P                  4        V P                   P                  4       pV P                   P                  ^R7      pV P                   P                  V4       V P                   P                  ^R7      p\	        \
        P                  ! W#8H  4      4       R# r   )r   r   r   r   r   r   rn   )r1   r!   r   r   r   r    test_gaussian_reset_in_media_resZ-TestSetState.test_gaussian_reset_in_media_res   s     	))+!!++-//Q/7##E*//Q/7sz"#r   c                s   V P                   R R pV P                  P                  ^R7      pV P                  P                  V4       V P                  P                  ^R7      pV P                  P                  V P                   4       V P                  P                  ^R7      p\	        \
        P                  ! W#8H  4      4       \	        \
        P                  ! W$8H  4      4       R # )Nr   rD   )r!   r   r   r   r   r   rn   )r1   Z	old_stateZx1Zx2Zx3r   r   test_backwards_compatibilityZ)TestSetState.test_backwards_compatibility   s     JJsO	..B.7##I...B.7##DJJ/..B.7rx !rx !r   c                s>    V P                   P                  R R 4       R# r9   N)r   r   r?   r   r   test_negative_binomialZ#TestSetState.test_negative_binomial   s     	++C5r   c                sj   \         P                  ! \        4       4      p\        4       ;_uu_ 4       pVP	                  \
        4      pVP                  4       p\        \        V4      ^8H  4       \        V\        4      '       g   Q hVR,          R8X  g   Q h RRR4       R#   + '       g   i     R# ; i)rB   r    r   N)r   r.   r   r   recordRuntimeWarningr   r   len
isinstanceZdict)r1   rR   supwr!   r   r   test_get_state_warningZ#TestSetState.test_get_state_warning   s}    (  C

>*ALLNECFaK eT****)W444 !   s   A%B!!B2	c           	     s   V P                   P                  4       pRVR,          ,           p\        \        V P                   P                  V4       \        \
        V P                   P                  \        P                  ! V\        R7      4       V P                   P                  RR7      pVR \        \        V P                   P                  V4       R# )UnknownrB   NNrF   FZlegacyr    N)r   )	r   r   r
   r>   r   r=   r   rM   object)r1   r!   	new_staterb   r   !test_invalid_legacy_state_settingZ.TestSetState.test_invalid_legacy_state_setting   s    !!++-!E"I-	j$"3"3"="=yIi!2!2!<!<hhy7	9!!++5+9/"j$"3"3"="=uEr   c                s   V P                   P                  ^ 4       V P                   P                  ^d4       V P                   P                  4        V P                   P	                  RR7      p\        VR,          ^4       \        P                  ! \        P                  ! V P                   4      4      pVP	                  RR7      p\        W4       R# )r    Fr   r$   N)
r   rQ   random_sampler   r   r   pickleZloadsZdumpsr*   )r1   ZpickledZ	rs_unpickZ	unpickledr   r   test_pickleZTestSetState.test_pickle  s    q!'',))+##--U-;W[)1-LLd.?.?!@A	''u'5	"76r   c                s    V P                   P                  4       pV P                   P                  4        V P                   P                  V4       V P                   P	                  R R7      p\        W4       R# )Fr   N)r   Z__getstate__r   Z__setstate__r   r*   )r1   Z
attr_stater!   rb   r   test_state_settingZTestSetState.test_state_setting  s]    &&335
))+&&z2!!++5+9":5r   c                s^    \        V P                  4      P                  R 4      '       g   Q hR# )zRandomState(MT19937)N)Zreprr   Z
startswithr?   r   r   	test_reprZTestSetState.test_repr  s%    D%%&112HIIIIr   )r   rQ   r!   N)rV   rW   rX   rY   r   rk   r   r   r   r   r   r   r   r   r   rZ   r[   r\   r]   r   r   r      sD     3
$$	$
"6
5F76J Jr   r   c            	       s  a  ] tR tRt o ]P
                  t]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                   .	tR tR tR tR tR tR t]P2                  P5                  ]P6                  ! R4      P8                  R8  R	R
7      R 4       tR tR tRt V t!R# )TestRandinti  c                sH    \        \        V P                  ^\        R7       R# rB   rF   N)r
   r=   rfuncrw   r?   r   r   test_unsupported_typeZ!TestRandint.test_unsupported_type#  s    iQe<r   c           	     s   V P                    F  pV\        P                  J d   ^ M\        P                  ! V4      P                  pV\        P                  J d   ^M&\        P                  ! V4      P
                  ^,           p\        \        V P                  V^,
          W1R7       \        \        V P                  W#^,           VR7       \        \        V P                  W2VR7       \        \        V P                  ^^ VR7       K  	  R# )r    rF   N)	ityper   booliinfominmaxr
   r>   r   )r1   dtlbndubndr   r   test_bounds_checkingZ TestRandint.test_bounds_checking&  s    **Bbgg1288B<+;+;Dbgg1288B<+;+;a+?D*djj$(DK*djj$qK*djj$BG*djj!QbA r   c           
     s(   V P                    EF   pV\        P                  J d   ^ M\        P                  ! V4      P                  pV\        P                  J d   ^M&\        P                  ! V4      P
                  ^,           pV^,
          p\        V P                  WD^,           RVR7      V4       Tp\        V P                  WD^,           RVR7      V4       W#,           ^,          p\        V P                  WD^,           RVR7      V4       EK  	  R# )r    r,   r   rG   N)r   r   r   r   r   r   r   r   )r1   r   r   r   tgtr   r   test_rng_zero_and_extremesZ&TestRandint.test_rng_zero_and_extremes/  s    **Bbgg1288B<+;+;Dbgg1288B<+;+;a+?D(CCqt2FLCCqt2FL;1$CCqt2FL r   c                s   V P                    F  pV\        P                  J d   ^ M\        P                  ! V4      P                  pV\        P                  J d   ^M&\        P                  ! V4      P
                  ^,           p V P                  W#VR7       K  	  R#   \         d!   p\        R\        T4      ,          4      hRp?ii ; i)r    rF   zMNo error should have been raised, but one was with the following message:

%sN)
r   r   r   r   r   r   r   Z	ExceptionZAssertionErrorZstr)r1   r   r   r   Zer   r   test_full_rangeZTestRandint.test_full_range=  s     **Bbgg1288B<+;+;Dbgg1288B<+;+;a+?D@

4R
0   @$ &68;A&? @ @@s   BC(CCc           	     s   \         P                  ! 4        V P                  R ,           FY  pR FP  pV P                  ^VRVR7      p\	        VP                  4       V8  4       \	        VP                  4       ^8  4       KR  	  K[  	  V P                  ^ ^R\        P                  R7      p\	        VP                  4       ^8  4       \	        VP                  4       ^ 8  4       R# )r   r   N)rJ      r   i   )	r   rQ   r   r   r   r   r   r   r   )r1   r   r   valsr   r   test_in_bounds_fuzzZTestRandint.test_in_bounds_fuzzK  s    **R..B"zz!TRz@
T)*
a( # ! zz!QU"''z:
Q
a r   c                s`   R RRRRRRRRR	R
RRRRRRR	/	pV P                   R,           F  p\        P                  ! R4       \        P                  R8X  d   V P                  ^ ^RVR7      pM#V P                  ^ ^RVR7      P                  4       p\        P                  ! VP                  \        P                  4      4      P                  4       p\        V\        P                  ! V4      P                  ,          V8H  4       K  	  \        P                  ! R4       V P                  ^ ^R\         R7      P                  \        P                  4      p\        P                  ! V4      P                  4       p\        V\        P                  ! \         4      P                  ,          V8H  4       R# )r   Z@509aea74d792fb931784c4b0135392c65aec64beee12b0cc167548a2c3d31e71int16Z@7b07f1a920e46f6d0fe02314155a2330bcfd7635e708da50e536c5ebb631a7d4int32Z@e577bfed6c935de944424667e3da285012e741892dcb7051a8f1ce68ab05c92frN   Z@0fbead0b06759df2cfb55e43148822d4a1ff953c7eb19a5b08445a63bb64fa9eint8Z@001aac3a5acb935a9b186cbe14a1ca064b8bb2dd0b045d48abeacf74d0203404uint16ru   uint64uint8r   rP   littler,   r   N)r   r   rQ   sys	byteorderr   byteswaphashlibsha256viewr   r   	hexdigestr   rG   Znamer   )r1   r   r   valresr   r   test_repeatabilityZTestRandint.test_repeatabilityZ  sU    [[[[[[[[[] **R..BKK }}(jjADj;jjADj;DDF.."''!23==?CC))*c12 ! 	DjjADj5::277CnnS!++-BHHTN''(C/0r   lzCannot test with 32-bit C longZreasonc           
     s<   \         P                  ! . RO. RO. RO.. RO. RO. R	O.. R
O. RO. RO.. RO. RO. RO.. RO. RO. RO..4      pR FM  p\        P                  ! R4       V P	                  R.^ .^... ROVR7      p\        Y2e   TMV^ ,          4       KO  	  R# )   Q[ Ni90  r   )r   l   dm" l   0 )l   ;i l   vlm l   iXp )i\L_l   ZN iwU')l   <~ l   20l iP?)ifiwLl   @
Vo )l   o\ iwi
1])i{YSl   r=| i)l   0 l   l i&})l   QZ) l   (q l   '}Q )l   WqV1 iMl   't )inMl   b" l   )  )ial    l   S"f )idi98l   nDk )l   Jc i-l    )iMi'*l   l, )N)rK   rI   rI   r;   )r-   rA   l       )r   rM   r   rQ   r   r   )r1   desiredr   rp   r   r   .test_repeatability_32bit_boundary_broadcastingZ:TestRandint.test_repeatability_32bit_boundary_broadcastingz  s     ((AAAC BAAC BAAC BAAC BAACD E &DKK

RD1#s+-J $  &Aq-='71:N	 &r   c                s   \         P                  p\         P                  ! \         P                  4      P                  p\         P                  ! \         P                  ! \         P                  4      P                  4      p\         P                  ! \         P                  ! \         P                  4      P                  ^,           4      p\
        P                  ! W4VR7      p\        WR4       R# r   )r   rN   r   r   r   r   r/   r   )r1   r   r   r   r   actual   &     r   test_int64_uint64_corner_caseZ)TestRandint.test_int64_uint64_corner_case  s     XXhhrxx $$xx*../yy"((+//!34 "5V!r   c                s   V P                    F  pV\        P                  J d   ^ M\        P                  ! V4      P                  pV\        P                  J d   ^M&\        P                  ! V4      P
                  ^,           pV P                  W#VR7      p\        VP                  \        P                  ! V4      4       K  	  \        \        3 F  pV\        J d   RMRpV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M&\        P                  ! V4      P
                  ^,           pV P                  W#VR7      p\        \        VR4      '       * 4       \        \        V4      V4       K  	  R# )r    rF   longr   rG   N)r   r   r   r   r   r   r   r   rG   r_   r   Zhasattrtype)r1   r   r   r   sampleZop_dtyper   r   test_respect_dtype_singletonZ(TestRandint.test_respect_dtype_singleton  s	   **Bbgg1288B<+;+;Dbgg1288B<+;+;a+?DZZ"Z5Frxx|4  +B "$svHd
1(:(>(>Dd
1(:(>(>(BDZZ"Z5F001fr* r   rU   NrA   )"rV   rW   rX   rY   r   r/   r   r   r   r   r   r   r   r   ru   rN   r   r   r   r   r   r   r   r   r   markskipifr   r   r   r   r   rZ   r[   r\   r]   r   r   r     s     NNE WWbggrxx299XXryy"((BII7E=BM@!1@ [[))E1?  AOAO,".+ +r   r   c                   s  a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/ t1R0 t2]3Ph                  Pk                  R1]6Pn                  ! R2RZ4      R3]6Pp                  R4.4      R5 4       t9R6 t:R7 t;R8 t<R9 t=R: t>R; t?R< t@R= tAR> tBR? tCR@ tDRA tERB tFRC tGRD tHRE tIRF tJRG tKRH tLRI tMRJ tNRK tORL tPRM tQRN tRRO tSRP tTRQ tURR tVRS tWRT tXRU tYRV tZRW t[RXt\V t]RY# )[TestRandomDisti  c                    R V n         R# r   rQ   r?   r   r   r   ZTestRandomDist.setup_method  s	    	r   c                s    \         P                  ! V P                  4       \         P                  ! ^^4      p\        P                  ! RR.RR.RR..4      p\        W^R7       R# )	rI   _\*?琛?<p?,o?H?Z?ZdecimalN)r   rQ   randr   rM   r   r1   r   r   rb   r   	test_randZTestRandomDist.test_rand  s^    DIIQ"((02EF02EF/1CDF G 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! 4       pR p\        W^R7       R# )r   r   N)r   rQ   r   r   r   rb   r   test_rand_singletonZ"TestRandomDist.test_rand_singleton  s,    DII%!&2>r   c                s^   \         P                  ! V P                  4       \         P                  ! ^^4      p\        P                  ! RR.RR.RR..4      p\        W^R7       \         P                  ! V P                  4       \         P                  ! 4       p\        WR	,          ^R7       R# )
rI   !<Oq?4u,?3?@? @HS\@r   NLI/DͿr    r    r   rQ   Zrandnr   rM   r   r   rb   r   
test_randnZTestRandomDist.test_randn  s    DIIa#((02EF-/BC-/BCE F 	"&2>DII!&$-Dr   c                s    \         P                  ! V P                  4       \         P                  ! R^cRR7      p\        P                  ! ^^.R^).RR..4      p\        W4       R# ic   r   NirI   rC   iii)r   rQ   r/   r   rM   r   r   rb   r   test_randintZTestRandomDist.test_randint  sU    DIIRf5((RG "I #J( ) 	6+r   c                s   \         P                  ! V P                  4       \        4       ;_uu_ 4       pVP                  \        4      p\         P
                  ! R^cRR7      p\        \        V4      ^8H  4       RRR4       \        P                  ! ^^.R^).RR..4      p\        XV4       \         P                  ! V P                  4       \        4       ;_uu_ 4       pVP                  \        4      p\         P
                  ! ^RR7      p\        \        V4      ^8H  4       RRR4       \        W4^d,           4       R#   + '       g   i     L; i  + '       g   i     L7; ir  )r   rQ   r   r   DeprecationWarningrandom_integersr   r   r   rM   r   )r1   r   r   r   r   r   r   test_random_integersZ#TestRandomDist.test_random_integers  s    DII  C

-.A++C&AFCFaK  ! ((RG "I #J( ) 	67+DII  C

-.A++Cf=FCFaK  ! 	6S=1 !  ! s   AD?AE?E	E"	c                s^   \         P                  ! V P                  4       \         P                  ! V P                  4      pVP                  RR7      p\        P
                  ! \        P                  4      P                  R8X  d1   \        P                  ! RR.RR.RR..\        P                  R	7      pM/\        P                  ! R
R.RR.RR..\        P                  R	7      p\        W#4       VP                  V P                  4       VP                  4       p\        W#R,          4       R# )rI   r   ii4Oi˕+iRKiriFbqirF   l   K+W+y l   r&&J] l   ;	 l   nBz l   @XHT l   D+l++ Nr  r   )r   rQ   r.   r   r   r   r   r   rM   rN   r   )r1   rR   r   r   r   r   test_tomaxintZTestRandomDist.test_tomaxint  s    DII		*&)88BGG  J.hhi 8!+i 8!+i 8 :ACKG hh!46I J!46I J!46I J L &(XX/G
 	V%
		VT]+r   c           
     s   \        4       ;_uu_ 4       pVP                  \        4      p\        P                  ! \
        P                  ! R 4      P                  \
        P                  ! R 4      P                  4      p\        \        V4      ^8H  4       RRR4       \
        P                  ! R 4      P                  p\        XV4       \        4       ;_uu_ 4       pVP                  \        4      p\
        P                  ! R 4      P                  p\        P                  ! V! \
        P                  ! R 4      P                  4      V! \
        P                  ! R 4      P                  4      4      p\        \        V4      ^8H  4       RRR4       \        W44       R#   + '       g   i     EL; i  + '       g   i     L1; i)r   N)r   r   r  r   r  r   r   r   r   r   r   rG   r   )r1   r   r   r   r   Ztyperr   r   test_random_integers_max_intZ+TestRandomDist.test_random_integers_max_int  s       C

-.A++BHHSM,=,=,.HHSM,=,=?FCFaK 	 ! ((3-##VW%  C

-.AHHSM&&E++E"((3-2C2C,D,1"((3-2C2C,DFFCFaK  ! 	V% !   ! s   B FB,F.F+	.F>	c           
     s   \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       \	        \        \
        P                  \        P                  ! R4      P                  4       \	        \        \
        P                  \        P                  ! R4      P                  \        P                  ! R4      P                  4       RRR4       R#   + '       g   i     R# ; i)Zerrorr   N)
warningsZcatch_warningsZsimplefilterr  r
   r   r  r   r   r   r?   r   r   test_random_integers_deprecatedZ.TestRandomDist.test_random_integers_deprecated$  s    $$&&!!'+=> , 00((3-++-
 , 00((3-++RXXc]->->@ '&&&s   B5CC.	c                s\   \         P                  ! V P                  4       \         P                  ! R	4      p\        P                  ! RR.RR.RR..4      p\        W^R7       \         P                  ! V P                  4       \         P                  ! 4       p\        WR
,          ^R7       R# )rI   r   r   r   r   r   r   r   Nr  r   )r   rQ   r   r   rM   r   r   rb   r   test_random_sampleZ!TestRandomDist.test_random_sample2  s    DII%%f-((02EF02EF/1CDF G 	"&2>DII%%'!&$-Dr   c                s    \         P                  ! V P                  4       \         P                  ! ^^4      p\        P                  ! . RO4      p\        W4       R# )rJ   N)rC   rI   rC   rI   r   rQ   choicer   rM   r   r   rb   r   test_choice_uniform_replaceZ*TestRandomDist.test_choice_uniform_replace>  s8    DIIq!$((<(6+r   c                s    \         P                  ! V P                  4       \         P                  ! ^^. ROR7      p\        P                  ! . RO4      p\        W4       R# )rJ   ra   N)皙?r  皙?r  )rB   rB   rC   rC   r  r   rb   r   test_choice_nonuniform_replaceZ-TestRandomDist.test_choice_nonuniform_replaceD  s;    DIIq!';<((<(6+r   c                s    \         P                  ! V P                  4       \         P                  ! ^^RR7      p\        P                  ! . RO4      p\        W4       R# )rJ   FreplaceN)r    rB   rI   r  r   rb   r   test_choice_uniform_noreplaceZ,TestRandomDist.test_choice_uniform_noreplaceJ  s:    DIIq!U3((9%6+r   c                s    \         P                  ! V P                  4       \         P                  ! ^^R. ROR7      p\        P                  ! . RO4      p\        W4       R# )rJ   Fr  ra   N)r  333333?r9   r  )rC   rI   rB   r  r   rb   r    test_choice_nonuniform_noreplaceZ/TestRandomDist.test_choice_nonuniform_noreplaceP  s=    DIIq!U6JK((9%6+r   c                s    \         P                  ! V P                  4       \         P                  ! . RO^4      p\        P                  ! . RO4      p\        W4       R# )r'   N)r'   r(   cd)r  r  r  r  r  r   rb   r   test_choice_nonintegerZ%TestRandomDist.test_choice_nonintegerV  s:    DII3Q7((/06+r   c           	     sl   \         P                  p\        \        VR
^4       \        \        VR^4       \        \        V^^.^^..^4       \        \        V. ^4       \        \        V. RO^RR.RR..R7       \        \        V^^.^. ROR7       \        \        V^^.^RR.R7       \        \        V^^.^RR.R7       \        \        V. RO^RR7       \        \        V. RORRR7       \        \        V. RORRR7       \        \        V. RORRR7       \        \        V. RO^R. ROR7       R	# )rB         @g      ?r  r  rz   Fr  r  Nr;   )rB   rC   rI   rJ   )r  r  rh   r|   rH   rD   )r;   )r;   rB   )rB   r    r    )r   r  r
   r>   )r1   r   r3   r   test_choice_exceptionsZ%TestRandomDist.test_choice_exceptions\  s	   j&"a0j&"a0j&Aq6Aq6*:A>j&"a0j&,d|4	6j&1a&!Gj&1a&!T{Cj&1a&!SzBj&)QFj&)RGj&)UEJj&)WeLj&)Q#y	2r   c                s   R R.p\        \        P                  ! \        P                  ! ^RR7      4      4       \        \        P                  ! \        P                  ! ^RR7      4      4       \        \        P                  ! \        P                  ! ^RVR7      4      4       \        \        P                  ! \        P                  ! ^RVR7      4      4       \        \        P                  ! \        P                  ! ^^.RR7      4      4       \        \        P                  ! R.RR7      RJ 4       \        P
                  ! ^^.4      p\        P                  ! ^\        R7      pW#^ &   \        \        P                  ! VRR7      VJ 4       Rp\        \        P                  ! \        P                  ! ^VRR7      4      '       * 4       \        \        P                  ! \        P                  ! ^VRR7      4      '       * 4       \        \        P                  ! \        P                  ! ^VRVR7      4      '       * 4       \        \        P                  ! \        P                  ! ^VRVR7      4      '       * 4       \        \        P                  ! \        P                  ! ^^.VRR7      4      '       * 4       \        \        P                  ! R.VRR7      P                  ^ 8H  4       \        P
                  ! ^^.4      p\        P                  ! ^\        R7      pW#^ &   \        \        P                  ! W4RR7      P                  4       VJ 4       Rp. ROp\        \        P                  ! ^VRR7      P                  V4       \        \        P                  ! ^VRR7      P                  V4       \        \        P                  ! ^VRVR7      P                  V4       \        \        P                  ! ^VRVR7      P                  V4       \        \        P                  ! \        P                  ! ^4      VRR7      P                  V4       \        \        P                  ! ^ ^ RR7      P                  R4       \        \        P                  ! ^ R^ R7      P                  R4       \        \        P                  ! ^
^
^ R7      P                  R4       \        \        P                  ! ^ ^ R7      P                  R4       \        \        P                  ! . RR7      P                  R4       \        \        P                  ! R	R
.RR7      P                  R4       \        \        \        P                  . ^
4       R# )r  r{   Tr  Fr  NrF   r   r'   r(   rU   )rC   rI   )r  r  r  r  r  rh   )rI   r    rJ   i)r    )r   r   Zisscalarr   r  rM   emptyr   ZndimZitemr   rv   r7   r/   r
   r>   )r1   ra   r'   Zarrr2   r   r   test_choice_return_shapeZ'TestRandomDist.test_choice_return_shapeo  s   #JFMM!T:;<FMM!U;<=FMM!TQ?@AFMM!Ua@ABFMM1a&$?@Atfd3t;<HHaVhhq'Ac40A56 BKKaD ABBCBKKaE BCCDBKKaDA FGGHBKKaEQ GHHIBKKq!fa FGGHtfa6;;q@AHHaVhhq'Acd388:a?@ *V]]1a6<<a@V]]1a7==qAV]]1a;AA1EV]]1a!<BBAFV]]299Q<DAGGK 	V^^Aqy9??KV^^As3994@V^^B3994@V]]11-33T:V]]2D177>V]]C:I>DD	 j&--R8r   c                s~    \         P                  ! . RO4      p. ROp\        \        \        P
                  WR7       R# )*   Nr  )r   rB   rC   )NNN)r   rM   r
   r>   r   r  )r1   r'   ra   rb   r   test_choice_nan_probabilitiesZ,TestRandomDist.test_choice_nan_probabilities  s%    HHZ j&--8r   c                s   \         P                  ! ^
4      ^,          pRVR&   \        P                  ! V P                  4       \        P                  ! ^^VR,          R7      p\        P                  ! V P                  4       \        P                  ! ^^\         P
                  ! VR,          4      R7      p\        W#4       R# )r5   r  :rB   NrC   NNrC   r  N)r   onesr   rQ   r  r   r   )r1   ra   r   r   r   r   test_choice_p_non_contiguousZ+TestRandomDist.test_choice_p_non_contiguous  s{    GGBK!O$DII]]1a1S62
DIIq!r';';AcF'CD:.r   c                s    \         P                  ! V P                  4       \         P                  ! ^
4      pRp\        W4       R# )r5   s
   Ui+WfN)r   rQ   Zbytesr   r   rb   r   
test_bytesZTestRandomDist.test_bytes  s-    DIIb!.V%r   c                s    R  R R R R R R R R R	 R
 3 FZ  p\         P                  ! V P                  4       V! . RO4      p\         P                  ! V4       TpV! . RO4      p\        W44       K\  	  R# )c                 s.    \         P                  ! . 4      # r   )r   rM   rp   r   r   <lambda>-TestRandomDist.test_shuffle.<locals>.<lambda>  s    rxx|r   c                 s    V # r   rU   r&  r   r   r'  r(    s    qr   c                 h    \         P                  ! V 4      P                  \         P                  4      # r   )r   asarrayastyper   r&  r   r   r'  r(    s    rzz!}33BGG<r   c                 r)  r   )r   r*  r+  r   r&  r   r   r'  r(    s    rzz!}33BJJ?r   c                 r)  r   )r   r*  r+  Z	complex64r&  r   r   r'  r(    s    rzz!}33BLLAr   c                 sT    \         P                  ! V 4      P                  \        4      # r   )r   r*  r+  r   r&  r   r   r'  r(    s    rzz!}33F;r   c                 s2    V  Uu. uF  qV3NK  	  up# u upi r   rU   rp   ir3   r   r'  r(    s    21A22s   c                 sZ    \         P                  ! V  Uu. uF  qV.NK  	  up4      # u upi r   )r   r*  r,  r3   r   r'  r(    s!    rzz1*=1aq61*=>*=s   (c                 sD    \         P                  ! W .4      P                  # r   )r   ZvstackTr&  r   r   r'  r(    s    ryy!022r   c                 s    \         P                  ! V  Uu. uF  qV3NK  	  upR \        3R\        3.4      P                  \         P                  4      # u upi r&   )r   r*  r_   r   Zrecarrayr,  r3   r   r'  r(    sG    

A+>AqFA+>-0#Jc
+C!E!%bkk!2!3+>s   Ac                 s    \         P                  ! V  Uu. uF  qV3NK  	  upR \        R3R\         P                  R3.4      # u upi )r'   r(   rB   )r   r*  r   r   r,  r3   r   r'  r(    sB    rzz1*=1aq61*=,/+>,/4+@+B C*=s   AN
rB   rC   rI   rJ   rK   rL      r   	   r    
r    rB   r2  rL   rC   rJ   rK   r   r1  rI   )r   rQ   shuffler   )r1   Zconvalistr   r   r   r   test_shuffleZTestRandomDist.test_shuffle  sy     , <?A;2>24CDD" KK		"78ENN5!F9:Gv/-Dr   c                s<   \         P                  P                  \         P                  ! \	        ^4      R4      ^,          ^,
          R4      p\         P                  P                  \         P
                  ! ^4      ^,          ^,
          R4      pVP                  4       pVP                  4       p\	        ^24       F  p\        P                  ! V4       \        \        VP                  VP                  ( ,          4      \        VP                  VP                  ( ,          4      4       \        P                  ! V4       \        \        VP                  VP                  ( ,          4      \        VP                  VP                  ( ,          4      4       K  	  R pR# )   c                 sp    \         P                  ! ^4      p\        \        \        P
                  V4       R# )rI   N)r   rM   r
   r=   r   r4  ro   r3   r   test_shuffle_invalid_objectsZHTestRandomDist.test_shuffle_masked.<locals>.test_shuffle_invalid_objects  s    A)V^^Q7r   N)rK   rJ   r;   )r   ZmaZmasked_valuesZreshaper6   r7   Zcopyr   r4  r   ZsortedZdataZmask)r1   r'   r(   Za_origZb_origr-  r8     &      r   test_shuffle_maskedZ"TestRandomDist.test_shuffle_masked  s   EE

59f = AA ErJEE		" 1A 5r:rANN1qvvqvvg'V[[L0I)JLNN1qvvqvvg'V[[L0I)JL 	8r   c                s.   \         P                  ! V P                  4       . ROp\         P                  ! V4      p. ROp\        W#4       \         P                  ! V P                  4       \        P
                  ! . RO4      P                  p\         P                  ! V4      p\        V\        P
                  ! V4      P                  4       \         P                  ! V P                  4       Rp\        \        \         P                  V4       \         P                  ! V P                  4       Rp\        \        \         P                  V4       ^
p. ROp\         P                  ! V P                  4       \         P                  ! V4      p\        W#4       R# )rB   Zabcdg333333?Nr0  r3  )
r2  r    r   rK   rB   rI   rJ   r1  rL   rC   )	r   rQ   Zpermutationr   r   Z
atleast_2dr.  r
   Z
IndexError)r1   r5  r   r   Zarr_2dZ	bad_x_strZbad_x_floatZinteger_val   &       r   test_permutationZTestRandomDist.test_permutation  s   DII.##E*06+DII=>@@##F+62==#9#;#;<DII	j&"4"4i@DIIj&"4"4kB0DII##K06+r   c                    \         P                  ! V P                  4       \         P                  ! R RRR7      p\        P                  ! RR.RR.RR..4      p\        W^R	7       R
# )r  r{   r   gAKč?ghA?g ҇o>gάXf+q?gS1$?g'8zX ?r   Nr  )r   rQ   betar   rM   r   r   rb   r   	test_betaZTestRandomDist.test_beta  s`    DIIR&1(()+BC)+BC)+BCEF 	"&2>r   c                sT   \         P                  ! V P                  4       \         P                  ! R RRR7      p\        P                  ! ^%^+.^*^0.^.^-..4      p\        W4       \         P                  ! V P                  4       \         P                  ! R R4      p^%p\        W4       R# )gZd;Y@gv/?r   Nr  )r   rQ   r   r   rM   r   r   rb   r   test_binomialZTestRandomDist.test_binomial  s    DII$V<((RHHH& ' 	6+DII$/6+r   c                s    \         P                  ! V P                  4       \         P                  ! ^2R
R7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R	# )i2   r   g+Q]uO@g+Q@gY7`ZqP@ge(fG@gvtR@gEIȋR@r   Nr  )r   rQ   	chisquarer   rM   r   r   rb   r   test_chisquareZTestRandomDist.test_chisquare  s`    DII!!"62((13GH13GH02FGI J 	"&2>r   c                sH   \         P                  ! V P                  4       \        P                  ! R R.4      p\         P                  ! VRR7      p\        P                  ! RR.RR..RR.R	R
..RR.RR...4      p\        W#^R7       \        P                  ! RR.4      p\        \        \         P                  V4       \         P                  ! V P                  4       \        P                  ! R R.4      p\         P                  ! V4      p\        W#R,          ^R7       R# )I<I@EZC@r   gi{s?gn,	A?g]^?gpDB?gȧ#y?gr?g1U?gѨUC?g^,%?gB?gډOoX;?gM`!O?r   HzG?Nr  缉ؗҜr   )r   rQ   r   rM   	dirichletr   r
   r>   )r1   alphar   r   Z	bad_alphar   r   test_dirichletZTestRandomDist.test_dirichlet  s
   DII.0DEF!!%f5((13FG13FGI13FG13FGI13FG13FGI	J K 	"&2>HHgx01	j&"2"2I>DII.0DEF!!%(!&$-Dr   c                s0   \         P                  ! R R.4      p\        \        P                  ! V\         P
                  ! ^4      4      P                  R4       \        \        P                  ! V\         P
                  ! ^4      4      P                  R4       \        \        P                  ! V\         P
                  ! ^4      4      P                  R4       \        \        P                  ! V^^.4      P                  R4       \        \        P                  ! VR4      P                  R4       \        \        P                  ! V\         P                  ! R4      4      P                  R4       \        \        \        P                  V\        ^4      4       R# )rC  rD  Nrr   rs   rt   )
r   rM   r   r   rG  ru   rv   r
   r=   rw   rx   r3   r   test_dirichlet_sizeZ"TestRandomDist.test_dirichlet_size*  s   HH*,@ABV%%a16<<fEV%%a16<<fEV%%a16<<fEV%%a!Q066	BV%%a066	BV%%a&)9:@@)Li!1!11eAh?r   c                st    \         P                  ! R R.4      p\        \        \        P
                  V4       R# )rE  NrF  )r   rM   r
   r>   r   rG  )r1   rH  r3   r   test_dirichlet_bad_alphaZ'TestRandomDist.test_dirichlet_bad_alpha6  s'    '8,-j&"2"2E:r   c                sf   \         P                  ! . RO4      pVR,          p\        P                  ! V P                  4       \        P                  ! VRR7      p\        P                  ! V P                  4       \        P                  ! \         P
                  ! V4      RR7      p\        W44       R# )rC  r"  r   N)rC  g      rD  r  )r   rM   r   rQ   rG  r   r   )r1   r'   rH  r   r   r   r   #test_dirichlet_alpha_non_contiguousZ2TestRandomDist.test_dirichlet_alpha_non_contiguous;  st    HHGH#DII%%e&9
DII!!""6"6u"='-/!*5r   c                    \         P                  ! V P                  4       \         P                  ! R R
R7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R	# )g8EGr?r   gNU?gbI0?gVU\@g:3@gU?g"qo?r   Nr  )r   rQ   exponentialr   rM   r   r   rb   r   test_exponentialZTestRandomDist.test_exponentialE  s`    DII##F8((02EF02EF02EFH I 	"&2>r   c                    \        \        P                  ! ^ R7      ^ 4       \        \        \        P                  RR7       R# r    scaleN       )r   r   rN  r
   r>   r?   r   r   test_exponential_0Z!TestRandomDist.test_exponential_0M  s)    V''a0!4j&"4"4C@r   c                s    \         P                  ! V P                  4       \         P                  ! ^^MR
R7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R	# )   r   g7?g`j?g6"+?gܳ2>?gc>+Y?g_}S?r   Nr  )r   rQ   fr   rM   r   r   rb   r   test_fZTestRandomDist.test_fQ  s`    DII"bv.((02EF02EF02EFH I 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! ^^R
R7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R	# )rK   r   gԏGM8@gȌ<@g	":@gv#)@gZQ?@gr[@@r   Nr  )r   rQ   gammar   rM   r   r   rb   r   
test_gammaZTestRandomDist.test_gammaY  s`    DIIa0((13GH13GH13GHJ K 	"&2>r   c                s    \        \        P                  ! ^ ^ R7      ^ 4       \        \        \        P                  RRR7       R# )r    )rv   rS  NrT  )r   r   rY  r
   r>   r?   r   r   test_gamma_0ZTestRandomDist.test_gamma_0a  s)    V\\3Q7j&,,cEr   c                s    \         P                  ! V P                  4       \         P                  ! R RR7      p\        P                  ! ^^.^^.^^..4      p\        W4       R# )_c97ݚ?r   Nr  )r   rQ   r   r   rM   r   r   rb   r   test_geometricZTestRandomDist.test_geometrice  sU    DII!!*6:((QFHG% & 	6+r   c                sj   \        \        \        P                  R 4       \        \        \        P                  R .^
,          4       \        \        \        P                  R4       \        \        \        P                  R.^
,          4       \	        4       ;_uu_ 4       pVP                  \        4       \        \        \        P                  \        P                  4       \        \        \        P                  \        P                  .^
,          4       RRR4       R#   + '       g   i     R# ; i)rz   Nr|   )	r
   r>   r   r   r   r   r   r   rd   r1   r   r3   r   test_geometric_exceptionsZ(TestRandomDist.test_geometric_exceptionsm  s    j&"2"2C8j&"2"2SEBJ?j&"2"2D9j&"2"2TFRK@  CJJ~&*f&6&6?*f&6&62F !   s   A8D!!D2	c                s    \         P                  ! V P                  4       \         P                  ! R RRR7      p\        P                  ! RR.R	R
.RR..4      p\        W^R7       R# )r\         @locrS  r   gؕ?gs0 ?g-KD?r   Nr  g#0g(xgůp`@)r   rQ   gumbelr   rM   r   r   rb   r   test_gumbelZTestRandomDist.test_gumbelw  s`    DII:SvF((02EF02FG02FGI J 	"&2>r   c                rP  rQ  )r   r   rc  r
   r>   r?   r   r   test_gumbel_0ZTestRandomDist.test_gumbel_0  %    V]]+Q/j&--s;r   c                s   \         P                  ! V P                  4       \         P                  ! R R^RR7      p\        P                  ! ^
^
.^
^
.^	^	..4      p\        W4       \         P                  ! ^^ ^^R7      p\        P                  ! . RO4      p\        W4       \         P                  ! ^^ ^^R7      p\        P                  ! . RO4      p\        W4       \         P                  ! ^ ^^^R7      p\        P                  ! . RO4      p\        W4       \         P                  ! ^ ^^^R7      p\        P                  ! . RO4      p\        W4       R# )g333333$@g      @r   Nr  )rI   rI   rI   rI   )rV  rV  rV  rV  )r    r    r    r    )r   rQ   r   r   rM   r   r   rb   r   test_hypergeometricZ"TestRandomDist.test_hypergeometric  s   DII&&tS"6B((RHHF$ % 	6+ &&q!QQ7((<(6+&&r1bq9((+,6+ &&q!QQ7((<(6+&&q"bq9((<(6+r   c                    \         P                  ! V P                  4       \         P                  ! R RR
R7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R	# )r\  r`  ra  g bO?g¸?gpJm	@g{K*t	@gY~o?r   Nr  g:^w-)r   rQ   laplacer   rM   r   r   rb   r   test_laplaceZTestRandomDist.test_laplace  s`    DIIJcG((02EF02EF13FGI J 	"&2>r   c                rP  rQ  )r   r   ri  r
   r>   r?   r   r   test_laplace_0ZTestRandomDist.test_laplace_0  s%    V^^!,a0j&..<r   c                rh  )r\  r`  ra  g#K-z?gJ?g92@gر[@g-@r   Nr  g#+^˿)r   rQ   logisticr   rM   r   r   rb   r   test_logisticZTestRandomDist.test_logistic  s`    DIIZsH((02DE02EF13FGI J 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! R RRR7      p\        P                  ! RR.RR.RR..4      p\        W^R	7       R
# )r\  r`  )meansigmar   gɁ0@go,+4FB@g)ʭ6@g5?gnxNnP@g)U@r   Nr  )r   rQ   	lognormalr   rM   r   r   rb   r   test_lognormalZTestRandomDist.test_lognormal  sb    DII!!z6J((13GH13FG13GHJ K 	"&2>r   c                s    \        \        P                  ! ^ R7      ^4       \        \        \        P                  RR7       R# )r    )ro  NrT  )r   r   rp  r
   r>   r?   r   r   test_lognormal_0ZTestRandomDist.test_lognormal_0  s)    V%%A.2j&"2"2#>r   c                s    \         P                  ! V P                  4       \         P                  ! R RR7      p\        P                  ! ^^.^^.^^..4      p\        W4       R# )gƀ@?)ra   r   Nr  )r   rQ   r   r   rM   r   r   rb   r   test_logseriesZTestRandomDist.test_logseries  sU    DII!!JV<((QFGF$ % 	6+r   c                s@    \         P                  ! ^ 4      ^8X  g   Q hR# r    N)r   r   r?   r   r   test_logseries_zeroZ"TestRandomDist.test_logseries_zero  s    "a'''r   valuerl         ?g      @c           
     s   \         P                  ! R R7      ;_uu_ 4        \        P                  ! \        4      ;_uu_ 4        \
        P                  ! V4       RRR4       \        P                  ! \        4      ;_uu_ 4        \
        P                  ! \         P                  ! V.^
,          4      4       RRR4       \        P                  ! \        4      ;_uu_ 4        \
        P                  ! \         P                  ! V.^
,          4      R,          4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L@; i  + '       g   i     R# ; i)ignoreZinvalidNr"  )r   errstater   r   r>   r   r   rM   )r1   rv  r)   r   test_logseries_exceptionsZ(TestRandomDist.test_logseries_exceptions  s    [[**z**  ' +z**  5'B,!78 + z**  5'B,!7!<= + +***** +* +**sS   #E&D-	*E&3E 	7*E&!:E	E&-D=8E& EE&E#E&&E7	c                s    \         P                  ! V P                  4       \         P                  ! ^R.^,          RR7      p\        P                  ! . RO. RO.. RO. RO.. R	O. R
O..4      p\        W4       R# )r7  r   NUUUUUU?r  )rJ   rI   rK   rJ   rC   rC   )rK   rC   r   rC   rC   rB   )rI   rJ   rI   rL   r    rJ   )rC   rB   rJ   rI   rL   rJ   )rJ   rJ   rC   rK   rC   rI   )rJ   rI   rJ   rC   rI   rJ   )r   rQ   r   r   rM   r   r   rb   r   test_multinomialZTestRandomDist.test_multinomial  sj    DII##B16B((//1//1//1	2 3 	6+r   c                sD   \         P                  ! V P                  4       Rp^^ .^ ^..pRp\         P                  ! WV4      p\        P                  ! RR.RR..RR.RR..R	R
.RR...4      p\        WE^R7       \         P                  ! W4      p\        P                  ! RR.4      p\        WE^R7       ^ ^ .p^^.^^..p\        \        \         P                  W4       \        \         P                  WRR7       \        \        \         P                  WRR7       \        P                  ! ^R.R^..\        P                  R7      p\        4       ;_uu_ 4       p\         P                  ! W4       VP                  \        4      p\        V4      ^ 8X  g   Q h RRR4       \        P                  ! ^4      p\        P                   ! ^4      p\        \        \         P                  WRR7       \        \        \         P                  \        P                  ! R4      V4       \        \        \         P                  V\        P"                  ! R4      4       \        \        \         P                  V\        P                   ! ^4      4       R#   + '       g   i     L; i)r\  g4Vj?gy'@gI1?gSB#@ge<@g 4W(@g6R¿?g9r
v"@gс?g{#@g"f"@r   gN}O6?gYMW"@rx  )Zcheck_validZraiser  rF   NZother)r\  r5   r  g4x)rC   rB   rB   )r   rQ   Zmultivariate_normalr   rM   r   r   r   r	   r
   r>   r   r   r   r   r`   Zeyer  )	r1   rn  Zcovr   r   r   r   r   mu	   &        r   test_multivariate_normalZ'TestRandomDist.test_multivariate_normal  s3   DII1v1v++Dt<((/1BC/1BCE/1CD/1BCE/1BC02CDF	G H 	"&2> ++D6((-/?@A!&2> 1v1v1v^V%?%?K 	655t'/	1 	j&"<"<d")	+ hhC3(+2::>  C&&t1

>*Aq6Q;; !
 XXa[ffQij&"<"<d")	+j&"<"<hhy)3	0j&"<"<"((6*	,j&"<"<"&&)	% ! s   >JJ	c                s    \         P                  ! V P                  4       \         P                  ! ^dRR
R7      p\        P                  ! RR.RR.RR..4      p\        W4       R	# )rg   g|Pk?)nra   r   iP  iI  i|  ic  i  i  Nr  )r   rQ   r   r   rM   r   r   rb   r   r   Z%TestRandomDist.test_negative_binomial  sW    DII))C6G((S#J #J #J( ) 	6+r   c           	     sV   \        4       ;_uu_ 4       pVP                  \        4       \        \        \
        P                  ^d\        P                  4       \        \        \
        P                  ^d\        P                  .^
,          4       RRR4       R#   + '       g   i     R# ; i)rg   N)	r   r   r   r
   r>   r   r   r   rd   r^  r3   r   !test_negative_binomial_exceptionsZ0TestRandomDist.test_negative_binomial_exceptions  sa      CJJ~&*f&>&>RVVL*f&>&>66(R-) !   s   A:BB(	c                s$   \         P                  ! V P                  4       \         P                  ! ^^RR7      p\        P                  ! RR.RR.RR..4      p\        W^R7       \         P                  ! R	R
RR7      p\        P                  ! RR.RR.RR..4      p\        W^R7       \         P                  ! V P                  4       \         P                  ! ^^ RR7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R# )rK   )dfnoncr   gG7@g! ܴ*@g1}z9?@g+驸0@g26E_r#@gI!1@r   r9   rh   g?gTD?g?T?g+qnl?g~|D?g밬?g{01#@gprs'@g~;$@g"dI@g*@g}',@Nr  )r   rQ   noncentral_chisquarer   rM   r   r   rb   r   test_noncentral_chisquareZ(TestRandomDist.test_noncentral_chisquare!  s   DII,,G((13GH13GH02FGI J 	"&2>,,&I((03FG03FG.1DEG H 	"&2>DII,,G((.0BC/1BC/1CDF G 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! ^^^R
R7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R	# )rK   )dfnumdfdenr  r   g^~?g/+c?g".@g@g7?gE?r   Nr  )r   rQ   noncentral_fr   rM   r   r   rb   r   test_noncentral_fZ TestRandomDist.test_noncentral_f6  sg    DII$$1AA*02((02EF02EF02DEG H 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! ^^\        P                  R7      p\        P
                  ! V4      '       g   Q hR# )rK   )r  r  r  N)r   rQ   r  r   rd   isnan)r1   r   r3   r   test_noncentral_f_nanZ$TestRandomDist.test_noncentral_f_nan?  s?    DII$$1ABFFCxxr   c                s    \         P                  ! V P                  4       \         P                  ! R RR
R7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R	# )r\  r`  ra  g&&n@gOG_@g~w@gm&5@g$>@r   Nr  gtw]տ)r   rQ   normalr   rM   r   r   rb   r   test_normalZTestRandomDist.test_normalD  s`    DII:SvF((02EF.0DE02EFH I 	"&2>r   c                rP  rQ  )r   r   r  r
   r>   r?   r   r   test_normal_0ZTestRandomDist.test_normal_0L  rf  r   c                s    \         P                  ! V P                  4       \         P                  ! R R
R7      p\        P                  ! RR.RR.RR..4      p\        P
                  P                  W^R7       R	# )r\  r'   r   gWI@gԨy@gy]0Ag1~\Aga@gY
7A)ZnulpNr  )r   rQ   paretor   rM   ZtestingZassert_array_almost_equal_nulpr   rb   r   test_paretoZTestRandomDist.test_paretoP  sk    DII&9(()+BC)+BC)+BCEF 	

11&1Kr   c                s    \         P                  ! V P                  4       \         P                  ! R RR7      p\        P                  ! ^ ^ .^^ .^ ^ ..4      p\        W4       R# )r\  )lamr   Nr  )r   rQ   r   r   rM   r   r   rb   r   test_poissonZTestRandomDist.test_poisson_  sS    DIIJV<((QFFF$ % 	6+r   c                s   \         P                  ! R 4      P                  pRp\        \        \
        P                  V4       \        \        \
        P                  V.^
,          4       \        \        \
        P                  V4       \        \        \
        P                  V.^
,          4       \        4       ;_uu_ 4       pVP                  \        4       \        \        \
        P                  \         P                  4       \        \        \
        P                  \         P                  .^
,          4       RRR4       R#   + '       g   i     R# ; i)r   Nr;   )r   r   r   r
   r>   r   r   r   r   r   rd   )r1   ZlambigZlamnegr   r   r   test_poisson_exceptionsZ&TestRandomDist.test_poisson_exceptionsg  s    #""j&..&9j&..6(R-@j&..&9j&..6(R-@  CJJ~&*fnnbff=*fnnrvvhmD !   s   A8EE	c                rM  )r\  r  g;'?gܴw*?g5?gFG?g D]?g$`?r   Nr  )r   rQ   powerr   rM   r   r   rb   r   
test_powerZTestRandomDist.test_powers  s^    DII
8((02EF02EF02EFH I 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! ^
R
R7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R	# )r5   )rS  r   g"u+@gN$MB*@g7v8B4@g55@ge&@g~ӣZ1@r   Nr  )r   rQ   rayleighr   rM   r   r   rb   r   test_rayleighZTestRandomDist.test_rayleigh{  s^    DIIr7((02DE13GH13GHJ K 	"&2>r   c                rP  rQ  )r   r   r  r
   r>   r?   r   r   test_rayleigh_0ZTestRandomDist.test_rayleigh_0  s%    V__1-q1j&//=r   c                s    \         P                  ! V P                  4       \         P                  ! RR7      p\        P                  ! RR.RR	.R
R..4      p\        W^R7       R# )rI   r   gMoDL?grF=?gVA:Qy?r   Nr  g6([9gM'	- gV)r   rQ   Zstandard_cauchyr   rM   r   r   rb   r   test_standard_cauchyZ#TestRandomDist.test_standard_cauchy  s^    DII''V4((02FG02FG13FGI J 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! R
R7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R	# )rI   r   g܁?gc!z?g&N"@gNI@gF>?g~ME?r   Nr  )r   rQ   Zstandard_exponentialr   rM   r   r   rb   r   test_standard_exponentialZ(TestRandomDist.test_standard_exponential  s^    DII,,&9((02EF/1DE/1DEG H 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! ^R
R7      p\        P                  ! RR.RR.RR..4      p\        W^R7       R	# )rI   )rv   r   g)@gľ@gd],q@gPk{@g9B#1@gv @r   Nr  )r   rQ   standard_gammar   rM   r   r   rb   r   test_standard_gammaZ"TestRandomDist.test_standard_gamma  s`    DII&&QV<((02EF02EF02CDF G 	"&2>r   c                rP  )r    )rv   NrT  )r   r   r  r
   r>   r?   r   r   test_standard_gamma_0Z$TestRandomDist.test_standard_gamma_0  s)    V**3Q7j&"7"7sCr   c                s    \         P                  ! V P                  4       \         P                  ! R	R7      p\        P                  ! RR.RR
.RR..4      p\        W^R7       R# )rI   r   r   r   r   r   r   r   Nr  r   )r   rQ   r   r   rM   r   r   rb   r   test_standard_normalZ#TestRandomDist.test_standard_normal  s^    DII''V4((02EF.0CD.0CDF G 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! 4       p\        P                  ! R 4      p\        W^R7       R# )r   r   Nr   r   rb   r   test_randn_singletonZ#TestRandomDist.test_randn_singleton  s6    DII((./!&2>r   c                s    \         P                  ! V P                  4       \         P                  ! ^
RR7      p\        P                  ! RR.RR	.R
R..4      p\        W^R7       R# )r5   )r  r   g\VH?gH$M?g㖀?r   Nr  ghU%gLgVqdzǿ)r   rQ   
standard_tr   rM   r   r   rb   r   test_standard_tZTestRandomDist.test_standard_t  s`    DII""bv6((02FG02FG13FGI J 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! R RRRR7      p\        P                  ! RR.RR.RR	..4      p\        W^R
7       R# )g{Gz@g(\u$@gףp=
W4@)leftmoderightr   g:}\)@ghرTj(@gǨL30@g6ڜA0@g6sh&@g<,@r   Nr  )r   rQ   
triangularr   rM   r   r   rb   r   test_triangularZTestRandomDist.test_triangular  sg    DII""5(.0((13FG13GH13FGI J 	"&2>r   c                r=  )Gz?gGz%@)lowhighr   g>#H@gu@g#@g}d]#@gN@gw)* @r   Nr  )r   rQ   uniformr   rM   r   r   rb   r   test_uniformZTestRandomDist.test_uniform  s`    DIIDu6B((02EF02EF02EFH I 	"&2>r   c                s<   \         P                  ! R 4      P                  p\         P                  ! R 4      P                  p\        P
                  p\        \        V\         P                  ) ^ 4       \        \        V^ \         P                  4       \        \        W1V4       \        \        V\         P                  ) .^ .4       \        \        V^ .\         P                  .4       \        P
                  ! \         P                  ! V^4      VR,          R7       R# )rw   g ؅W4vC)r  r  N)
r   Zfinfor   r   r   r  r
   ZOverflowErrorZinf	nextafter)r1   ZfminZfmaxfuncr   r   test_uniform_range_boundsZ(TestRandomDist.test_uniform_range_bounds  s    xx $$xx $$~~mTBFF7A6mT1bff5mT6mTRVVG9qc:mTA39
 	2<<a0td{Cr   c                s    ! R  R\         P                  4      p\         P                  ! R4      P                  V4      p\	        \
        \        P                  VV4        ! R R\         P                  4      p\         P                  ! ^4      P                  V4      p\	        \
        \        P                  V^^4       R# )c                   &   a  ] tR tRt o R tRtV tR# )GTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloati  c                    \         hr   r=   r?   r   r   	__float__ZQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__      r   rU   N)rV   rW   rX   rY   r  rZ   r[   r\   r]   r   ThrowingFloatr            r   r  rw  c                   r  )ITestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingIntegeri  c                r  r   r  r?   r   r   __int__ZQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__  r  r   rU   N)rV   rW   rX   rY   r  rZ   r[   r\   r]   r   ThrowingIntegerr    r  r   r  N)	r   ZndarrayrM   r   r
   r=   r   r  r   )r1   r  Zthrowing_floatr  Zthrowing_intr   r   !test_scalar_exception_propagationZ0TestRandomDist.test_scalar_exception_propagation  s    	 BJJ 	  #++M:i$	&	 bjj 	  xx{''8i!6!6aKr   c                r=  )r  p=
ף?r~  kappar   gLZI@g'N"@gkr?gk=m@gډ?g^=\?r   Nr  r   rQ   vonmisesr   rM   r   r   rb   r   test_vonmisesZTestRandomDist.test_vonmises  s`    DIID6B((02EF02EF02EFH I 	"&2>r   c                s    \         P                  ! V P                  4       \         P                  ! R RRR7      p\        \        P
                  ! V4      P                  4       4       R# )rl   gg5_PG>r  N@B )r   rQ   r  r   r   Zisfinitern   r1   Zrr3   r   test_vonmises_smallZ"TestRandomDist.test_vonmises_small  s=    DIIOOre<A""$%r   c                s    \         P                  ! V P                  4       \         P                  ! R R^R7      p\        P                  ! . RO4      p\        W^R7       R# )rl   g    cAr  r   N)g A^>?g @R7?g x.r  r   rb   r   test_vonmises_largeZ"TestRandomDist.test_vonmises_large  sC    DIIBc:(( 4 5 	"&1=r   c                s    \         P                  ! V P                  4       \         P                  ! R \        P                  R7      p\        \        P                  ! V4      4       R# )rl   )r~  r  N)r   rQ   r  r   rd   r   r  r  r3   r   test_vonmises_nanZ TestRandomDist.test_vonmises_nan  s6    DIIOOr0r   c                s    \         P                  ! V P                  4       \         P                  ! R RRR7      p\        P                  ! RR.RR.RR..4      p\        W^R	7       R
# )r  r  )rn  rS  r   gZ@g-g@g8
m?gVP"?g`V?gx^&3?r   Nr  )r   rQ   waldr   rM   r   r   rb   r   	test_waldZTestRandomDist.test_wald  s`    DII$d@((02EF02EF02EFH I 	"&2>r   c                rM  )r  r  g@6?g]A?g(1ڥR?gU?g2_u?g^}-Q?r   Nr  )r   rQ   weibullr   rM   r   r   rb   r   test_weibullZTestRandomDist.test_weibull  s^    DII$V4((02EF02EF02EFH I 	"&2>r   c                s    \         P                  ! V P                  4       \        \         P                  ! ^ ^R7      \        P
                  ! ^4      4       \        \        \         P                  RR7       R# )r    r  )r'   NrT  )r   rQ   r   r  r   r`   r
   r>   r?   r   r   test_weibull_0ZTestRandomDist.test_weibull_0  s?    DIIV^^ab1288B<@j&..C8r   c                s    \         P                  ! V P                  4       \         P                  ! R RR7      p\        P                  ! ^B^.^^.^^..4      p\        W4       R# )r  r  Nr  )r   rQ   r   r   rM   r   r   rb   r   	test_zipfZTestRandomDist.test_zipf!  sS    DIIt&1((RHFG% & 	6+r   r   Nr;   )^rV   rW   rX   rY   r   r   r   r   r  r  r  r  r
  r  r  r  r  r  r  r  r  r!  r$  r%  r6  r:  r<  r?  r@  rB  rI  rJ  rK  rL  rO  rU  rX  rZ  r[  r]  r_  rd  re  rg  rj  rk  rm  rq  rr  rs  ru  r   r   Zparametrizer   r  rd   r{  r}  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rZ   r[   r\   r]   r   r   r     s    ??
E,2$,(&,@
E,,,,,2&,9\9
/&068$,6?,?E&
@;
6?A??F,G?<,4?=???,( [[Wr||B';R&LM	> N	>	,1%f,)?*? 
?<L,
E??>???D?????D L,?&>
??9
, ,r   r   c                   s   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R"t$V t%R## )$TestBroadcasti*  c                r   )[Nr   r?   r   r   r   ZTestBroadcast.setup_method-  s	    	r   c                sF    \         P                  ! V P                  4       R # r   )r   rQ   r?   r   r   set_seedZTestBroadcast.set_seed0  s    DIIr   c                s   ^ .p^.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          V4      p\        WT^R7       V P	                  4        V! W^,          4      p\        WT^R7       R# )r    r   Ngl?g_x?g=*BN?)r   r  r   rM   r  r   )r1   r  r  r  r   r   r   r   r  ZTestBroadcast.test_uniform3  sr    cs..(( 1 2 	q$'!&2>Qh'!&2>r   c                z   ^ .p^.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          V4      p\        We^R7       \        \        WA^,          V4       V P	                  4        V! W^,          4      p\        We^R7       \        \        WAV^,          4       R# )r    r   Nr;   )g-r@gYl@g-`w?)r   r  r   rM   r  r   r
   r>   )r1   rb  rS  	bad_scaler  r   r   r9  r   r  ZTestBroadcast.test_normalC  s    cD	(( 0 1 	a'!&2>j&'9=QY'!&2>j&y1}=r   c                   ^.p^.pR.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          V4      p\        Wv^R7       \        \        WS^,          V4       \        \        WQ^,          V4       V P	                  4        V! W^,          4      p\        Wv^R7       \        \        WSV^,          4       \        \        WQV^,          4       R# )rB   r   Nr;   rD   )gnQVf?gVKB?gv`k?)r   r>  r   rM   r  r   r
   r>   )r1   r'   r(   bad_aZbad_br>  r   r   r;  r   r?  ZTestBroadcast.test_betaV  s    CC{{(( 1 2 	a!eQ!&2>j$	15j$Au5aQ!&2>j$q1u5j$5195r   c                    ^.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          4      p\        WT^R7       \        \        W2^,          4       R# rB   r   Nr;   )g.UgZ?gi Prq?gEK?)r   rN  r   rM   r  r   r
   r>   )r1   rS  r  rN  r   r   r   r   rO  ZTestBroadcast.test_exponentiall  s_    D	(((( 1 2 	UQY'!&2>j+1}=r   c                r  r  )r   r  r   rM   r  r   r
   r>   )r1   rv   	bad_shapeZ	std_gammar   r   r   r   r  Z!TestBroadcast.test_standard_gammay  s_    D	))	(( 1 2 	519%!&2>j)];r   c                r  )rB   r   Nr;   rD   )g.UgZ?gi Prq?gEK?)r   rY  r   rM   r  r   r
   r>   )r1   rv   rS  r  r  rY  r   r   r;  r   rZ  ZTestBroadcast.test_gamma  s    D	D	(( 0 1 	uqy%(!&2>j%Q>j%I>uai(!&2>j%EAI>j%	A>r   c                r  )rB   r   Nr;   rD   )gbyʜ?go?gT7@)r   rW  r   rM   r  r   r
   r>   )r1   r  r  	bad_dfnum	bad_dfdenrW  r   r   r;  r   rX  ZTestBroadcast.test_f  s    D	D	HH(( 0 1 	519e$!&2>j!]E:j!QY	:5!)$!&2>j!	:j!IM:r   c           
     s   ^.p^.p^.p^ .pR.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          W#4      p	\        W^R7       \        P                  ! \        P                  ! V! W\        P                  .^,          4      4      4      '       g   Q h\        \        Wt^,          W#4       \        \        Wq^,          WS4       \        \        Wq^,          W&4       V P	                  4        V! W^,          V4      p	\        W^R7       \        \        WtV^,          V4       \        \        WqV^,          V4       \        \        WqV^,          V4       V P	                  4        V! WV^,          4      p	\        W^R7       \        \        WtW#^,          4       \        \        WqWS^,          4       \        \        WqW&^,          4       R# )rC   r   Nr;   rD   )gr^G"@g/*@gц!@)r   r  r   rM   r  r   rn   r  rd   r
   r>   )
r1   r  r  r  r  r  bad_noncZnonc_fr   r   s
   &         r   r  ZTestBroadcast.test_noncentral_f  sz   sC	D	4$$(( 0 1 		5/!&2>vvbhhveRVVHqLABCCCCj&a-Ej&!)YEj&!)UEqy$/!&2>j&UQYEj&QEj&HEdQh/!&2>j&U1HEj&1HEj&1Er   c                s    V P                  4        \        P                  ! R R.4      p\        P                  ! RR^^R7      p\        W!^R7       R# )gaz@gn4M;%?r{   r   r   N)r  r   rM   r   r  r   )r1   r   r   rb   r   test_noncentral_f_small_dfZ(TestBroadcast.test_noncentral_f_small_df  s@    ((-/@AB$$S#qq9!&2>r   c                r  )rB   r   Nr;   )g~}N??g$F?g'rS?)r   rA  r   rM   r  r   r
   r>   )r1   r  bad_dfrA  r   r   r   r   rB  ZTestBroadcast.test_chisquare  s_    S$$	(( 0 1 	26"!&2>j)aZ8r   c                r  )rB   r   Nr;   rD   )g w "@g2WR@gRY@)r   r  r   rM   r  r   r
   r>   )r1   r  r  r  r  Znonc_chir   r   r;  r   r  Z'TestBroadcast.test_noncentral_chisquare  s    Ss4..(( 0 1 	"q&$'!&2>j(QJ=j(FH="Qh'!&2>j(D1H=j(1=r   c                4   ^.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          4      p\        WT^R7       \        \        W2^,          4       \        \        \         P                  V^,          4       R# )rB   r   Nr;   )gT@g~Fl@gƚtp?)r   r  r   rM   r  r   r
   r>   )r1   r  r  tr   r   r   r   r  ZTestBroadcast.test_standard_t  st    S(( 0 1 	26!&2>j!aZ0j&"3"3VaZ@r   c                sz   ^.p^.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          V4      p\        We^R7       \        \        WA^,          V4       V P	                  4        V! W^,          4      p\        We^R7       \        \        WAV^,          4       R# )rC   r   Nr;   )gW!@gOBg}?)r   r  r   rM   r  r   r
   r>   )r1   r~  r  Z	bad_kappar  r   r   r9  r   r  ZTestBroadcast.test_vonmises  s    SD	??(( 1 2 	"q&%(!&2>j(FI>"ai(!&2>j(	A>r   c                r  )rB   r   Nr;   )g&8??geFX?gՋː?)r   r  r   rM   r  r   r
   r>   )r1   r'   r  r  r   r   r   r   r  ZTestBroadcast.test_pareto  sp    C(( 0 1 	A!&2>j&!)4j&--;r   c                r  r  )r   r  r   rM   r  r   r
   r>   )r1   r'   r  r  r   r   r   r   r  ZTestBroadcast.test_weibull-  sp    C..(( 1 2 	Q!&2>j'195j&..%!)<r   c                r  )rB   r   Nr;   r  )r   r  r   rM   r  r   r
   r>   )r1   r'   r  r  r   r   r   r   r  ZTestBroadcast.test_power;  sp    C(( 1 2 	q1u!&2>j%3j&,,	:r   c                r  )r    r   Nr;   )g:BKc?g3k?g~q?)r   ri  r   rM   r  r   r
   r>   )r1   rb  rS  r  ri  r   r   r9  r   rj  ZTestBroadcast.test_laplaceI  s    cD	..(( 2 3 	q%(!&2>j'7I>ai(!&2>j'	A>r   c                r  )r    r   Nr;   )g'Zy?gdSO=?g3L1?)r   rc  r   rM   r  r   r
   r>   )r1   rb  rS  r  rc  r   r   r9  r   rd  ZTestBroadcast.test_gumbel\  s    cD	(( 1 2 	a'!&2>j&'9=QY'!&2>j&y1}=r   c                s   ^ .p^.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          V4      p\        We^R7       \        \        WA^,          V4       V P	                  4        V! W^,          4      p\        We^R7       \        \        WAV^,          4       \        \         P                  ! RR4      R4       R# )r    r   rw  rl   Nr;   )gy?gJR?g
~&?)	r   rl  r   rM   r  r   r
   r>   r   )r1   rb  rS  r  rl  r   r   r9  r   rm  ZTestBroadcast.test_logistico  s    cD	??(( 2 3 	#'5)!&2>j(!GY?#qy)!&2>j(Q?V__S#.4r   c                s   ^ .p^.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          V4      p\        We^R7       \        \        WA^,          V4       \        \        \         P                  V^,          V4       V P	                  4        V! W^,          4      p\        We^R7       \        \        WAV^,          4       \        \        \         P                  W^,          4       R# )r    r   Nr;   )gH"@gܮ @gvv	:@)r   rp  r   rM   r  r   r
   r>   )r1   rn  ro  Z	bad_sigmarp  r   r   r9  r   rq  ZTestBroadcast.test_lognormal  s    sD	$$	(( 0 1 	4!8U+!&2>j)AXyAj&"2"2D1HiH4+!&2>j)9q=Aj&"2"2Da-Hr   c                r  )rB   r   Nr;   )gݱlo?g/ӂ?gz~R?)r   r  r   rM   r  r   r
   r>   )r1   rS  r  r  r   r   r   r   r  ZTestBroadcast.test_rayleigh  s]    D	??(( 0 1 	%!)$!&2>j(M:r   c                s   R .p^.p^ .pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          V4      p\        Wv^R7       \        \        WS^,          V4       \        \        WQ^,          V4       \        \        \         P                  V^,          V4       \        \        \         P                  V^,          V4       V P	                  4        V! W^,          4      p\        Wv^R7       \        \        WSV^,          4       \        \        WQV^,          4       \        \        VR^4       \        \        VR R4       R# )r9   r   rl   NrD   )g@m e?g`I߿?g|2?)r   r  r   rM   r  r   r
   r>   )r1   rn  rS  Zbad_meanr  r  r   r   r;  r   r  ZTestBroadcast.test_wald  s   u3D	{{(( 0 1 	dQh&!&2>j$1e<j$q)<j&++x!|UCj&++taxCdAI&!&2>j$%!)<j$i!m<j$Q/j$S1r   c                s   ^.p^.p^.p^.p^.pV^,          w  rg\         P                  p\        P                  ! . RO4      p	V P	                  4        V! V^,          W24      p
\        W^R7       \        \        W^,          W24       \        \        W^,          WR4       \        \        W^,          VV4       V P	                  4        V! W^,          V4      p
\        W^R7       \        \        WV^,          V4       \        \        WV^,          V4       \        \        WV^,          V4       V P	                  4        V! WV^,          4      p
\        W^R7       \        \        WW2^,          4       \        \        WWR^,          4       \        \        WVV^,          4       \        \        VRRR4       \        \        VRRR4       \        \        VRRR4       R# )rB   r         $@rl   g      4@g      9@N)g,P;bD @g%G @g,~S @)r   r  r   rM   r  r   r
   r>   )r1   r  r  r  Zbad_left_oneZbad_mode_oneZbad_left_twoZbad_mode_twor  r   r      &          r   r  ZTestBroadcast.test_triangular  s   ssss%*QY"&&
(( 0 1 	D1Hd2!&2>j*Q.>Lj*QhLj*Q.>	 	D(E2!&2>j*D1HeLj*L14DeLj*L1<L	 	D	2!&2>j*D!)Lj*L!)Lj*Lai	! 	j*c2s;j*c3<j*c3<r   c                >   ^.pR.pR.pR.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          V4      p\        W4       \        \        Wc^,          V4       \        \        Wa^,          V4       \        \        Wa^,          V4       V P	                  4        V! W^,          4      p\        W4       \        \        WcV^,          4       \        \        WaV^,          4       \        \        WaV^,          4       R# )rB   r9         ?Nr;   rB   rB   rB   )r   r   r   rM   r  r   r
   r>   )	r1   r  ra   bad_n	bad_p_one	bad_p_twoZbinomr   r   r  r   r@  ZTestBroadcast.test_binomial  s    CED	E	((9%q1ua6+j%A6j%Q	:j%Q	:qa%6+j%A6j%IM:j%IM:r   c                r  )rB   r9   r  Nr;   )rB   r    rB   )r   r   r   rM   r  r   r
   r>   )	r1   r  ra   r  r  r  Z	neg_binomr   r   r  r   r   Z$TestBroadcast.test_negative_binomial  s    CED	E	,,	((9%1q5!$6+j)QY:j)UI>j)UI>1!e$6+j)AE:j)	A>j)	A>r   c                sd   \         P                  ! 4       P                  p^.pR.pV^,          .p\         P                  p\        P
                  ! . RO4      pV P                  4        V! V^,          4      p\        Wv4       \        \        WS^,          4       \        \        WT^,          4       R# )rB   Nr;   )rB   rB   r    )
r   r.   Z_poisson_lam_maxr   r   rM   r  r   r
   r>   )r1   Zmax_lamr  Zbad_lam_oneZbad_lam_twor   r   r   r;  r   r  ZTestBroadcast.test_poisson  s    $$&77cd{m..((9%q!6+j'?;j'?;r   c           	     s   ^.p^ .p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          4      p\        WT4       \        \        W2^,          4       \        P                  ! RR7      ;_uu_ 4        \        \        V\        P                  4       \        \        V^ ^ \        P                  .4       RRR4       R#   + '       g   i     R# ; i)rC   rx  ry  N)rC   rC   rB   )
r   r   r   rM   r  r   r
   r>   rz  rd   )r1   r'   r  r   r   r   r   r   r  ZTestBroadcast.test_zipf$  s    C{{((9%a!e6+j$	2[[***dBFF3*dQ266N; +***s   ACC,	c                s   R .pR.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          4      p\        We4       \        \        WB^,          4       \        \        WC^,          4       R# )r9   r  Nr;   rs   )r   r   r   rM   r  r   r
   r>   )r1   ra   r  r  Zgeomr   r   r9  r   r]  ZTestBroadcast.test_geometric2  sj    ED	E	((9%a!e6+j$A6j$A6r   c                sb   ^.p^.p^.pR.pR.p^ .p^.p\         P                  p\        P                  ! . RO4      p	V P	                  4        V! V^,          W#4      p
\        W4       \        \        W^,          W#4       \        \        W^,          WS4       \        \        W^,          W&4       \        \        W^,          W'4       V P	                  4        V! W^,          V4      p
\        W4       \        \        WV^,          V4       \        \        WV^,          V4       \        \        WV^,          V4       \        \        WV^,          V4       V P	                  4        V! WV^,          4      p
\        W4       \        \        WW#^,          4       \        \        WWS^,          4       \        \        WW&^,          4       \        \        WW'^,          4       \        \        VR^
^4       \        \        V^
R^4       \        \        V^
^
^ 4       \        \        V^
^
^4       R# )rB   Nr;   rD   r  )r   r   r   rM   r  r   r
   r>   )r1   ZngoodZnbadZnsampleZ	bad_ngoodZbad_nbadZbad_nsample_oneZbad_nsample_twoZ	hypergeomr   r   r  r   rg  Z!TestBroadcast.test_hypergeometric?  s   s#D	4##))	((9%519d46+j)]DJj)QYJj)QYNj)QYN5(G46+j)q'Jj)HqL'Jj)D1HoNj)D1HoN5!46+j)kJj)HkJj)DA:MNj)DA:MNj)RR8j)RR8j)RQ7j)RR8r   c                s   R .p^.pR.p\         P                  p\        P                  ! . RO4      pV P	                  4        V! V^,          4      p\        We4       \        \        WB^,          4       \        \        WC^,          4       R# )r9   Nr;   r  )r   r   r   rM   r  r   r
   r>   )r1   ra   r  r  r   r   r   r9  r   rs  ZTestBroadcast.test_logseriesg  sk    EC	D	$$	((9%1q5!6+j)];j)];r   r   N)&rV   rW   rX   rY   r   r  r  r  r?  rO  r  rZ  rX  r  r  rB  r  r  r  r  r  r  rj  rd  rm  rq  r  r  r  r@  r   r  r  r]  rg  rs  rZ   r[   r\   r]   r   r  r  *  s     ? >&6,><?,;,!FF?9>,A?&<=;?&>&5(I*;24&=P;.?.<<7&9P< <r   r  zcan't start threadr   c                   s>   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	
TestThreadiu  c                s&    \        ^4      V n        R# )rJ   N)r6   seedsr?   r   r   r   ZTestThread.setup_methodx  s    1X
r   c           
     s*   ^ RI Hp \        P                  ! \	        V P
                  4      3V,           4      p\        P                  ! \	        V P
                  4      3V,           4      p\        V P
                  V4       UUu. uF%  w  rgV! V\        P                  ! V4      V3R7      NK'  	  pppV U	u. uF  qP                  4       NK  	   p	V U	u. uF  qP                  4       NK  	   p	\        V P
                  V4       F"  w  rgV! \        P                  ! V4      V4       K$  	  \        P                  ! 4       P                  P                  ^8X  d#   \        P                  R8X  d   \!        WE4       R# \#        WE4       R# u uppi u up	i u up	i )r    )Thread)ZtargetargsZwin32N)Z	threadingr  r   r  r   r  Zzipr   r.   ZstartZjoinZintprG   Zitemsizer   Zplatformr   r   )
r1   Zfunctionszr  Zout1Zout2r2   Zor  rp   s
   &&&       r   check_functionZTestThread.check_function{  s!   $xxTZZ*R/0xxTZZ*R/0 TZZ.0. 86+=+=a+@!*DE. 	
 0AqA1a1 

D)DAV''*A. * 779??##q(S\\W-D%d1t*0s   +F4FFc                2    R  pV P                  VRR7       R# )c                 s0    V P                  R R7      VR&   R# )'  r   .N)r  r!   outr)   r   
gen_randomZ*TestThread.test_normal.<locals>.gen_random  s    |||/CHr   r  N)r  r  r1   r  r3   r   r  ZTestThread.test_normal  s    	0 	J84r   c                r  )c                 sX    V P                  \        P                  ! R4      R7      VR&   R# )rg   rR  .Nrg   r,   )rN  r   r#  r  r)   r   r  Z'TestThread.test_exp.<locals>.gen_random  s"    ((rww{/C(DCHr   r  Nr  r  r  r3   r   test_expZTestThread.test_exp  s    	E 	J;7r   c                r  )c                 sD    V P                  ^
R.^,          RR7      VR&   R# )r5   r  r   .Nr|  )r   r  r)   r   r  Z/TestThread.test_multinomial.<locals>.gen_random  s#    ((fX\(FCHr   r  N)r  rL   r  r  r3   r   r}  ZTestThread.test_multinomial  s    	G 	J:6r   )r  N)rV   rW   rX   rY   r   r  r  r  r}  rZ   r[   r\   r]   r   r  r  u  s#     +,587 7r   r  c                   s8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestSingleEltArrayInputi  c                s    \         P                  ! ^.4      V n        \         P                  ! ^.4      V n        \         P                  ! ^.4      V n        RV n        R# )rC   Nr/  )r   rM   argOneargTwoargThreetgtShaper?   r   r   r   Z$TestSingleEltArrayInput.setup_method  s<    hhsmhhsm!r   c                sp   \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  3p\         P                  \         P                  3pV FY  pW29   d   V! \        P                  ! R .4      4      pMV! V P                  4      p\!        VP"                  V P$                  4       K[  	  R# r   )r   rN  r  rA  r  r  r  r  r  r   r   r   r   r   rM   r  r   rv   r  )r1   funcs	probfuncsr  r  r   r   test_one_arg_funcsZ*TestSingleEltArrayInput.test_one_arg_funcs  s    ##V%:%:!!6#4#4v!!6#3#35 %%v'7'78	D 288SE?+ 4;;'DMM2 r   c                s   \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  3p\         P                  \         P                  3pV F  pW29   d   \        P                   ! R .4      pMV P"                  pV! V P$                  V4      p\'        VP(                  V P*                  4       V! V P$                  ^ ,          V4      p\'        VP(                  V P*                  4       V! V P$                  V^ ,          4      p\'        VP(                  V P*                  4       K  	  R# r   )r   r  r  r>  rY  rW  r  r  ri  rc  rl  rp  r  r   r   r   rM   r  r  r   rv   r  )r1   r  r  r  r  r  r   r   test_two_arg_funcsZ*TestSingleEltArrayInput.test_two_arg_funcs  s   fll666&..!!6;;&":":< __f&>&>?	D 3% t{{F+CDMM2t{{1~v.CDMM2t{{F1I.CDMM2 r   c                sB   \         P                  \         P                  \         P                  .pV F  pV! V P                  V P
                  V P                  4      p\        VP                  V P                  4       V! V P                  ^ ,          V P
                  V P                  4      p\        VP                  V P                  4       V! V P                  V P
                  ^ ,          V P                  4      p\        VP                  V P                  4       K  	  R# rt  )
r   r  r  r   r  r  r  r   rv   r  )r1   r  r  r  r   r   test_three_arg_funcsZ,TestSingleEltArrayInput.test_three_arg_funcs  s    $$f&7&7&&( Dt{{DKK?CDMM2t{{1~t{{DMMBCDMM2t{{DKKNDMMBCDMM2 r   )r  r  r  r  N)
rV   rW   rX   rY   r   r  r   r  rZ   r[   r\   r]   r   r  r    s     3&363 3r   r  c                 s    \         P                  ! R 4       V w  rp\        \         V4      pV! VR^/ p\        VP                  \
        P                  ! R4      8H  4       R# )r  r   r   N)r   rQ   getattrr   rG   r   )r   fnamer  r   rW  r   r   r   test_integer_dtyper    sL    
KK	"EA1FFLLBHHSM)*r   c                 sR   \         P                  ! R 4       V w  rp\        \         V4      pV! VRR/ p\        P                  R8w  d   VP                  4       p\        P                  ! VP                  \        P                  4      4      P                  4       p\        Wc8H  4       R# )r  r   r  r   N)r   rQ   r  r   r   r   r   r   r   r   r   r   r   )r   r  r  r   rW  r   r   r9  r   test_integer_repeatr    sx    
KK	"EA
T
 
 C
}} lln
.."''*
+
5
5
7CCMr   c                  s"   \         P                  ! \        4      ;_uu_ 4        \        P                  ! ^RR.RR7       RRR4       \         P                  ! \        4      ;_uu_ 4        \        P                  ! ^^.RRR7       RRR4       \         P                  ! \        4      ;_uu_ 4        \        P                  ! ^^.RR.RR7       RRR4       R#   + '       g   i     L; i  + '       g   i     Lm; i  + '       g   i     R# ; i)rB   r  gffffff?r   N)rC   rB   )r   r   r>   r   r   rU   r   r   test_broadcast_size_errorr    s    	z	"	"C:F3 
#	z	"	"A&1 
#	z	"	"Ac
8 
#	"	 
#	"	"	"	"	"	"s#   C)C*/C=C'	*C:	=D	c                  st   \         P                  P                  \        ^ 4      4      p V P	                  ^4       V P                  4       w  rpV^ ,          P                  P                  R8X  g   Q hV! R!  pVP                  V4       VP                  RR7      p\        VR,          VR,          4       \        VR,          R,          VR,          R,          4       \        VR,          R,          VR,          R,          4       \        VR,          VR,          4       \        VR	,          VR	,          4       R
# )r    r   Fr   r    r!   r"   r#   r$   r%   N)r   )r   r   r.   r   r   Z
__reduce__Z	__class__rV   r   r   r   r   )rR   Zctorr  Zstate_ar(   Zstate_bs         r   &test_randomstate_ctor_old_style_pickler    s    			wqz	*Bq--/D7%%222lAKKkkk'G)7?+CDww'.0@0GHww'.0@0GH%w{';<!77#34r   c                 sv   \         P                  P                  ^ 4      pVP                  p\         P                  P	                  V4       \        \         P                  P                  P                  P                  \        V4      4      '       g   Q h\         P                  P                  4       pW#J g   Q hR# rt  )r   r   Zdefault_rngr    r   r   ZmtrandZ_randZ_bit_generatorr   r   )r   Zdef_bgbgZ	second_bgr   r   test_hot_swapr	    s|    YY""1%F			BII#bii&&,,;;T"XFFFF		++-I??r   c                 s   \        ^ 4      p\        P                  P                  V4       \        P                  P	                  RR7      p\        P                  P                  ^4       \        P                  P	                  RR7      p\        V4       \        V4       VR,          R8X  g   Q hVR,          R,          VR,          R,          8w  g   Q hVR,          R,          VR,          R,          8w  g   Q hR# )r    Fr   r    r   r!   incN)r   r   r   r   r   rQ   Zprint)r   r  r!   r   r   r   test_seed_alt_bit_genr  $  s    	qBII#IIu-EIINN1		##5#1I	%L	)!W,,,>'"i&8&AAAA>% Ig$6u$====r   c                 sV   \         P                  P                  4       p\        ^ 4      p\         P                  P	                  V4       \
        P                  ! \        RR7      ;_uu_ 4        \         P                  P                  V4       RRR4       R#   + '       g   i     R# ; i)r    zstate must be for a PCG64r   N)	r   r   r   r   r   r   r   r>   r   )r   r!   r  rb   r   test_state_error_alt_bit_genr  2  sc    II!E	qBII#	z)D	E	E
		E" 
F	E	E	Es   - BB(	c                 s   \         P                  P                  R 4       \         P                  P                  ^ R^
4      p\	        ^ 4      pVP
                  p\         P                  P                  V4       \         P                  P                  RR7      pV F  pW5,          WE,          8X  d   K  Q h	  \         P                  P                  R 4       \         P                  P                  ^ R^
4      p\         P                  ! W8H  4      '       d   Q hVP
                  pVR,          R,          VR,          R,          8w  g   Q hVR,          R,          VR,          R,          8X  g   Q hR# )́ Fr   r!   r
  N   @)	r   r   rQ   r/   r   r!   r   r   rn   )r   r   r  r!   Zstate_directZfieldZpcg_valsr   r;  r   test_swap_workedr  ;  s   IINN599Q,D	qBHHEII#99&&e&4L||2222 IINN5yy  GR0Hvvd&''''IWg&%.*AAAAWe$	'(:5(AAAAr   c                 s$   \         P                  P                  \        R 4      4       \         P                  P	                  ^ R^
4      p\         P                  P                  \        R 4      4      pVP	                  ^ R^
4      p\        W14       R# )r  Nr  )r   r   r   r   r/   r.   r   )r   Zsingleton_valsZrgZnon_singleton_valsr   r   %test_swapped_singleton_against_directr  M  sd    IIe-YY&&q'26N			uU|	,BAw3#4r   )g      Y@g333333?)r9   )r7  r7  r5   )rg   r9   )r  )rC   rA   )3r   r   r   r	  r   Znumpyr   r   Znumpy.randomr   r   Znumpy.testingr   r   r   r   r   r	   r
   r   r   r#  r   r   r   r   r   Zfixturer   r   r*   r+   r^   rf   r   r   r   r  r   r   r  r  r  r  r  r  r	  r  r  r  r  rU   r   r   <module>r     s     
     '
 
 
 %|%Rc!12 )T	 88BGG5 !,n",n",n',n$,n*,n ,n,nO ",n",n',n",n$,n*,n ,n,nO hy1, 2,
 - -),? ,?^> >6. 6.pTJ TJna+ a+Hh, h,VH	< H	<V G$89+7 +7 :+7^A3 A3J+95$>#B$5r   