+
    LV-jZÖ  ã            
       óD  € ^ RI t ^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RI	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 ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ^ R	IH t H!t! ^ R
I"H#t#  ! R R4      t$RR]$! 4       /3RR. RVO/3RR. RVO/3RR]$! 4       /3RR]$! 4       /3RR]$! 4       R^ /3.t%]PL                  PN                  R8X  d   ]PL                  PP                  RW8  d   Rt)MRt)R ]R3R ]*])3R ]+R3R ]R3R ]R3R  ]*R!3.t,R" ]R3R# ]R3R$ ]*])3R% ]+R3R& ]*R!3.t-R' ]*])3R( ]+R3R) ]R3R* ]R3R+ ]*R!3.t.. R,3R-R...R/3R0R1]
P^                  R.R23R0R1]
P`                  R.R23R.R..R33.t1RX]2R43RY]2R43.t3RZ]R53R[]R53.t4R\]R53]
P`                  ]
P`                  3]R53]
P`                  ) ]
P`                  ) 3]R53]
P`                  ]
P`                  ) 3]R53]
P`                  ) ]
P^                  3]2R63]
P^                  ]
P`                  3]2R63.t5^ ]
P^                  3]2R63]
P^                  ]
P^                  3]2R63.t6]Pn                  Pq                  R7]4]3,           ]6,           4      ]Pn                  Pq                  R8]%4      R9 4       4       t9]Pn                  Pq                  R8]%4      R: 4       t:R; t;R< t<]Pn                  Pq                  R8]%4      R= 4       t=]Pn                  Pq                  R>. R]O4      R? 4       t>R@ t?R^RA lt@R_RB ltARC tB]Pn                  Pq                  RD. R`O4      RE 4       tC]Pn                  Pq                  RDRR.4       ! RF RG4      4       tD ! RH RI4      tE ! RJ RK4      tF ! RL RM4      tG ! RN RO4      tH ! RP RQ4      tI ! RR RS4      tJ ! RT RU4      tKR# )aé    N)Údeepcopy)Úassert_allcloseÚassert_equal)ÚTransformedDensityRejectionÚDiscreteAliasUrnÚDiscreteGuideTableÚNumericalInversePolynomialÚNumericalInverseHermiteÚRatioUniformsÚSimpleRatioUniformsÚUNURANError)Úraises)Ústats)Úspecial)Ú	chisquareÚcramervonmises)ÚdistdiscreteÚdistcont)Úcheck_random_statec                   ó2   a € ] tR t^"t o R tR tR tRtV tR# )ÚStandardNormalc                ó¸   € R \         P                  ! R\         P                  ,          4      ,          \         P                  ! RV,          V,          4      ,          # ©ç      ð?ç       @ç      à¿©ÚnpÚsqrtÚpiÚexp©ÚselfÚxs   &&Úp/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/stats/tests/test_sampling.pyÚpdfÚStandardNormal.pdf#   s4   € à”"—'’'˜"œRŸU™U�(Ó#Õ#¤b§f¢f¨T°A­X°a­ZÓ&8Õ8Ð8ó    c                óÈ   € R \         P                  ! R\         P                  ,          4      ,          V) ,          \         P                  ! RV,          V,          4      ,          # r   r   r"   s   &&r%   ÚdpdfÚStandardNormal.dpdf'   s;   € Ø”"—'’'˜"œRŸU™U�(Ó#Õ# q bÕ(¬2¯6ª6°$¸µ(¸1µ*Ó+=Õ=Ð=r(   c                ó.   € \         P                  ! V4      # ©N)r   Úndtrr"   s   &&r%   ÚcdfÚStandardNormal.cdf*   s   € Ü�|Š|˜A‹Ðr(   © N©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r&   r*   r/   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r%   r   r   "   s   ø‡ € ò9ò>÷ð r(   r   r   Údistr   çš™™™™™é?r   r	   r
   r   ÚmodeÚpypyz.unsupported operand type for float\(\): 'list'zmust be real number, not listc                 ó   € V ) # r-   r1   ©r$   s   &r%   Ú<lambda>rA   B   s   € �‰rr(   z...c                 ó   € . # r-   r1   r@   s   &r%   rA   rA   D   ó   € ‰rr(   c                 ó   € \         # r-   ©Úfoor@   s   &r%   rA   rA   F   ó   € �sr(   úname 'foo' is not definedc                 ó"   € \         P                  # r-   ©r   Úinfr@   s   &r%   rA   rA   H   ó   € Œr�vŠvr(   c                 ó"   € \         P                  # r-   ©r   Únanr@   s   &r%   rA   rA   J   rL   r(   c                  ó   € R # ©r   r1   r1   r(   r%   rA   rA   L   ó   € ‰Sr(   ú,takes 0 positional arguments but 1 was givenc                 ó"   € \         P                  # r-   rJ   r@   s   &r%   rA   rA   S   rL   r(   c                 ó"   € \         P                  # r-   rN   r@   s   &r%   rA   rA   U   rL   r(   c                 ó   € . # r-   r1   r@   s   &r%   rA   rA   W   rC   r(   c                 ó   € \         # r-   rE   r@   s   &r%   rA   rA   Y   rG   r(   c                  ó   € R # rQ   r1   r1   r(   r%   rA   rA   [   rR   r(   c                 ó   € . # r-   r1   r@   s   &r%   rA   rA   b   rC   r(   c                 ó   € \         # r-   rE   r@   s   &r%   rA   rA   d   rG   r(   c                 ó"   € \         P                  # r-   rJ   r@   s   &r%   rA   rA   f   rL   r(   c                 ó"   € \         P                  # r-   rN   r@   s   &r%   rA   rA   h   rL   r(   c                  ó   € R # rQ   r1   r1   r(   r%   rA   rA   j   rR   r(   z!must contain at least one elementr   ç        z0wrong number of dimensions \(expected 1, got 2\)çš™™™™™É?çš™™™™™Ù?ú)must contain only finite / non-nan valuesú(must contain at least one non-zero valuezmust be a length 2 tuplezleft >= rightzonly non-nan valuesúdomain, err, msgzmethod, kwargsc                 óÊ   € \        \        P                  V4      p\        P                  ! WR 7      ;_uu_ 4        V! R/ VBRV /B  RRR4       R#   + '       g   i     R# ; i)©ÚmatchÚdomainNr1   )Úgetattrr   ÚsamplingÚpytestr   )rg   ÚerrÚmsgÚmethodÚkwargsÚMethods   &&&&& r%   Útest_bad_domainrp   ›   sB   € ô
 ”U—^‘^ VÓ,€FÜ	�Š�s×	&Ö	&ÙÑ'�Ñ' Ó'÷ 
'×	&×	&Ò	&ús   ºAÁA"	c                 ó8  € \        \        P                  V 4      p^{pV! R/ VBRV/B pV! R/ VBRV/B p\        VP	                  ^d4      VP	                  ^d4      4       \
        P                  P                  ^{4      pV! R/ VB pVP	                  ^dVR7      p\
        P                  P                  R4       V! R/ VBR^{/B pVP	                  ^d4      p\        Wx4       \
        P                  P                  \
        P                  P                  ^{4      4      p	\
        P                  P                  \
        P                  P                  ^{4      4      p
V! R/ VBRV	/B pV! R/ VBRV
/B p\        VP	                  ^d4      VP	                  ^d4      4       R# )é{   Úrandom_state©rs   Nr1   )rh   r   ri   r   Úrvsr   ÚrandomÚRandomStateÚseedÚMT19937Ú	Generator)rm   rn   ro   rx   Úrng1Úrng2ÚrngÚrvs1Úrvs2Úseed1Úseed2s   &&         r%   Útest_random_stater‚   ¥   sI  € ä”U—^‘^ VÓ,€Fð €DÙÑ.�FÑ.¨Ò.€DÙÑ.�FÑ.¨Ò.€DÜ�—‘˜#“ §¡¨£Ô.ô �)‰)×
Ñ
 Ó
$€CÙÑ�FÑ€DØ�8‰8�C cˆ8Ó*€DÜ‡I�I‡N�N�4ÔÙÑ-�FÑ-¨Ò-€DØ�8‰8�C‹=€DÜ�Ôô
 �I‰I×!Ñ!¤"§)¡)×"3Ñ"3°CÓ"8Ó9€EÜ�I‰I×Ñ¤§	¡	× 1Ñ 1°#Ó 6Ó7€EÙÑ/�FÑ/¨Ò/€DÙÑ/�FÑ/¨Ò/€DÜ�—‘˜#“ §¡¨£Ö.r(   c                  ór  € \        \        4       ^{R7      p \        \        4       4      pVP                  ^{4       \        V P	                  ^d4      VP	                  ^d4      4       \        \        4       ^{R7      pVP	                  ^d4      pVP                  ^{4       VP	                  ^d4      p\        W44       R# )rr   rt   N)r   r   Úset_random_stater   ru   )r{   r|   r}   r~   r   s        r%   Útest_set_random_stater…   Â   s…   € Ü&¤~Ó'7ÀcÔJ€DÜ&¤~Ó'7Ó8€DØ×Ñ˜#ÔÜ�—‘˜#“ §¡¨£Ô.Ü
%¤nÓ&6ÀSÔ
I€CØ�7‰7�3‹<€DØ×Ñ˜ÔØ�7‰7�3‹<€DÜ�Ör(   c                  ób  aa€ R RRR/o ! R R4      oVV3R lp VV3R lp\         P                  ! V R7      p\         P                  ! VR7      pVP                  4        VP                  4        VP                  4        VP                  4        SR ,          R8X  g   Q hSR,          R	8X  g   Q hR# )
Úerr1NÚerr2c                   ó2   a € ] tR t^Ôt o R tR tR tRtV tR# )Ú.test_threading_behaviour.<locals>.Distributionc                ó   € Wn         R # r-   ©Úpdf_msg)r#   r�   s   &&r%   Ú__init__Ú7test_threading_behaviour.<locals>.Distribution.__init__Õ   s   € Ø"ŽLr(   c                óV   € R Tu;8  d   R8  d   M V# \        V P                  4      hV# )g33333óH@g      I@)Ú
ValueErrorr�   r"   s   &&r%   r&   Ú2test_threading_behaviour.<locals>.Distribution.pdfØ   s(   € Ø�aŽ˜$ŽàˆHô ! §¡Ó.Ð.ØˆHr(   c                ó   € ^# ©é   r1   r"   s   &&r%   r*   Ú3test_threading_behaviour.<locals>.Distribution.dpdfÝ   s   € Ùr(   rŒ   N)	r3   r4   r5   r6   rŽ   r&   r*   r7   r8   r9   s   @r%   ÚDistributionrŠ   Ô   s   ø‡ € ò	#ò	÷
	ð 	r(   r—   c                  ó¶   <€ S! R 4      p \        V R^R7      p VP                  R4       R#   \         d"   pTP                  ^ ,          SR&    Rp?R# Rp?ii ; i)rF   ©rg   rs   é † r‡   N©é
   éd   ©r   ru   r‘   Úargs©r;   r}   Úer—   Úerrorss      €€r%   Úfunc1Ú'test_threading_behaviour.<locals>.func1à   sO   ø€ Ù˜EÓ"ˆÜ)¨$°yØ79ô;ˆð	'Ø�G‰G�FŽOøÜô 	'ØŸV™V A�YˆF�6�Nûð	'úó   ™, ¬A·AÁAc                  ó¶   <€ S! R 4      p \        V R^R7      p VP                  R4       R#   \         d"   pTP                  ^ ,          SR&    Rp?R# Rp?ii ; i)Úbarr™   rš   rˆ   Nr›   rž   r    s      €€r%   Úfunc2Ú'test_threading_behaviour.<locals>.func2é   sO   ø€ Ù˜EÓ"ˆÜ)¨$°yØ78ô:ˆð	'Ø�G‰G�FŽOøÜô 	'ØŸV™V A�YˆF�6�Nûð	'úr¥   )ÚtargetrF   r§   )Ú	threadingÚThreadÚstartÚjoin)r£   r¨   Út1Út2r—   r¢   s       @@r%   Útest_threading_behaviourr±   Î   s‘   ù€ ð �d˜F DÐ)€F÷
ñ 
ö'ö'ô 
×	Ò	 Ô	'€BÜ	×	Ò	 Ô	'€Bà‡H�H„JØ‡H�H„Jà‡G�G„IØ‡G�G„Ià�&�>˜UÔ"Ð"Ð"Ø�&�>˜UÔ"Ð"Ò"r(   c                 óþ   € \        \        P                  V 4      pV! R/ VBR ^{/B p\        P                  ! V4      p\        P
                  ! V4      p\        VP                  ^d4      VP                  ^d4      4       R# )rs   Nr1   )rh   r   ri   ÚpickleÚdumpsÚloadsr   ru   )rm   rn   ro   r{   Úobjr|   s   &&    r%   Útest_pickler·   ÿ   sZ   € ä”U—^‘^ VÓ,€FÙÑ-�FÑ-¨Ò-€DÜ
�,Š,�tÓ
€CÜ�<Š<˜Ó€DÜ�—‘˜#“ §¡¨£Ö.r(   Úsizec                 ó  € \        \        4       4      pV f0   \        P                  ! VP	                  V 4      4      '       g   Q hR # \        P                  ! V 4      '       d   V 3p VP	                  V 4      P
                  V 8X  g   Q hR # r-   )r   r   r   Úisscalarru   Úshape)r¸   r}   s   & r%   Útest_rvs_sizer¼     se   € ô
 &¤nÓ&6Ó
7€CØ‚|Ü�{Š{˜3Ÿ7™7 4›=×)Ò)Ð)Ò)ä�;Š;�t×ÒØ�8ˆDØ�w‰w�t‹}×"Ñ" dÔ*Ð*Ò*r(   c                  ó   € \         P                  ! 4       p \        P                  P	                  ^ 4      p\        WR7      p\        P                  ! ^ ^^dR7      p\        W V P                  4       4       \        V P                  V4      VP                  V4      4       \         P                  ! RRR7      p \        WR7      p\        W V P                  4       4       \        V P                  V4      VP                  V4      4       \         P                  ! ^
R4      p \        WR7      pV P                  4       pV P                  \        P                  ! V^ ,          V^,          ^,           4      4      p\        W%V P                  4       4       R# )r   rt   ©Únumç      $@ç      @)ÚlocÚscaler_   N)r   Únormr   rv   Údefault_rngr
   ÚlinspaceÚcheck_cont_samplesr   ÚppfÚbinomr   ÚsupportÚpmfÚarangeÚcheck_discr_samples)r;   Úurngr}   Úurg   Úpvs         r%   Útest_with_scipy_distributionrÑ     s  € ä�:Š:‹<€DÜ�9‰9× Ñ  Ó#€DÜ
! $Ô
:€CÜ
�Š�A�q˜cÔ"€AÜ�s $§*¡*£,Ô/Ü�D—H‘H˜Q“K §¡¨£Ô,ä�:Š:˜# RÔ(€DÜ
! $Ô
:€CÜ�s $§*¡*£,Ô/Ü�D—H‘H˜Q“K §¡¨£Ô,ä�;Š;�r˜3Ó€DÜ
˜4Ô
3€CØ�\‰\‹^€FØ	�‰”"—)’)˜F 1�I v¨a¥y°¥{Ó3Ó	4€BÜ˜ §¡£Ö.r(   c                 ó„  € V P                  R 4      pVP                  4       VP                  4       3p\        P                  ! V^,          4      '       d   \        WbW4R7       V P                  R4      p\        P                  ! VP                  4      Vn        \        WQP                  4      P                  pVR8”  g   Q hR# )rš   ©ÚrtolÚatoliô  çš™™™™™¹?N)
ru   ÚmeanÚvarr   Úisfiniter   Ú	vectorizer/   r   Úpvalue)r}   r;   Úmv_exrÔ   rÕ   ru   ÚmvÚpvals   &&&&&   r%   rÇ   rÇ   +  sƒ   € Ø
�'‰'�&‹/€CØ	�‰‹�S—W‘W“YÐ	€Bä	‡{‚{�5˜•8×ÒÜ˜¨Õ8à
�'‰'�#‹,€CÜ�|Š|˜DŸH™HÓ%€D„HÜ˜#Ÿx™xÓ(×/Ñ/€DØ�#Œ:ÐŠ:r(   c                 ó’  € V P                  R 4      pVP                  4       VP                  4       3p\        WbW4R7       WP	                  4       ,          p\
        P                  ! V4      p\
        P                  ! VRR7      w  r‰W™P	                  4       ,          p	W—RV	P                  % \        Wq4      P                  p
V
R8”  g   Q hR# )rš   rÓ   T)Úreturn_countsNrÖ   )ru   r×   rØ   r   Úsumr   Ú
zeros_likeÚuniquer¸   r   rÛ   )r}   rÐ   rÜ   rÔ   rÕ   ru   rÝ   Ú	obs_freqsÚ_ÚfreqsrÞ   s   &&&&&      r%   rÍ   rÍ   8  s”   € Ø
�'‰'�&‹/€Cà	�‰‹�S—W‘W“YÐ	€BÜ�B DÕ4à	�f‰f‹h�€Bä—’˜bÓ!€IÜ�yŠy˜¨DÔ1�H€AØ—I‘I“KÕ€EØ"ˆkˆu�z‰zÐÜ�YÓ#×*Ñ*€DØ�#Œ:ÐŠ:r(   c                  ób  € R p \         P                  ! \        V R7      ;_uu_ 4        \        \	        4       ^ RR7       RRR4       \         P                  ! \        V R7      ;_uu_ 4        \        \	        4       RR7       RRR4       R#   + '       g   i     LT; i  + '       g   i     R# ; i)z.102 : center moved into domain of distributionre   )Úcenterrg   N©rg   ©é   é   )rj   ÚwarnsÚRuntimeWarningr	   r   )rl   s    r%   Ú!test_warning_center_not_in_domainrï   H  sg   € ð ;€CÜ	�Š”n¨C×	0Ö	0Ü"¤>Ó#3¸AÀfÕM÷ 
1ä	�Š”n¨C×	0Ö	0Ü"¤>Ó#3¸FÕC÷ 
1Ñ	0÷ 
1×	0úç	0×	0Ð	0ús   §B
Á*BÂ
B	ÂB.	rm   c                 óæ   € \        \        P                  V 4      pR p\        P                  ! \
        VR7      ;_uu_ 4        V! \        4       ^ RR7       RRR4       R#   + '       g   i     R# ; i)z17 : mode not in domainre   )r=   rg   Nrê   )rh   r   ri   rj   r   r   r   )rm   ro   rl   s   &  r%   Útest_error_mode_not_in_domainrñ   R  sH   € ô ”U—^‘^ VÓ,€FØ
#€CÜ	�Š”{¨#×	.Ö	.ÙŒ~Ó a°Õ7÷ 
/×	.×	.Ò	.ús   ÁAÁA0	c                   óâ  a € ] tR tRt o R tR]P                  P                  ^^ R7      ]P                  P                  ^^ R7      .t	R]
! 4       3RRRR.tR]
! 4       3^]
! 4       3R.t]P                  P                  R]	4      ]P                  P                  R]4      ]P                  P                  R]4      ]P                  P!                  RR	7      R
 4       4       4       4       tR tRtV tR# )ÚTestQRVSi`  c                ó<  € R p\         P                  ! \        VR7      ;_uu_ 4        \        \        P
                  V4      pV! \        4       4      pVP                  ^ R7       RRR4       \        \        P
                  V4      pV! \        4       4      pRp\         P                  ! \        VR7      ;_uu_ 4        VP                  ^\        P                  P                  ^4      R7       RRR4       R#   + '       g   i     L›; i  + '       g   i     R# ; i)z&`qmc_engine` must be an instance of...re   )Ú
qmc_engineNú6`d` must be consistent with dimension of `qmc_engine`.©Údrõ   )
rj   r   r‘   rh   r   ri   r   ÚqrvsÚqmcÚHalton)r#   rm   rf   ro   Úgens   &&   r%   Útest_input_validationÚTestQRVS.test_input_validationc  s¹   € Ø8ˆÜ�]Š]œ:¨U×3Ö3ÜœUŸ^™^¨VÓ4ˆFÙœÓ)Ó*ˆCØ�H‰H ˆHÔ"÷ 4ô œŸ™¨Ó0ˆÙ”^Ó%Ó&ˆàHˆÜ�]Š]œ:¨U×3Ö3Ø�H‰H�q¤U§Y¡Y×%5Ñ%5°aÓ%8ˆHÔ9÷ 4Ñ3÷ 4×3ú÷ 4×3Ð3ús   §=C7Â<1D
Ã7D	Ä
D	N©rx   Úqrngúsize_in, size_outzd_in, d_outzfails in parallel©Úreasonc                ó¦  € \         P                  R 8H  ;'       d     \        P                  ! 4       ^ ,          R8H  pV'       d   VR8X  d   \        P                  ! R4       \        4       p\        \        P                  V4      p	V	! V4      p
VeZ   VeV   VP                  V8w  dE   Rp\        P                  ! \        VR7      ;_uu_ 4        V
P                  W$VR7       RRR4       R# Vf#   Ve   VP                  ^8w  d   VP                  3pW5,           p\        V4      pV
P                  W$VR7      pVe   VP                  V8X  g   Q hVen   TP                  \         P"                  ! V4      ;'       g    ^4      p\        P$                  P'                  V4      P)                  V4      p\+        VVR	R
7       R# R#   + '       g   i     R# ; i)Úwin32Ú32bitr	   z4NumericalInversePolynomial.qrvs fails for Win 32-bitNrö   re   r÷   ©r¸   rø   rõ   çê-�™—q=©rÕ   )ÚsysÚplatformÚarchitecturerj   Úxfailr   rh   r   ri   rø   r   r‘   rù   r   r»   rv   r   ÚprodrÄ   rÈ   Úreshaper   )r#   r   Úsize_inÚsize_outÚd_inÚd_outrm   Úw32r;   ro   rü   rf   Úshape_expectedÚqrng2rù   ÚuniformÚqrvs2s   &&&&&&&          r%   Útest_QRVS_shape_consistencyÚ$TestQRVS.test_QRVS_shape_consistencyy  sl  € ô �l‰l˜gÑ%×OÐO¬(×*?Ò*?Ó*AÀ!Õ*DÈÑ*Oˆß�6Ð9Ô9Ü�LŠLð "ô #ô ÓˆÜœŸ™¨Ó0ˆÙ�T‹lˆð Ò Ò 0°T·V±V¸t´^ØLˆEÜ—’œz°×7Ö7Ø—‘˜°T�Ô:÷ 8áð Š<˜DÒ,°·±¸1´Ø—V‘V�IˆEà!Õ)ˆä˜“ˆØ�x‰x˜W¸ˆxÓ>ˆØÒØ—:‘: Ô/Ð/Ð/àÒØ—l‘l¤2§7¢7¨7Ó#3×#8Ð#8°qÓ9ˆGÜ—J‘J—N‘N 7Ó+×3Ñ3°NÓCˆEÜ˜D %¨e×4ñ ÷ 8Ö7áús   ÃF?Æ?G	c                ó   € \        4       p\        \        P                  V4      pV! V4      pRp^p\        P                  P                  V^ R7      p\        P                  P                  V^ R7      pVP                  \        P                  ! V4      4      p	VP                  WVVR7      p
\        P                  P                  V	4      p\        V4       F5  pV
RV3,          pVRV3,          P                  V4      p\        WÞRR7       K7  	  R# )	rë   rÿ   r  .:NNNr  r	  N)rë   é   )r   rh   r   ri   rú   rû   rv   r   r  rù   rÄ   rÈ   Úranger  r   )r#   rm   r;   ro   rü   r¸   rø   r   r  r  rù   r  ÚiÚsampleÚsample2s   &&             r%   Útest_QRVS_size_tupleÚTestQRVS.test_QRVS_size_tupleŸ  sØ   € ô ÓˆÜœŸ™¨Ó0ˆÙ�T‹lˆàˆØˆÜ�y‰y×Ñ ¨ÐÓ*ˆÜ—	‘	× Ñ  ¨Ð Ó+ˆà—,‘,œrŸwšw t›}Ó-ˆà�x‰x˜T°4ˆxÓ8ˆÜ—
‘
—‘˜wÓ'ˆä�q–ˆAØ˜#˜q˜&•\ˆFØ˜A˜q˜D•k×)Ñ)¨$Ó/ˆGÜ˜F°%×8ó r(   r1   )r•   r”   )r  ©r  )r#  r#  )©é   r  r$  )rë   ©rë   )r3   r4   r5   r6   rý   r   rú   ÚSobolrû   ÚqrngsÚtupleÚsizesÚdsrj   ÚmarkÚparametrizeÚthread_unsafer  r!  r7   r8   r9   s   @r%   ró   ró   `  sí   ø‡ € ò:ð �5—9‘9—?‘? 1¨1�?Ó-¨u¯y©y×/?Ñ/?ÀÈÐ/?Ó/JÐK€Eà‘E“Gˆ_˜i¨ØÐ+ð-€Eð ‘“ˆ/˜A™u›w˜<¨Ð	3€Bà‡[�[×Ñ˜V UÓ+Ø‡[�[×ÑÐ0°%Ó8Ø‡[�[×Ñ˜]¨BÓ/Ø‡[�[×ÑÐ&9ÐÓ:ñ 5ó ;ó 0ó 9ó ,ð 5÷D9ð 9r(   ró   c            
       óD  a € ] tR tRt o  ! R R4      t ! R R4      t ! R R4      t]! 4       ]! 4       ]! R4      ]! R	4      .tRR(.tRR
.t	R]
P                  .tR	]
P                  .t]]	]].t]P                   P#                  R]! ]]4      4      ]P                   P'                  RR7      R 4       4       tR ]R3.t]],          t]P                   P#                  R]4      R 4       t]P                   P#                  R]4      R 4       t]P                   P#                  R]4      R 4       t]P                   P#                  R. R)O4      R 4       tR t]P                   P#                  RR*]
P>                  ]
P                  RR.4      R 4       t ]
PB                  ! ^ ^RR7      . . .]
P>                  .]
P                  ) ]
P>                  ]
P                  .^ ]
P>                  R R.R!R"]
P                  .. R+O..t"]P                   P#                  R#]"4      R$ 4       t#R% t$R&t%V t&R'# ),ÚTestTransformedDensityRejectioni¾  c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )Ú%TestTransformedDensityRejection.dist0iÀ  c                ó.   € R^W,          ,
          ,          # ©rë   ç      è?r1   r"   s   &&r%   r&   Ú)TestTransformedDensityRejection.dist0.pdfÁ  ó   € Ø˜!˜A�C�%•=Ð r(   c                ó"   € RRV,          ,          # )rë   r5  éþÿÿÿr1   r"   s   &&r%   r*   Ú*TestTransformedDensityRejection.dist0.dpdfÄ  s   € Ø˜"˜Q�$•<Ðr(   c                óJ   € RW^,          ^,          ,
          R,           ,          # ©rë   r5  gUUUUUUå?r1   r"   s   &&r%   r/   Ú)TestTransformedDensityRejection.dist0.cdfÇ  ó   € Ø˜! �d 1�f�* sÕ*Õ+Ð+r(   c                ó   € R# ©r•   )éÿÿÿÿr•   r1   ©r#   s   &r%   rÊ   Ú-TestTransformedDensityRejection.dist0.supportÊ  ó   € ØˆLr(   r1   N©
r3   r4   r5   r6   r&   r*   r/   rÊ   r7   r8   r9   s   @r%   Údist0r2  À  s   ø‡ € ò	!ò	 ò	,÷	ð 	r(   rF  c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )Ú%TestTransformedDensityRejection.dist1iÎ  c                óN   € \         P                  P                  VR ,          4      # ©rÖ   ©r   rÄ   Ú_pdfr"   s   &&r%   r&   Ú)TestTransformedDensityRejection.dist1.pdfÏ  ó   € Ü—:‘:—?‘? 1 s¥7Ó+Ð+r(   c                ól   € V) R ,          \         P                  P                  VR,          4      ,          # )ç{®Gáz„?rÖ   rK  r"   s   &&r%   r*   Ú*TestTransformedDensityRejection.dist1.dpdfÒ  s$   € Ø�2˜•9œuŸz™zŸ™¨q°3­wÓ7Õ7Ð7r(   c                óN   € \         P                  P                  VR ,          4      # rJ  ©r   rÄ   Ú_cdfr"   s   &&r%   r/   Ú)TestTransformedDensityRejection.dist1.cdfÕ  rN  r(   r1   Nr2   r9   s   @r%   Údist1rH  Î  s   ø‡ € ò	,ò	8÷	,ð 	,r(   rV  c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )Ú%TestTransformedDensityRejection.dist2iÛ  c                ó   € Wn         R # r-   ©Úshift©r#   r[  s   &&r%   rŽ   Ú.TestTransformedDensityRejection.dist2.__init__Ü  s   € ØŽJr(   c                óx   € WP                   ,          pR \        V4      R ,           ,          pRV,          V,          # ©r   ç      à?©r[  Úabs©r#   r$   Úys   && r%   r&   Ú)TestTransformedDensityRejection.dist2.pdfß  ó-   € Ø—‘�OˆAØ”c˜!“f˜r•kÕ"ˆAØ˜•7˜Q•;Ðr(   c                óŽ   € WP                   ,          pR \        V4      R ,           ,          pW",          V,          pVR8  d   V# V) # )r   r^   ra  rc  s   && r%   r*   Ú*TestTransformedDensityRejection.dist2.dpdfä  s=   € Ø—‘�OˆAØ”c˜!“f˜r•kÕ"ˆAØ•˜•	ˆAØ˜Rœ�1Ð( q bÐ(r(   c                ó‚   € WP                   ,          pVR 8:  d   RRV,
          ,          # RRRV,           ,          ,
          # ©r^   r`  r   rZ  r"   s   &&r%   r/   Ú)TestTransformedDensityRejection.dist2.cdfê  ó5   € Ø—‘�OˆAØ�BŒwØ˜b 1�f•~Ð%à˜C 2¨¥6�NÕ*Ð*r(   rZ  N)
r3   r4   r5   r6   rŽ   r&   r*   r/   r7   r8   r9   s   @r%   Údist2rX  Û  s   ø‡ € ò	ò	ò
	)÷	+ð 	+r(   rm  r^   ç     ˆÃ@rP  údist, mv_exúdeadlocks for unknown reasonsr  c                óà   € \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       \	        V^*R7      pRRR4       \        XW4       R#   + '       g   i     L; i)Úignorert   N)ÚwarningsÚcatch_warningsÚsimplefilterrî   r   rÇ   ©r#   r;   rÜ   r}   s   &&& r%   Ú
test_basicÚ*TestTransformedDensityRejection.test_basicú  sI   € ô ×$Ò$×&Õ&ä×!Ò! (¬NÔ;Ü-¨dÀÔDˆC÷ 'ô 	˜3 Ö,÷	 '×&ús   ž)AÁA-	c                ó   € ^ # ©r   r1   r@   s   &r%   rA   Ú(TestTransformedDensityRejection.<lambda>  s   € ™1r(   ú50 : bad construction points.úpdf, err, msgc                óÄ   €  ! R  R4      pWn         R Vn        \        P                  ! W#R7      ;_uu_ 4        \	        V4       RRR4       R#   + '       g   i     R# ; i)c                   ó   € ] tR tRtRtR# )Ú:TestTransformedDensityRejection.test_bad_pdf.<locals>.disti
  r1   N©r3   r4   r5   r6   r7   r1   r(   r%   r;   r€  
  ó   † Ûr(   r;   c                 ó   € ^# r”   r1   r@   s   &r%   rA   Ú>TestTransformedDensityRejection.test_bad_pdf.<locals>.<lambda>  s   € ™ar(   re   N©r&   r*   rj   r   r   ©r#   r&   rk   rl   r;   s   &&&& r%   Útest_bad_pdfÚ,TestTransformedDensityRejection.test_bad_pdf  s>   € ÷	ñ 	àŒÙˆŒ	Ü�]Š]˜3×*Ö*Ü'¨Ô-÷ +×*×*Ò*ús   ¸AÁA	zdpdf, err, msgc                óÈ   €  ! R  R4      pR Vn         Wn        \        P                  ! W#R7      ;_uu_ 4        \	        VRR7       RRR4       R#   + '       g   i     R# ; i)c                   ó   € ] tR tRtRtR# )Ú;TestTransformedDensityRejection.test_bad_dpdf.<locals>.disti  r1   Nr�  r1   r(   r%   r;   r‹    r‚  r(   r;   c                 ó   € V # r-   r1   r@   s   &r%   rA   Ú?TestTransformedDensityRejection.test_bad_dpdf.<locals>.<lambda>  s   € ™Qr(   re   ré   N©r•   rœ   r…  )r#   r*   rk   rl   r;   s   &&&& r%   Útest_bad_dpdfÚ-TestTransformedDensityRejection.test_bad_dpdf  s@   € ÷	ñ 	áˆŒØŒ	Ü�]Š]˜3×*Ö*Ü'¨°WÕ=÷ +×*×*Ò*ús   ¸AÁA!	rc   c                ó¨   € \         P                  ! W#R 7      ;_uu_ 4        \        \        4       VR7       RRR4       R#   + '       g   i     R# ; i©re   ré   N)rj   r   r   r   ©r#   rg   rk   rl   s   &&&&r%   Útest_inf_nan_domainsÚ4TestTransformedDensityRejection.test_inf_nan_domains  s-   € ä�]Š]˜3×*Ö*Ü'¬Ó(8ÀÕH÷ +×*×*Ò*úó    A Á A	Úconstruction_pointsrÖ   c                ó²   € \         P                  ! \        R R7      ;_uu_ 4        \        \	        4       VR7       RRR4       R#   + '       g   i     R# ; i)z1`construction_points` must be a positive integer.re   ©r—  N©rj   r   r‘   r   r   ©r#   r—  s   &&r%   Ú#test_bad_construction_points_scalarÚCTestTransformedDensityRejection.test_bad_construction_points_scalar!  sG   € ä�]Š]œ:ð .D÷ Eö Eä'ÜÓ Ð6Iõ÷E÷ E÷ Eò Eús   ¥AÁA	c                ó&  € . p\         P                  ! \        R R7      ;_uu_ 4        \        \	        4       VR7       RRR4       . ROp\         P
                  ! \        RR7      ;_uu_ 4        \        \	        4       VR7       RRR4       \        P                  \        P                  \        P                  .p\         P                  ! \        RR7      ;_uu_ 4        \        \	        4       VR7       RRR4       R	^
.p\         P
                  ! \        RR7      ;_uu_ 4        \        \	        4       R
VR7       RRR4       R#   + '       g   i     EL; i  + '       g   i     LÞ; i  + '       g   i     L€; i  + '       g   i     R# ; i)zC`construction_points` must either be a scalar or a non-empty array.re   r™  Nz:33 : starting points not strictly monotonically increasingr|  z!50 : starting point out of domain)rg   r—  )r•   r•   r•   r•   r•   r•   éöÿÿÿ)éýÿÿÿrë   )
rj   r   r‘   r   r   rí   rî   r   rO   r   r›  s   & r%   Ú"test_bad_construction_points_arrayÚBTestTransformedDensityRejection.test_bad_construction_points_array)  s7  € à ÐÜ�]Š]œ:ð .M÷ Nö Nô (ÜÓ Ð6Iõ÷Nò 1ÐÜ�\Š\œ.ð 1>÷ ?ö ?ô (ÜÓ Ð6Iõ÷?ô  "Ÿv™v¤r§v¡v¬r¯v©vÐ6ÐÜ�]Š]œ;ð /9÷ :ö :ä'ÜÓ Ð6Iõ÷:ð  # B˜iÐÜ�\Š\œ.ð 1:÷ ;ö ;ä'ÜÓ ¨Ø$7õ÷;ñ ;÷5N÷ Nð Nú÷?÷ ?ú÷:÷ :ú÷;÷ ;ð ;ús/   §EÁ-EÃE,Ä$E?ÅE	ÅE)	Å,E<	Å?F	Úcr   c                ó¶   € R p\         P                  ! \        VR7      ;_uu_ 4        \        \	        4       RR7       RRR4       R#   + '       g   i     R# ; i)z`c` must either be -0.5 or 0.re   )r£  Nç      ð¿rš  )r#   r£  rl   s   && r%   Ú
test_bad_cÚ*TestTransformedDensityRejection.test_bad_cM  s4   € à.ˆÜ�]Š]œ:¨S×1Ö1Ü'¬Ó(8¸CÕ@÷ 2×1×1Ò1úó   §AÁA	éè  r¾   r`  r_   r`   rÏ   c                óv  € \        \        4       R R7      p\        P                  ! 4       ;_uu_ 4        Rp\        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       VP                  V4      p\        P                  P                  V4      pRRR4       \        XXR	R
R7       VP                  VP                  8X  g   Q hR#   + '       g   i     L>; i)g§èH.ÿï?)Úmax_squeeze_hat_ratioúinvalid value encountered in rr  ÚgreaterÚgreater_equalÚlessÚ
less_equalNçü©ñÒMbP?çñhãˆµøä>rÓ   )r   r   rs  rt  Úfilterwarningsrî   Úppf_hatr   rÄ   rÈ   r   r»   )r#   rÏ   r}   rl   ÚresÚexpecteds   &&    r%   Útest_ppf_hatÚ,TestTransformedDensityRejection.test_ppf_hatW  sÚ   € ô *¬.Ó*:Ø@FôHˆô ×$Ò$×&Õ&Ø1ˆCÜ×#Ò# H¨c°I­o¼~ÔNÜ×#Ò# H¨c°OÕ.CÄ^ÔTÜ×#Ò# H¨c°F­l¼NÔKÜ×#Ò# H¨c°LÕ.@Ä.ÔQØ—+‘+˜a“.ˆCÜ—z‘z—~‘~ aÓ(ˆH÷ 'ô 	˜˜X¨D°tÕ<Ø�y‰y˜HŸN™NÔ*Ð*Ò*÷ '×&ús   ³B?D(Ä(D8	c                ód  €  ! R  R4      pRp\         P                  ! \        VR7      ;_uu_ 4        \        V4       RRR4        ! R R4      pRp\         P                  ! \        VR7      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)c                   ó   € ] tR tRtRtR# )Ú;TestTransformedDensityRejection.test_bad_dist.<locals>.distil  r1   Nr�  r1   r(   r%   r;   r»  l  s   † Ûr(   r;   z`pdf` required but not found.re   Nc                   ó   € ] tR tRtR tRtR# )r»  it  c                ó    € ^W ,          ,
          # r”   r1   r@   s   &r%   rA   ÚDTestTransformedDensityRejection.test_bad_dist.<locals>.dist.<lambda>u  s
   € ˜A˜a�cžEr(   r1   N)r3   r4   r5   r6   r&   r7   r1   r(   r%   r;   r»  t  s   † Ù!ŒCr(   z`dpdf` required but not found.)rj   r   r‘   r   )r#   r;   rl   s   &  r%   Útest_bad_distÚ-TestTransformedDensityRejection.test_bad_distj  sx   € ÷	ñ 	ð /ˆÜ�]Š]œ:¨S×1Ö1Ü'¨Ô-÷ 2÷	"ñ 	"ð 0ˆÜ�]Š]œ:¨S×1Ö1Ü'¨Ô-÷ 2Ñ1÷ 2×1ú÷ 2×1Ð1ús   ±BÁ5BÂB	ÂB/	r1   NçÑ?)rA  r   rÖ   r¥  ©r9  rë   r  )'r3   r4   r5   r6   rF  rV  rm  ÚdistsÚmv0Úmv1r   rK   Úmv2Úmv3Úmvsrj   r,  r-  Úzipr.  rw  r   Úbad_pdfsÚbad_pdfs_commonr‡  Úbad_dpdf_commonr�  Úinf_nan_domainsr”  rœ  r¡  rO   r¦  rÆ   rÏ   r·  r¿  r7   r8   r9   s   @r%   r0  r0  ¾  sK  ø‡ € ÷ñ ÷,ñ ,÷+ñ +ñ, ‹W‘e“g™u R›y©%°«-Ð8€Eð ˆvˆ,€CØˆtˆ*€CØˆr�v‰vˆ,€CØ�2—6‘6Ð
€CØ��S˜#Ð
€Cà‡[�[×Ñ˜]Ù  ¨›_ó.à‡[�[×ÑÐ&EÐÓFñ-ó Gó.ð-ñ ˜kÐ+KÐLÐM€HØ�Õ€Hà‡[�[×Ñ˜_¨hÓ7ñ.ó 8ð.ð ‡[�[×ÑÐ-¨Ó?ñ>ó @ð>ð ‡[�[×ÑÐ/°ÓAñIó BðIð ‡[�[×ÑÐ2²LÓAñó Bðò"ðH ‡[�[×Ñ˜S 3¨¯©°·±¸¸RÐ"@ÓAñAó BðAð
 
�Š�Q˜˜tÔ	$ b¨2¨$°·±°Ø�6‰6ˆ'�2—6‘6˜2Ÿ6™6Ð	" AØ�6‰6�3˜Ð
˜s C¨¯©Ð0²*Ð	=ð	?€Að ‡[�[×Ñ˜S !Ó$ñ+ó %ð+÷$.ð .r(   r0  c            	       ó®  a € ] tR tRt o 0 Rmt]P                  P                  R]4      R 4       t	R ]
R3R ]
R3R ]
R3R	 ]R
3R ]
R3R ]R3R ]R3.t]P                  P                  R]4      R 4       t]P                  P                  R. RO. R O.4      R 4       t]P                  P                  R]4      R 4       t]P(                  ) ]P(                  3]P(                  ]P(                  3]P(                  ) ]P(                  ) 3^ ]P(                  3]P(                  ) ^ 3.t]P                  P                  R]4      R 4       tR tR tR tRtV tR# )!ÚTestDiscreteAliasUrni|  údistname, paramsc                ó0  € WP                   9   d   R p\        P                  ! V4       \        V\        4      '       g   TpM\        \        V4      pV! V!  pVP                  4       p\        P                  ! V^,          V^ ,          ,
          4      '       g   \        P                  ! R4       \        P                  ! V^ ,          V^,          ^,           4      pVP                  V4      pVP                  R4      p\        V^*R7      p	\        W—V4       R# )zYDAU fails on these probably because of large domains and small computation errors in PMF.z$DAU only works with a finite domain.rÝ   rt   N)Úbasic_fail_distsrj   ÚskipÚ
isinstanceÚstrrh   r   rÊ   r   rÙ   rÌ   rË   r   rÍ   ©
r#   ÚdistnameÚparamsrl   r;   rg   ÚkrÐ   rÜ   r}   s
   &&&       r%   rw  ÚTestDiscreteAliasUrn.test_basic…  sË   € à×,Ñ,Ô,ð:ˆCä�KŠK˜ÔÜ˜(¤C×(Ò(Ø‰Däœ5 (Ó+ˆDÙ�V‰}ˆØ—‘“ˆÜ�{Š{˜6 !�9 v¨a¥yÕ0×1Ò1ô �KŠKÐ>Ô?Ü�IŠI�f˜Q•i ¨¥¨1¥Ó-ˆØ�X‰X�a‹[ˆØ—
‘
˜4Ó ˆÜ˜t°"Ô5ˆÜ˜C UÖ+r(   c                ó"   € \         P                  # r-   rJ   r@   s   &r%   rA   ÚTestDiscreteAliasUrn.<lambda>Ÿ  ó   € ”2—6’6r(   ra   c                ó"   € \         P                  # r-   rN   r@   s   &r%   rA   rÜ  ¢  rÝ  r(   c                ó   € R # )r^   r1   r@   s   &r%   rA   rÜ  ¥  s   € ‘3r(   rb   c                ó   € \         # r-   rE   r@   s   &r%   rA   rÜ  ¨  s   € •3r(   rH   c                ó   € . # r-   r1   r@   s   &r%   rA   rÜ  «  s   € ‘2r(   z)setting an array element with a sequence.c                ó   € V ) # r-   r1   r@   s   &r%   rA   rÜ  ®  s   € �A‘2r(   z50 : probability < 0c                 ó   € R # rQ   r1   r1   r(   r%   rA   rÜ  ±  s   € ‘r(   rS   zpmf, err, msgc                ó¸   €  ! R  R4      pWn         \        P                  ! W#R7      ;_uu_ 4        \        VRR7       RRR4       R#   + '       g   i     R# ; i)c                   ó   € ] tR tRtRtR# )Ú/TestDiscreteAliasUrn.test_bad_pmf.<locals>.disti·  r1   Nr�  r1   r(   r%   r;   ræ  ·  r‚  r(   r;   re   ré   NrŽ  )rË   rj   r   r   )r#   rË   rk   rl   r;   s   &&&& r%   Útest_bad_pmfÚ!TestDiscreteAliasUrn.test_bad_pmfµ  s9   € ÷	ñ 	àŒÜ�]Š]˜3×*Ö*Ü˜T¨'Õ2÷ +×*×*Ò*ús   °AÁA	rÐ   c                ó�  € \         P                  ! V\         P                  R 7      p\        V^{R7      pVP	                  R4       WP                  4       ,          p\         P                  ! ^ \        V4      4      p\         P                  ! W1R7      p\         P                  ! W4,
          ^,          VR7      pWE3p\        W!V4       R# ))Údtypert   rš   )ÚweightsN)
r   ÚasarrayÚfloat64r   ru   rá   rÌ   ÚlenÚaveragerÍ   )r#   rÐ   r}   ÚvariatesÚ
m_expectedÚ
v_expectedÚmv_expecteds   &&     r%   Útest_sampling_with_pvÚ*TestDiscreteAliasUrn.test_sampling_with_pv½  s‰   € ô �ZŠZ˜¤"§*¡*Ô-ˆÜ˜r°Ô4ˆØ�‰�ÔØ—&‘&“(�]ˆÜ—9’9˜Q¤ B£Ó(ˆä—Z’Z Ô5ˆ
Ü—Z’Z Õ!6¸1Õ <ÀbÔIˆ
Ø Ð,ˆÜ˜C [Ö1r(   úpv, msgc                óž   € \         P                  ! \        VR 7      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i©re   N©rj   r   r‘   r   ©r#   rÐ   rl   s   &&&r%   Útest_bad_pvÚ TestDiscreteAliasUrn.test_bad_pvË  s*   € ä�]Š]œ:¨S×1Ö1Ü˜RÔ ÷ 2×1×1Ò1úó	   ¥;»A	rg   c                óÌ   € \         P                  ! \        R R7      ;_uu_ 4        \        \        P
                  ! ^
R4      VR7       RRR4       R#   + '       g   i     R# ; i©zmust be finitere   r_   ré   N)rj   r   r‘   r   r   rÉ   ©r#   rg   s   &&r%   Útest_inf_domainÚ$TestDiscreteAliasUrn.test_inf_domainÕ  s9   € ä�]Š]œ:Ð->×?Ö?ÜœUŸ[š[¨¨SÓ1¸&ÕA÷ @×?×?Ò?úó   ¥#AÁA#	c                ó¦   € \         P                  ! \        R R7      ;_uu_ 4        \        RR.RR7       RRR4       R#   + '       g   i     R# ; i)zrelative urn size < 1.re   r`  )Ú
urn_factorNrA  )rj   rí   rî   r   rB  s   &r%   Útest_bad_urn_factorÚ(TestDiscreteAliasUrn.test_bad_urn_factorÚ  s2   € Ü�\Š\œ.Ð0I×JÖJÜ˜c 3˜Z°BÕ7÷ K×J×JÒJús	   ¥?¿A	c                ó¶   € R p ! R R4      p\         P                  ! \        VR7      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)zG`domain` must be provided when the probability vector is not available.c                   ó&   a € ] tR tRt o R tRtV tR# )Ú0TestDiscreteAliasUrn.test_bad_args.<locals>.distiâ  c                ó   € V# r-   r1   r"   s   &&r%   rË   Ú4TestDiscreteAliasUrn.test_bad_args.<locals>.dist.pmfã  s   € Ø�r(   r1   N)r3   r4   r5   r6   rË   r7   r8   r9   s   @r%   r;   r
  â  s   ø‡ € ÷ð r(   r;   re   Nrù  )r#   rl   r;   s   &  r%   Útest_bad_argsÚ"TestDiscreteAliasUrn.test_bad_argsÞ  s=   € ð7ˆ÷	ñ 	ô �]Š]œ:¨S×1Ö1Ü˜TÔ"÷ 2×1×1Ò1ús   ±AÁA	c                ó�   € \         P                  ! \        P                  ! R4      4      p\	        V^*R7      p\        W!RRR7       R# )éý  rt   g{®Gázt?)rÔ   N)r  )g     ð‡@g    
àA)r   Úsoftmaxr   Úonesr   rÍ   )r#   rÐ   r}   s   &  r%   Útest_gh19359Ú!TestDiscreteAliasUrn.test_gh19359é  s5   € Ü�_Š_œRŸWšW WÓ-Ó.ˆÜ˜r°Ô3ˆä˜CÐ%CØ!%÷	'r(   r1   N>   ÚrandintÚnchypergeom_fisherÚnchypergeom_wallenius)ç
×£p=
Ç?ç{®Gáz”?r<   )r   r   g      @ç      @rÁ   g      @)r3   r4   r5   r6   rÒ  rj   r,  r-  r   rw  r‘   Ú	NameErrorr   Ú	TypeErrorÚbad_pmfrç  rô  Úbad_pv_commonrû  r   rK   Ú
inf_domainr  r  r  r  r7   r8   r9   s   @r%   rÏ  rÏ  |  s¯  ø‡ € òÐð ‡[�[×ÑÐ/°Ó>ñ,ó ?ð,ñ2 
˜:Ø	5ð	7ñ 
˜:Ø	5ð	7ñ 
˜
Ø	4ð	6ñ 
˜	Ø	%ð	'ñ 
�zØ	5ð	7ñ 
�{Ø	 ð	"ñ 
�iØ	8ð	:ð)€Gð0 ‡[�[×Ñ˜_¨gÓ6ñ3ó 7ð3ð ‡[�[×Ñ˜TÒ$5Ú$Bð$Dó Eñ
2óEð
2ð ‡[�[×Ñ˜Y¨Ó6ñ!ó 7ð!ð —F‘F�7˜BŸF™FÐ# b§f¡f¨b¯f©fÐ%5¸¿¹¸À"Ç&Á&ÀÐ7IØ�b—f‘f�+ §¡ ¨˜|ð-€Jð ‡[�[×Ñ˜X zÓ2ñBó 3ðBò8ò	#÷'ð 'r(   rÏ  c                   óÜ  a € ] tR tRt o  ! R R4      t ! R R4      t ! R R4      t ! R R	4      t]! 4       ]! 4       ]! 4       ]! 4       .tR
R-.t	R
R.t
R.]P                  ,          R/R0]P                  ^,          ,          ,
          .tR.]P                  ,          R1R0]P                  ^,          ,          ,
          .t]	]
]].t]P"                  P%                  RR7      ]P"                  P'                  R]! ]]4      4      R 4       4       t]P"                  P,                  ]P"                  P'                  R]4      R 4       4       t]P"                  P'                  R]4      R 4       t]P"                  P'                  R]4      R 4       t]P"                  P'                  R]4      R 4       t]P>                  ! ^ ^RR7      . . .]P@                  .]PB                  ) ]P@                  ]PB                  .^ ]P@                  RR.RR]PB                  .. R2O..t"]P"                  P'                  R]"4      R 4       t#]P>                  ! R3^
RR7      . . .]P@                  .]PB                  ) ]P@                  ]PB                  .^ ]P@                  RR.RR]PB                  .]PB                  ) ^^...t$]P"                  P'                  R ]$4      R! 4       t%]P"                  PL                  R" 4       t'^R#^]PB                  ]P@                  .t(R$R]PB                  ]P@                  .t)]P"                  P'                  R%](4      R& 4       t*]P"                  P'                  R'])4      R( 4       t+R) t,R* t-R+t.V t/R,# )4ÚTestNumericalInversePolynomialiñ  c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )Ú$TestNumericalInversePolynomial.dist0ió  c                ó.   € R^W,          ,
          ,          # r4  r1   r"   s   &&r%   r&   Ú(TestNumericalInversePolynomial.dist0.pdfô  r7  r(   c                óJ   € RW^,          ^,          ,
          R,           ,          # r<  r1   r"   s   &&r%   r/   Ú(TestNumericalInversePolynomial.dist0.cdf÷  r>  r(   c                ó   € R# r@  r1   rB  s   &r%   rÊ   Ú,TestNumericalInversePolynomial.dist0.supportú  rD  r(   r1   N©	r3   r4   r5   r6   r&   r/   rÊ   r7   r8   r9   s   @r%   rF  r#  ó  s   ø‡ € ò	!ò	,÷	ð 	r(   rF  c                   ó,   a € ] tR tRt o R tR tRtV tR# )Ú$TestNumericalInversePolynomial.dist1iþ  c                óN   € \         P                  P                  VR ,          4      # rJ  rK  r"   s   &&r%   r&   Ú(TestNumericalInversePolynomial.dist1.pdfÿ  rN  r(   c                óN   € \         P                  P                  VR ,          4      # rJ  rS  r"   s   &&r%   r/   Ú(TestNumericalInversePolynomial.dist1.cdf  rN  r(   r1   N)r3   r4   r5   r6   r&   r/   r7   r8   r9   s   @r%   rV  r,  þ  s   ø‡ € ò	,÷	,ð 	,r(   rV  c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )Ú$TestNumericalInversePolynomial.dist2i
  c                ó�   € R R^\         P                  ! ^\         P                  ,          V,          4      ,           ,          ,           # )çš™™™™™©?çÍÌÌÌÌÌÜ?©r   Úsinr    r"   s   &&r%   r&   Ú(TestNumericalInversePolynomial.dist2.pdf  s,   € Ø˜$ !¤b§f¢f¨Q¬r¯u©u­W°Q­YÓ&7Õ"7Õ8Õ8Ð8r(   c                ó8  € R V^,           ,          RRR\         P                  ,          ^V,           ,          ,           \         P                  ! R\         P                  ,          V,          4      ,
          ,          R\         P                  ,          ,          ,           # )r4  gÍÌÌÌÌÌì?r   r   r  ©r   r    Úcosr"   s   &&r%   r/   Ú(TestNumericalInversePolynomial.dist2.cdf  s_   € Ø˜!˜a�%•LØ˜˜b¤§¡�h¨¨A­Õ.Õ.´·²¸¼2¿5¹5½À½
Ó1CÕCÕDØœŸ™•Xõõð  r(   c                ó   € R# r@  r1   rB  s   &r%   rÊ   Ú,TestNumericalInversePolynomial.dist2.support  rD  r(   r1   Nr*  r9   s   @r%   rm  r2  
  s   ø‡ € ò	9ò	 ÷
	ð 	r(   rm  c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )Ú$TestNumericalInversePolynomial.dist3i  c                óž   € R RR^\         P                  ! ^\         P                  ,          V,          4      ,           ,          ,           ,          # )r_   r4  r5  r6  r"   s   &&r%   r&   Ú(TestNumericalInversePolynomial.dist3.pdf  s1   € Ø˜$ ¨¬R¯VªV°A´b·e±eµG¸AµIÓ->Õ)>Õ!?Õ?Õ@Ð@r(   c                ó6  € VR ,          R,           R^\         P                  ,          ,          \         P                  ! ^
\         P                  ,          4      \         P                  ! ^\         P                  ,          V,          4      ,
          ,          ,           # )rÀ   r`  g
×£p=
·?r:  r"   s   &&r%   r/   Ú(TestNumericalInversePolynomial.dist3.cdf  s^   € Ø�S•5˜3•;  q¬¯©¥w¥´2·6²6¸"¼R¿U¹U½(Ó3CÜ35·6²6¸!¼B¿E¹E½'À!½)Ó3Dõ4Eõ "Fõ Fð Fr(   c                ó   € R# )rì   )éûÿÿÿrì   r1   rB  s   &r%   rÊ   Ú,TestNumericalInversePolynomial.dist3.support#  rD  r(   r1   Nr*  r9   s   @r%   Údist3r@    s   ø‡ € ò	Aò	F÷	ð 	r(   rH  r^   rP  r`  r_   rp  r  ro  c                ó8   € \        V^*R7      p\        W1V4       R# )é*   rt   N)r	   rÇ   rv  s   &&& r%   rw  Ú)TestNumericalInversePolynomial.test_basic/  s   € ô )¨¸BÔ?ˆÜ˜3 eÖ,r(   rÐ  c                ó  € . ROp. ROpR.pW9   d   \         P                  ! RV 24       W9   d   \         P                  ! RV 24       \        V\        4      '       d   \	        \
        V4      MTpV! V!  p\        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        V^*R7      pRRR4       W9   d   R# \        XWfP                  4       VP                  4       .4       R#   + '       g   i     LD; i)	ÚanglitÚrel_breitwignerzPINV too slow for zPINV fails for rr  rt   N)rM  Ú
gausshyperÚkappa4ÚksoneÚkstwoÚlevy_lÚlevy_stableÚstudentized_rangeÚ	trapezoidÚtriangÚvonmises)	Úchi2ÚfatiguelifeÚgibratÚhalfgennormÚlognormÚncfÚncx2ÚparetoÚt)rj   rÓ  rÔ  rÕ  rh   r   rs  rt  ru  rî   r	   rÇ   r×   rØ   )r#   r×  rØ  Úvery_slow_distsÚ
fail_distsÚskip_sample_moment_checkr;   r}   s   &&&     r%   Útest_basic_all_scipy_distsÚ9TestNumericalInversePolynomial.test_basic_all_scipy_dists6  sÙ   € ò>ˆò-ˆ
ð %6Ð#6Ð àÔ&Ü�KŠKÐ,¨X¨JÐ7Ô8ØÔ!Ü�KŠK˜/¨(¨Ð4Ô5ä˜h¬×,Ò,ô œ˜xÔ(àð 	ñ �V‰}ˆÜ×$Ò$×&Õ&Ü×!Ò! (¬NÔ;Ü,¨TÀÔCˆC÷ 'ð Ô/ÙÜ˜3 §y¡y£{°D·H±H³JÐ&?Ö@÷ '×&ús   Â)C:Ã:D
	r}  c                ó¼   €  ! R  R4      pWn         \        P                  ! W#R7      ;_uu_ 4        \        V^ ^.R7       RRR4       R#   + '       g   i     R# ; i)c                   ó   € ] tR tRtRtR# )Ú9TestNumericalInversePolynomial.test_bad_pdf.<locals>.distiZ  r1   Nr�  r1   r(   r%   r;   ri  Z  r‚  r(   r;   re   ré   N)r&   rj   r   r	   r†  s   &&&& r%   r‡  Ú+TestNumericalInversePolynomial.test_bad_pdfX  s=   € ÷	ñ 	àŒÜ�]Š]˜3×*Ö*Ü& t°Q¸°FÕ;÷ +×*×*Ò*úó   °A
Á
A	zlogpdf, err, msgc                ó¼   €  ! R  R4      pWn         \        P                  ! W#R7      ;_uu_ 4        \        V^ ^.R7       RRR4       R#   + '       g   i     R# ; i)c                   ó   € ] tR tRtRtR# )Ú<TestNumericalInversePolynomial.test_bad_logpdf.<locals>.distib  r1   Nr�  r1   r(   r%   r;   rn  b  r‚  r(   r;   re   ré   N)Úlogpdfrj   r   r	   )r#   ro  rk   rl   r;   s   &&&& r%   Útest_bad_logpdfÚ.TestNumericalInversePolynomial.test_bad_logpdf`  s=   € ÷	ñ 	àŒÜ�]Š]˜3×*Ö*Ü& t°Q¸°FÕ;÷ +×*×*Ò*úrk  rc   c                ó¨   € \         P                  ! W#R 7      ;_uu_ 4        \        \        4       VR7       RRR4       R#   + '       g   i     R# ; ir’  )rj   r   r	   r   r“  s   &&&&r%   r”  Ú3TestNumericalInversePolynomial.test_inf_nan_domainsj  s-   € ä�]Š]˜3×*Ö*Ü&¤~Ó'7ÀÕG÷ +×*×*Ò*úr–  é'  r¾   rÖ   r`   rÏ   c                óz  € \        4       p\        VR R7      p\        P                  ! 4       ;_uu_ 4        Rp\        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       VP                  V4      p\        P                  P                  V4      pRRR4       \        XXR	R	R
7       VP                  VP                  8X  g   Q hR#   + '       g   i     L>; i©ç›+¡†›„=©Úu_resolutionr¬  rr  r­  r®  r¯  r°  Ng•dyáý¥=rÓ   )r   r	   rs  rt  r³  rî   rÈ   r   rÄ   r   r»   ©r#   rÏ   r;   r}   rl   rµ  r¶  s   &&     r%   Útest_ppfÚ'TestNumericalInversePolynomial.test_ppf~  óÙ   € äÓˆÜ(¨¸EÔBˆô ×$Ò$×&Õ&Ø1ˆCÜ×#Ò# H¨c°I­o¼~ÔNÜ×#Ò# H¨c°OÕ.CÄ^ÔTÜ×#Ò# H¨c°F­l¼NÔKÜ×#Ò# H¨c°LÕ.@Ä.ÔQØ—'‘'˜!“*ˆCÜ—z‘z—~‘~ aÓ(ˆH÷ 'ô 	˜˜X¨E¸Õ>Ø�y‰y˜HŸN™NÔ*Ð*Ò*÷ '×&úó   µB?D*Ä*D:	r$   c                óz  € \        4       p\        VR R7      p\        P                  ! 4       ;_uu_ 4        Rp\        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       VP                  V4      p\        P                  P                  V4      pRRR4       \        XXR	R	R
7       VP                  VP                  8X  g   Q hR#   + '       g   i     L>; irv  )r   r	   rs  rt  r³  rî   r/   r   rÄ   r   r»   )r#   r$   r;   r}   rl   rµ  r¶  s   &&     r%   Útest_cdfÚ'TestNumericalInversePolynomial.test_cdf“  r}  r~  c                óÚ   € \        4       p\        VR R7      pVP                  4       w  r4VR 8  g   Q hWC8:  g   Q h\        VRR7      pVP                  4       w  r4VR8  g   Q hWC8:  g   Q hR# )ç»½×Ùß|Û=rx  rw  N)r   r	   Úu_error©r#   r;   r}   Ú	max_errorÚmaes   &    r%   Útest_u_errorÚ+TestNumericalInversePolynomial.test_u_error¤  sp   € äÓˆÜ(¨¸EÔBˆØŸ™›‰ˆ	Ø˜5Ô Ð Ð ØÔÐÐÜ(¨¸EÔBˆØŸ™›‰ˆ	Ø˜5Ô Ð Ð ØÔÐÒr(   g      @g#B’¡œÇ;Úorderc                ó¸   € \        4       pR p\        P                  ! \        VR7      ;_uu_ 4        \	        W!R7       RRR4       R#   + '       g   i     R# ; i)z2`order` must be an integer in the range \[3, 17\].re   ©rŠ  N)r   rj   r   r‘   r	   )r#   rŠ  r;   rl   s   &&  r%   Útest_bad_ordersÚ.TestNumericalInversePolynomial.test_bad_orders³  s7   € äÓˆàCˆÜ�]Š]œ:¨S×1Ö1Ü& tÕ9÷ 2×1×1Ò1ús   ±AÁA	ry  c                ó¶   € R p\         P                  ! \        VR7      ;_uu_ 4        \        \	        4       VR7       RRR4       R#   + '       g   i     R# ; i)z.`u_resolution` must be between 1e-15 and 1e-5.re   rx  N)rj   r   r‘   r	   r   )r#   ry  rl   s   && r%   Útest_bad_u_resolutionÚ4TestNumericalInversePolynomial.test_bad_u_resolution»  s8   € à?ˆÜ�]Š]œ:¨S×1Ö1Ü&¤~Ó'7Ø4@õB÷ 2×1×1Ò1úr¨  c                óp  €  ! R  R4      pV! 4       pRp\         P                  ! \        VR7      ;_uu_ 4        \        V4      pRRR4       \	        4       p\        V4      pRp\         P                  ! \        VR7      ;_uu_ 4        VP                  ^
4       RRR4        ! R R4      pV! 4       p\        V4      pRp\         P                  ! \        VR7      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     LÂ; i  + '       g   i     L€; i  + '       g   i     R# ; i)	c                   ó&   a € ] tR tRt o R tRtV tR# )Ú=TestNumericalInversePolynomial.test_bad_args.<locals>.BadDistiÄ  c                ó@   € \         P                  P                  V4      # r-   rS  r"   s   &&r%   r/   ÚATestNumericalInversePolynomial.test_bad_args.<locals>.BadDist.cdfÅ  s   € Ü—z‘z—‘ qÓ)Ð)r(   r1   N)r3   r4   r5   r6   r/   r7   r8   r9   s   @r%   ÚBadDistr”  Ä  ó   ø‡ € ÷*ð *r(   r—  z9Either of the methods `pdf` or `logpdf` must be specifiedre   Nz4`sample_size` must be greater than or equal to 1000.c                   ó&   a € ] tR tRt o R tRtV tR# )ÚBTestNumericalInversePolynomial.test_bad_args.<locals>.DistributioniÓ  c                óJ   € \         P                  ! RV,          V,          4      # )r`  r   ©r   r!   r"   s   &&r%   r&   ÚFTestNumericalInversePolynomial.test_bad_args.<locals>.Distribution.pdfÔ  s   € Ü—v’v˜d Q�h q�jÓ)Ð)r(   r1   N)r3   r4   r5   r6   r&   r7   r8   r9   s   @r%   r—   rš  Ó  r˜  r(   r—   z!Exact CDF required but not found.)rj   r   r‘   r	   r   r„  )r#   r—  r;   rl   r}   r—   s   &     r%   r  Ú,TestNumericalInversePolynomial.test_bad_argsÂ  sÖ   € ÷	*ñ 	*ñ ‹yˆØJˆÜ�]Š]œ:¨S×1Ö1Ü,¨TÓ2ˆC÷ 2ô ÓˆÜ(¨Ó.ˆØEˆÜ�]Š]œ:¨S×1Ö1Ø�K‰K˜ŒO÷ 2÷	*ñ 	*ñ ‹~ˆÜ(¨Ó.ˆØ2ˆÜ�]Š]œ:¨S×1Ö1Ø�K‰KŒM÷ 2Ñ1÷! 2×1ú÷ 2×1ú÷ 2×1Ð1ús#   ¸C>ÂDÃ#D$Ã>D	ÄD!	Ä$D5	c                ó  €  ! R  R4      pV! 4       pR Vn         \        V4      pV! 4       pR Vn        \        V4      p\        P                  ! RR^dR7      p\        VP                  V4      VP                  V4      4       R# )c                   ó   € ] tR tRtRtR# )ÚJTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.MyDistiá  r1   Nr�  r1   r(   r%   ÚMyDistr¡  á  r‚  r(   r¢  c                 óL   € \         P                  ! V ) V ,          ^,          4      # ©r%  )Úmathr!   r@   s   &r%   rA   ÚLTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.<lambda>æ  s   € ¤§¢¨1¨"¨Q­$¨q­&Ô!1r(   c                 ó$   € V ) V ,          ^,          # r¤  r1   r@   s   &r%   rA   r¦  ë  s   € ¨ r¨!¥t¨A¦vr(   r²  r¾   NgwJëÿï?)r&   r	   ro  r   rÆ   r   rÈ   )r#   r¢  Údist_pdfr{   Údist_logpdfr|   Úqs   &      r%   Útest_logpdf_pdf_consistencyÚ:TestNumericalInversePolynomial.test_logpdf_pdf_consistencyÝ  sm   € ÷	ñ 	ñ “8ˆÙ1ˆŒÜ)¨(Ó3ˆñ “hˆÙ-ˆÔÜ)¨+Ó6ˆä�KŠK˜˜f¨#Ô.ˆÜ˜Ÿ™ › T§X¡X¨a£[Ö1r(   r1   NrÁ  gÍÌÌÌÌÌÜ¿çUUUUUUÕ?gìQ¸…ëÉ?g«ªªªªª @rÂ  rŸ  )0r3   r4   r5   r6   rF  rV  rm  rH  rÃ  rÄ  rÅ  r   r    rÆ  rÇ  rÈ  rj   r,  r.  r-  rÉ  rw  Úxslowr   re  rË  r‡  Úbad_logpdfs_commonrp  rÍ  r”  rÆ   rO   rK   rÏ   r{  r$   r€  Úslowrˆ  Ú
bad_ordersÚbad_u_resolutionr�  r�  r  r«  r7   r8   r9   s   @r%   r!  r!  ñ  so  ø‡ € ÷ñ ÷,ñ ,÷
ñ 
÷"	ñ 	ñ ‹W‘e“g™u›w©«Ð0€Eð ˆvˆ,€CØˆtˆ*€CØ�—‘�;˜ '¨"¯%©%°­(Õ"2Õ2Ð
3€CØ�—‘�;Ð)¨G°B·E±E¸1µHÕ,<Õ<Ð
=€CØ��S˜#Ð
€Cà‡[�[×ÑÐ&EÐÓFØ‡[�[×Ñ˜]Ù  ¨›_ó.ñ-ó.ó Gð-ð ‡[�[×ÑØ‡[�[×ÑÐ/°Ó:ñAó ;ó ðAð@ ‡[�[×Ñ˜_¨oÓ>ñ<ó ?ð<ð ‡[�[×ÑÐ/Ð1CÓDñ<ó Eð<ð ‡[�[×ÑÐ/°ÓAñHó BðHð 	�Š�A�q˜eÔ$à
ˆRˆDà	�‰ˆ�B—F‘F�7˜BŸF™F B§F¡FÐ+à	ð �&‰&�#�sÐ	˜c 3¨¯©Ð/²Ð<ð	€Að ‡[�[×Ñ˜S !Ó$ñ+ó %ð+ð  
�Š�S˜" %Ô	(¨"¨r¨d°R·V±V°HØ�6‰6ˆ'�2—6‘6˜2Ÿ6™6Ð	" AØ�6‰6�3˜Ð
˜s C¨¯©Ð0°B·F±F°7¸A¸q°/Ð	Bð	D€Að ‡[�[×Ñ˜S !Ó$ñ+ó %ð+ð  ‡[�[×Ññ	 ó ð	 ð �S˜"˜bŸf™f b§f¡fÐ-€JØ˜t R§V¡V¨R¯V©VÐ4Ðà‡[�[×Ñ˜W jÓ1ñ:ó 2ð:ð ‡[�[×Ñ˜^Ð-=Ó>ñBó ?ðBò÷62ð 2r(   r!  c            
       ó²  a € ] tR tRt o  ! R R4      t ! R R4      t]! 4       ]! 4       .tR"^]P                  ,          ,          R#^^]P                  ,          ]P                  ,          ,          ,
          .t	R$R%^^]P                  ,          ]P                  ,          ,          ,
          R&,
          .t
]	]
.t]P                  P                  R]! ]]4      4      ]P                  P                  R^^.4      ]P                  P                   R 4       4       4       t]P                  P                  R	]4      R
 4       tR t]P                  P+                  R4      ]P                  P,                  ]P                  P                  R']4      R 4       4       4       t]P                  P3                  ^4      ]P                  P+                  R4      ]P                  P5                  ^4      R 4       4       4       tR tR^ ]P:                  P=                  ^ 4      .t]PA                  ]P:                  PC                  ^ 4      4       R]"! 4       3R(R).t#]P                  P                  R]4      ]P                  P                  R]#4      ]P                  P                   R 4       4       4       t$R t%R t&]PN                  ! RRRR7      . . .]PP                  .]PR                  ) ]PP                  ]PR                  .^ ]PP                  RR.RR]PR                  .. R*O..t*]P                  P                  R]*4      R 4       t+]P                  PX                  R  4       t-R!t.V t/R# )+ÚTestNumericalInverseHermiteiò  c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )Ú!TestNumericalInverseHermite.dist0i÷  c                ó‚   € R R\         P                  ! R\         P                  ,          V,          4      ,           ,          # )r`  r   r   r6  r"   s   &&r%   r&   Ú%TestNumericalInverseHermite.dist0.pdfø  s'   € Ø˜œRŸVšV B¤r§u¡u¥H¨Q¥JÓ/Õ/Õ0Ð0r(   c                ó�   € \         P                  \         P                  ! R \         P                  ,          V,          4      ,          # )r   r:  r"   s   &&r%   r*   Ú&TestNumericalInverseHermite.dist0.dpdfû  s&   € Ü—5‘5œŸš ¤2§5¡5¥¨¥
Ó+Õ+Ð+r(   c                ó   € R R\         P                  ,          ^V,           ,          ,           \         P                  ! R\         P                  ,          V,          4      ,
          R\         P                  ,          ,          # )r   r   r  r:  r"   s   &&r%   r/   Ú%TestNumericalInverseHermite.dist0.cdfþ  sE   € Ø˜œBŸE™E� 1 q¥5Õ)Õ)¬B¯FªF°2´b·e±eµ8¸Aµ:Ó,>Õ>À2ÄbÇeÁeÅ8ÕLÐLr(   c                ó   € R# r@  r1   rB  s   &r%   rÊ   Ú)TestNumericalInverseHermite.dist0.support  rD  r(   r1   NrE  r9   s   @r%   rF  r¶  ÷  s   ø‡ € ò	1ò	,ò	M÷	ð 	r(   rF  c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )Ú!TestNumericalInverseHermite.dist1i  c                ól  € VR8:  dO   \         P                  ! R\         P                  ,          V,          4      R ,          \         P                  ,          # VR8  d   R# VR 8:  dO   \         P                  ! R\         P                  ,          V,          4      R ,          \         P                  ,          # R# ©r`  r   r^   Nr   r6  r"   s   &&r%   r&   Ú%TestNumericalInverseHermite.dist1.pdf	  ss   € Ø�T”	Ü—v’v˜r¤B§E¡E�z¨QÕ.Ó/°#Õ5¼¿¹Õ=Ð=Ø�B”ÙØ�S”Ü—v’v˜r¤B§E¡E�z¨QÕ.Ó/°#Õ5¼¿¹Õ=Ð=ñ r(   c                ó¤  € VR8:  d]   \         P                  ! R\         P                  ,          V,          4      \         P                  ,          \         P                  ,          # VR8  d   R# VR 8:  d]   \         P                  ! R\         P                  ,          V,          4      \         P                  ,          \         P                  ,          # R# rÂ  ©r   r;  r    r"   s   &&r%   r*   Ú&TestNumericalInverseHermite.dist1.dpdf  s{   € Ø�T”	Ü—v’v˜r¤B§E¡E�z¨QÕ.Ó/´"·%±%Õ7¼"¿%¹%Õ?Ð?Ø�B”ÙØ�S”Ü—v’v˜r¤B§E¡E�z¨QÕ.Ó/´"·%±%Õ7¼"¿%¹%Õ?Ð?ñ r(   c                ó4  € VR8:  dA   R^\         P                  ! R\         P                  ,          V,          4      ,
          ,          # VR8  d   R # VR 8:  dA   RR\         P                  ! R\         P                  ,          V,          4      ,          ,
          # R# )r`  ç      Ð?r   r^   r5  Nr   rÅ  r"   s   &&r%   r/   Ú%TestNumericalInverseHermite.dist1.cdf  sk   € Ø�T”	Ø˜q¤2§6¢6¨2´·±­:¸Õ*:Ó#;Õ;Õ<Ð<Ø�B”ÙØ�S”Ø˜d¤R§V¢V¨R´"·%±%­Z¸1Õ,<Ó%=Õ=Õ=Ð=ñ r(   c                ó   € R# )r•   )rA  r`  r1   rB  s   &r%   rÊ   Ú)TestNumericalInverseHermite.dist1.support!  s   € ØˆNr(   r1   NrE  r9   s   @r%   rV  rÀ    s   ø‡ € ò	>ò	@ò	>÷	ð 	r(   rV  ro  rŠ  c                ó8   € \        W^*R7      p\        WAV4       R# )rJ  )rŠ  rs   N)r
   rÇ   )r#   r;   rÜ   rŠ  r}   s   &&&& r%   rw  Ú&TestNumericalInverseHermite.test_basic+  s   € ô
 & dÀbÔIˆÜ˜3 eÖ,r(   rc   c                ó¨   € \         P                  ! W#R 7      ;_uu_ 4        \        \        4       VR7       RRR4       R#   + '       g   i     R# ; ir’  )rj   r   r
   r   r“  s   &&&&r%   r”  Ú0TestNumericalInverseHermite.test_inf_nan_domains5  s-   € ä�]Š]˜3×*Ö*Ü#¤NÓ$4¸VÕD÷ +×*×*Ò*úr–  c           	     óØ  € 0 Rmp0 RmpW9   d   \         P                  ! R4       W9   d   \         P                  ! R4       \        P                  P                  ^ 4      p\        \        V4      ! V!  p\        V4      pVP	                  ^
4      p\        P                  ! \        P                  ! VP                  V4      VP                  V4      ,
          4      \        P                  ! VP                  V4      4      ,          4      p	\        P                  ! \        P                  ! VP                  VP                  V4      4      V,
          4      4      p
V	R8  g   Q hV
R8  g   Q hR# )rQ  zDistribution is too slowz)Fails - usually due to inaccurate CDF/PDFç:Œ0âŽyE>r  N>   rQ  rR  ÚskewnormrT  >   r^  ÚnctÚbetaÚwaldrP  ÚinvgaussrX  rO  ÚgeninvgaussÚnorminvgaussÚgenhyperbolicrU  )rj   rÓ  r  r   rv   rÅ   rh   r   r
   Úmaxrb  rÈ   r/   )r#   r×  ÚshapesÚ
slow_distsrc  r}   r;   Úfnir$   Úp_tolÚu_tols   &&&        r%   Úbasic_test_all_scipy_distsÚ6TestNumericalInverseHermite.basic_test_all_scipy_dists:  sü   € ÚBˆ
ò@ˆ
ð Ô!Ü�KŠKÐ2Ô3ØÔ!ô �LŠLÐDÔEä�i‰i×#Ñ# AÓ&ˆä”u˜hÔ'¨Ñ0ˆÜ% dÓ+ˆà�J‰J�r‹NˆÜ—’”r—v’v˜dŸh™h q›k¨#¯'©'°!«*Õ4Ó5´b·f²f¸T¿X¹XÀa»[Ó6IÕIÓJˆÜ—’”r—v’v˜dŸh™h s§w¡w¨q£zÓ2°QÕ6Ó7Ó8ˆà�tŒ|Ðˆ|Ø�uŒ}ÐŠ}r(   zignore::RuntimeWarningc                ó(   € V P                  W4       R # r-   ©rà  )r#   r×  rÛ  s   &&&r%   re  Ú6TestNumericalInverseHermite.test_basic_all_scipy_distsS  s   € ð 	×'Ñ'¨Ö9r(   c                ó*   € V P                  R R4       R# )Ú	truncnormN)rÖ   r%  rã  rB  s   &r%   Útest_basic_truncnorm_gh17155Ú8TestNumericalInverseHermite.test_basic_truncnorm_gh17155[  s   € ð 	×'Ñ'¨°XÖ>r(   c                óþ  € R p\         P                  ! \        VR7      ;_uu_ 4        \        \	        4       ^R7       RRR4       Rp\         P                  ! \        VR7      ;_uu_ 4        \        R4       RRR4       Rp\         P                  ! \        VR7      ;_uu_ 4        \        \	        4       RR7       RRR4       R#   + '       g   i     L�; i  + '       g   i     Li; i  + '       g   i     R# ; i)	z"`order` must be either 1, 3, or 5.re   rŒ  Nz`cdf` required but not foundrÄ   z!could not convert string to floatÚekkirx  )rj   r   r‘   r
   r   )r#   rf   s   & r%   rý   Ú1TestNumericalInverseHermite.test_input_validationa  s�   € Ø5ˆÜ�]Š]œ:¨U×3Ö3Ü#¤NÓ$4¸AÕ>÷ 4ð /ˆÜ�]Š]œ:¨U×3Ö3Ü# FÔ+÷ 4ð 4ˆÜ�]Š]œ:¨U×3Ö3Ü#¤NÓ$4Ø17õ9÷ 4Ñ3÷ 4×3ú÷ 4×3ú÷ 4×3Ð3ús#   §CÁ+CÂ%C+ÃC	ÃC(	Ã+C<	Nr}   r  c                ó2  € \        4       p\        V4      p\        V4      pVP                  W!R 7      pVe   VP                  V8X  g   Q hVeJ   \        V4      pVP                  VR7      p\        P                  P                  V4      p	\        Wy4       R# R# ))r¸   rs   N©r¸   )r   r
   r   ru   r»   r   r  r   rÄ   rÈ   r   )
r#   r}   r  r  r;   rÝ  r|   ru   r  r   s
   &&&&      r%   Útest_RVSÚ$TestNumericalInverseHermite.test_RVSs  s†   € ô ÓˆÜ% dÓ+ˆä˜‹}ˆØ�g‰g˜7ˆgÓ5ˆØÒØ—9‘9 Ô(Ð(Ð(àÒÜ% dÓ+ˆDØ—l‘l¨�lÓ0ˆGÜ—:‘:—>‘> 'Ó*ˆDÜ˜CÖ&ñ	 r(   c                ó  € RpRp\         P                  ! \        VR7      ;_uu_ 4        \        \        P
                  ! V!  4       RRR4       \        \        P
                  ! V!  RR7       R#   + '       g   i     L1; i)ç�µds’z@zg98 : one or more intervals very short; possibly due to numerical problems with a pole or very flat tailre   NrÑ  rx  )rñ  g@ø¯eä?)rj   rí   rî   r
   r   rÔ  )r#   rÛ  rf   s   &  r%   Útest_inaccurate_CDFÚ/TestNumericalInverseHermite.test_inaccurate_CDF…  sX   € ð :ˆðDˆô �\Š\œ.°×6Ö6Ü#¤E§J¢J°Ñ$7Ô8÷ 7ô 	 ¤§
¢
¨FÑ 3À$×G÷	 7×6ús   ©A0Á0B 	c                óÈ   € \        4       p\        V4      p\        P                  ! 4       p\        V4      p\	        VP                  ^ R7      VP                  ^ R7      4       R# )r   rt   N)r   r
   r   rÄ   r   ru   )r#   rV  Úfni1rm  Úfni2s   &    r%   Útest_custom_distributionÚ4TestNumericalInverseHermite.test_custom_distribution“  sI   € ÜÓ ˆÜ& uÓ-ˆä—
’
“ˆÜ& uÓ-ˆä˜Ÿ™¨a˜Ó0°$·(±(È°(Ó2JÖKr(   r^   r   rt  r¾   r`  rÖ   r_   r`   rÏ   c                óz  € \        4       p\        VR R7      p\        P                  ! 4       ;_uu_ 4        Rp\        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       \        P                  ! RVR,           \
        4       VP                  V4      p\        P                  P                  V4      pRRR4       \        XXR	R
R7       VP                  VP                  8X  g   Q hR#   + '       g   i     L>; i)r  rx  r¬  rr  r­  r®  r¯  r°  Ng•Ö&è.>gLÎaã§�ô=rÓ   )r   r
   rs  rt  r³  rî   rÈ   r   rÄ   r   r»   rz  s   &&     r%   r{  Ú$TestNumericalInverseHermite.test_ppf«  sÙ   € äÓˆÜ% d¸Ô?ˆô ×$Ò$×&Õ&Ø1ˆCÜ×#Ò# H¨c°I­o¼~ÔNÜ×#Ò# H¨c°OÕ.CÄ^ÔTÜ×#Ò# H¨c°F­l¼NÔKÜ×#Ò# H¨c°LÕ.@Ä.ÔQØ—'‘'˜!“*ˆCÜ—z‘z—~‘~ aÓ(ˆH÷ 'ô 	˜˜X¨D°uÕ=Ø�y‰y˜HŸN™NÔ*Ð*Ò*÷ '×&úr~  c                ó‚  € \        4       p\        VR R7      pVP                  4       w  r4VR 8  g   Q hWC8:  g   Q h\        P                  ! 4       ;_uu_ 4        \        P
                  ! R\        4       \        VRR7      pRRR4       VP                  4       w  r4VR8  g   Q hWC8:  g   Q hR#   + '       g   i     L5; i)rƒ  rx  rr  rw  N)r   r
   r„  rs  rt  ru  rî   r…  s   &    r%   rˆ  Ú(TestNumericalInverseHermite.test_u_error¼  sŸ   € äÓˆÜ% d¸Ô?ˆØŸ™›‰ˆ	Ø˜5Ô Ð Ð ØÔÐÐÜ×$Ò$×&Õ&ä×!Ò! (¬NÔ;Ü)¨$¸UÔCˆC÷ 'ð Ÿ™›‰ˆ	Ø˜5Ô Ð Ð ØÔÐÒ÷ '×&ús   Á)B.Â.B>	r1   rA  r­  g      Ð¿g      Ø?g      °?)r×  rÛ  )é   )rý  )©r  rì   é   rþ  rÂ  )0r3   r4   r5   r6   rF  rV  rÃ  r   r    rÄ  rÅ  rÈ  rj   r,  r-  rÉ  r.  rw  rÍ  r”  rà  r³  r®  r   re  Ú	fail_slowÚparallel_threads_limitrç  rý   rv   rw   ÚrngsÚappendrÅ   r)  r*  rî  rò  r÷  rÆ   rO   rK   rÏ   r{  r°  rˆ  r7   r8   r9   s   @r%   r´  r´  ò  s  ø‡ € ÷
ñ ÷"ñ ñ8 ‹W‘e“gÐ€Eð ˆq�—‘�w�<˜˜q ! B§E¡E¥'¨"¯%©%¥-Õ0Õ0Ð
1€CØ��Q˜˜"Ÿ%™%� §¡�Õ&Õ&¨Õ-Ð
.€CØ�ˆ*€Cà‡[�[×Ñ˜]Ù  ¨›_ó.à‡[�[×Ñ˜W q¨! fÓ-Ø‡[�[×Ññ-ó ó .ó.ð-ð ‡[�[×ÑÐ/°ÓAñEó BðEòð2 ‡[�[×ÑÐ 8Ó9Ø‡[�[×ÑØ‡[�[×ÑÐ3°XÓ>ñ:ó ?ó ó :ð:ð
 ‡[�[×Ñ˜1ÓØ‡[�[×ÑÐ 8Ó9Ø‡[�[×'Ñ'¨Ó*ñ?ó +ó :ó ð?ò9ð �!�R—Y‘Y×*Ñ*¨1Ó-Ð.€DØ‡K�K�—	‘	×%Ñ% aÓ(Ô)Ø‘E“Gˆ_˜iÐ)?Ð@€Eà‡[�[×Ñ˜U DÓ)Ø‡[�[×ÑÐ0°%Ó8Ø‡[�[×Ññ'ó ó 9ó *ð'òHòLð 	�Š�B˜ Ô&à
ˆRˆDà	�‰ˆ�B—F‘F�7˜BŸF™F B§F¡FÐ+à	ð �&‰&�#�sÐ	˜c 3¨¯©Ð/²Ð<ð	€Að ‡[�[×Ñ˜S !Ó$ñ+ó %ð+ð  ‡[�[×Ññ ó ö r(   r´  c            
       óæ  a € ] tR tRt o 0 RmtR tR tR t]P                  P                  R]4      R 4       t]P                  ! ^ ^RR7      . . .]P                  .]P                   ) ]P                  ]P                   .^ ]P                  R	R
.RR]P                   .. RO..t]P                  P                  R]4      R 4       t]P                  P                  R]4      R 4       t]P                   ) ]P                   3]P                   ]P                   3]P                   ) ]P                   ) 3^ ]P                   3]P                   ) ^ 3.t]P                  P                  R]4      R 4       tRtV tR# )ÚTestDiscreteGuideTableiÌ  c                óâ   € . ROp\         P                  P                  4       p\        P                  ! \
        4      ;_uu_ 4        \        W^R7       RRR4       R#   + '       g   i     R# ; i©rÖ   ©rs   Úguide_factorN©rÖ   g333333Ó?g333333ã?©r   rv   rÅ   rj   rí   rî   r   ©r#   rÐ   rÎ   s   &  r%   Ú$test_guide_factor_gt3_raises_warningÚ;TestDiscreteGuideTable.test_guide_factor_gt3_raises_warningÓ  óA   € ÚˆÜ�y‰y×$Ñ$Ó&ˆÜ�\Š\œ.×)Õ)Ü˜rÀ1ÕE÷ *×)×)Ò)úó   ÁAÁA.	c                óâ   € . ROp\         P                  P                  4       p\        P                  ! \
        4      ;_uu_ 4        \        W^ R7       RRR4       R#   + '       g   i     R# ; ir  r  r  s   &  r%   Ú%test_guide_factor_zero_raises_warningÚ<TestDiscreteGuideTable.test_guide_factor_zero_raises_warningÙ  r  r  c                óâ   € . ROp\         P                  P                  4       p\        P                  ! \
        4      ;_uu_ 4        \        WRR7       RRR4       R#   + '       g   i     R# ; i)rÖ   r  Nr
  rA  r  r  s   &  r%   Ú)test_negative_guide_factor_raises_warningÚ@TestDiscreteGuideTable.test_negative_guide_factor_raises_warningß  sC   € ò ˆÜ�y‰y×$Ñ$Ó&ˆÜ�\Š\œ.×)Õ)Ü˜rÀ2ÕF÷ *×)×)Ò)úr  rÐ  c                ó0  € WP                   9   d   R p\        P                  ! V4       \        V\        4      '       g   TpM\        \        V4      pV! V!  pVP                  4       p\        P                  ! V^,          V^ ,          ,
          4      '       g   \        P                  ! R4       \        P                  ! V^ ,          V^,          ^,           4      pVP                  V4      pVP                  R4      p\        V^*R7      p	\        W—V4       R# )zYDGT fails on these probably because of large domains and small computation errors in PMF.z$DGT only works with a finite domain.rÝ   rt   N)rÒ  rj   rÓ  rÔ  rÕ  rh   r   rÊ   r   rÙ   rÌ   rË   r   rÍ   rÖ  s
   &&&       r%   rw  Ú!TestDiscreteGuideTable.test_basicè  sË   € à×,Ñ,Ô,ð:ˆCä�KŠK˜Ôä˜(¤C×(Ò(Ø‰Däœ5 (Ó+ˆDá�V‰}ˆØ—‘“ˆä�{Š{˜6 !�9 v¨a¥yÕ0×1Ò1ô �KŠKÐ>Ô?ä�IŠI�f˜Q•i ¨¥¨1¥Ó-ˆØ�X‰X�a‹[ˆØ—
‘
˜4Ó ˆÜ  °BÔ7ˆÜ˜C UÖ+r(   rt  r¾   r`  rÖ   r_   r`   rÏ   c                ó˜  € ^Rr2\         P                  ! W#4      p\        V^*R7      p\        P                  ! 4       ;_uu_ 4        Rp\        P
                  ! RVR,           \        4       \        P
                  ! RVR,           \        4       \        P
                  ! RVR,           \        4       \        P
                  ! RVR,           \        4       VP                  V4      p\         P                  P                  WV4      pR	R	R	4       \        XP                  XP                  4       \        Wx4       R	#   + '       g   i     L=; i)
r  rÖ   rt   r¬  rr  r­  r®  r¯  r°  N)
r   rÉ   r   rs  rt  r³  rî   rÈ   r   r»   )	r#   rÏ   ÚnÚpr;   r}   rl   rµ  r¶  s	   &&       r%   r{  ÚTestDiscreteGuideTable.test_ppf  sÞ   € à�#ˆ1Ü�{Š{˜1Ó ˆÜ  °BÔ7ˆô ×$Ò$×&Õ&Ø1ˆCÜ×#Ò# H¨c°I­o¼~ÔNÜ×#Ò# H¨c°OÕ.CÄ^ÔTÜ×#Ò# H¨c°F­l¼NÔKÜ×#Ò# H¨c°LÕ.@Ä.ÔQØ—'‘'˜!“*ˆCÜ—{‘{—‘ q¨QÓ/ˆH÷ 'ô 	�S—Y‘Y §¡Ô/Ü�SÖ#÷ '×&ús   ÁC D9Ä9E		rö  c                óž   € \         P                  ! \        VR 7      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; irø  )rj   r   r‘   r   rú  s   &&&r%   rû  Ú"TestDiscreteGuideTable.test_bad_pv#  s*   € ä�]Š]œ:¨S×1Ö1Ü˜rÔ"÷ 2×1×1Ò1úrý  rg   c                óÌ   € \         P                  ! \        R R7      ;_uu_ 4        \        \        P
                  ! ^
R4      VR7       RRR4       R#   + '       g   i     R# ; irÿ  )rj   r   r‘   r   r   rÉ   r   s   &&r%   r  Ú&TestDiscreteGuideTable.test_inf_domain-  s9   € ä�]Š]œ:Ð->×?Ö?ÜœuŸ{š{¨2¨sÓ3¸FÕC÷ @×?×?Ò?úr  r1   N>   r  r  r  rÂ  )r3   r4   r5   r6   rÒ  r  r  r  rj   r,  r-  r   rw  r   rÆ   rO   rK   rÏ   r{  r  rû  r  r  r7   r8   r9   s   @r%   r  r  Ì  so  ø‡ € òÐòFòFòGð ‡[�[×ÑÐ/°Ó>ñ,ó ?ð,ð6 	�Š�A�q˜eÔ$à
ˆRˆDà	�‰ˆ�B—F‘F�7˜BŸF™F B§F¡FÐ+à	ð �&‰&�#�sÐ	˜c 3¨¯©Ð/²Ð<ð	€Að ‡[�[×Ñ˜S !Ó$ñ$ó %ð$ð$ ‡[�[×Ñ˜Y¨Ó6ñ#ó 7ð#ð —F‘F�7˜BŸF™FÐ# b§f¡f¨b¯f©fÐ%5¸¿¹¸À"Ç&Á&ÀÐ7IØ�b—f‘f�+ §¡ ¨˜|ð-€Jð ‡[�[×Ñ˜X zÓ2ñDó 3öDr(   r  c                   ób  a € ] tR tRt o  ! R R4      t]! R4      ]! R4      .tR]P                  .tR]P                  .t	]]	.t
]P                  P                  R]! ]]
4      4      ]P                  P                  R 4       4       t]P                  P                  R]4      R	 4       tR
 tRtV tR# )ÚTestSimpleRatioUniformsi3  c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )ÚTestSimpleRatioUniforms.disti7  c                ó   € Wn         Wn        R # r-   )r[  r=   r\  s   &&r%   rŽ   Ú%TestSimpleRatioUniforms.dist.__init__8  s   € ØŒJØŽIr(   c                óx   € WP                   ,          pR \        V4      R ,           ,          pRV,          V,          # r_  ra  rc  s   && r%   r&   Ú TestSimpleRatioUniforms.dist.pdf<  rf  r(   c                ó‚   € WP                   ,          pVR 8:  d   RRV,
          ,          # RRRV,           ,          ,
          # rj  rZ  r"   s   &&r%   r/   Ú TestSimpleRatioUniforms.dist.cdfA  rl  r(   )r=   r[  N)	r3   r4   r5   r6   rŽ   r&   r/   r7   r8   r9   s   @r%   r;   r$  7  s   ø‡ € ò	ò	÷
	+ð 	+r(   r;   r^   rn  ro  c                óÆ   € \        WP                  ^*R7      p\        W1V4       \        WP                  VP                  VP                  4      ^*R7      p\        W1V4       R# )rJ  )r=   rs   )r=   Úcdf_at_moders   N)r   r=   rÇ   r/   rv  s   &&& r%   rw  Ú"TestSimpleRatioUniforms.test_basicO  sM   € ô " $¯Y©YÀRÔHˆÜ˜3 eÔ,Ü! $¯Y©YØ.2¯h©h°t·y±yÓ.AØ/1ô3ˆô 	˜3 eÖ,r(   rc   c                ó¨   € \         P                  ! W#R 7      ;_uu_ 4        \        \        4       VR7       RRR4       R#   + '       g   i     R# ; ir’  )rj   r   r   r   r“  s   &&&&r%   r”  Ú,TestSimpleRatioUniforms.test_inf_nan_domains\  s-   € ä�]Š]˜3×*Ö*Ü¤Ó 0¸Õ@÷ +×*×*Ò*úr–  c                ó´   € \         P                  ! \        R R7      ;_uu_ 4        \        \	        4       ^ RR7       RRR4       R#   + '       g   i     R# ; i)z`pdf_area` must be > 0re   )r=   Úpdf_areaNrA  )rj   r   r‘   r   r   rB  s   &r%   r  Ú%TestSimpleRatioUniforms.test_bad_argsa  s3   € ä�]Š]œ:Ð-F×GÖGÜ¤Ó 0°qÀ2ÕF÷ H×G×GÒGús   ¥AÁA	r1   N)r3   r4   r5   r6   r;   rÃ  r   rK   rÅ  rÆ  rÈ  rj   r,  r-  rÉ  r.  rw  rÍ  r”  r  r7   r8   r9   s   @r%   r"  r"  3  s¼   ø‡ € ÷+ñ +ñ" �"‹X‘t˜F“|Ð$€Eð ˆr�v‰vˆ,€CØ�2—6‘6Ð
€CØ�ˆ*€Cà‡[�[×Ñ˜]Ù  ¨›_ó.à‡[�[×Ññ-ó ó.ð-ð ‡[�[×ÑÐ/°ÓAñAó BðA÷Gð Gr(   r"  c                   ó8   a € ] tR tRt o R tR tR tR tRtV t	R# )ÚTestRatioUniformsig  c           	     óh  € \         P                  P                  p\        P                  ! V! \        P                  ! ^4      4      4      \        P                  ! ^4      ,          p\        P                  ! V! ^ 4      4      p\        WV) VRR7      p\        \         P                  ! VP                  R4      R4      ^,          R8„  R4       \        R ^^ ^\        P                  ! R4      ,          RR7      p\        \         P                  ! VP                  R4      R	4      ^,          R8„  R4       R
# )r%  i90  ©ÚumaxÚvminÚvmaxrs   iÄ	  rÄ   rÈ  Tc                 ó0   € \         P                  ! V ) 4      # r-   rœ  r@   s   &r%   rA   Ú6TestRatioUniforms.test_rv_generation.<locals>.<lambda>r  s   € ¤b§f¢f¨a¨R¤jr(   r©  ÚexponNrA  )
r   rÄ   r&   r   r   r   r   Úkstestru   r!   )r#   ÚfÚvrÏ   rü   s   &    r%   Útest_rv_generationÚ$TestRatioUniforms.test_rv_generationh  sÎ   € ô �J‰J�N‰NˆÜ�GŠG‘A”b—g’g˜a“j“MÓ"¤R§W¢W¨Q£ZÕ/ˆÜ�GŠG‘A�a“D‹MˆÜ˜A¨Q¨B°QÀUÔKˆÜ”U—\’\ #§'¡'¨$£-°Ó8¸Õ;¸dÑBÀDÔIô Ñ0°qØ!"¨¬2¯6ª6°"«:­ÀEôKˆä”U—\’\ #§'¡'¨$£-°Ó9¸!Õ<¸tÑCÀTÖJr(   c                óF  € \         P                  P                  p\        P                  ! V! \        P                  ! ^4      4      4      \        P                  ! ^4      ,          p\        P                  ! V! ^ 4      4      p\        WV) VRR7      p\        WV) VRR7      p\        WV) VRR7      pVP                  ^4      VP                  R4      VP                  R4      r˜p\        Wx4       \        W‰P                  4       4       \        VP                  R4       \        V	P                  R4       \        WV) V^R7      p
\        WV) V^R7      pV
P                  RR7      VP                  ^R7      rÜ\        VP                  4       V4       \        VP                  R4       \        WV) VRR7      p\        WV) VRR7      p\        WV) VRR7      pVP                  4       VP                  ^4      VP                  R4      ppp\        VV4       \        VV4       R# )	r%  éÒ  r6  rí  Nr&  )rë   r•   )rë   rë   rë   r”   )
r   rÄ   r&   r   r   r   ru   r   Úflattenr»   )r#   r>  r?  rÏ   Úgen1Úgen2Úgen3Úr1Úr2Úr3Úgen4Úgen5Úr4Úr5Úgen6Úgen7Úgen8Úr6Úr7Úr8s   &                   r%   Ú
test_shapeÚTestRatioUniforms.test_shapev  sŸ  € ä�J‰J�N‰NˆÜ�GŠG‘A”b—g’g˜a“j“MÓ"¤R§W¢W¨Q£ZÕ/ˆÜ�GŠG‘A�a“D‹Mˆä˜Q¨a¨R°aÀdÔKˆÜ˜Q¨a¨R°aÀdÔKˆÜ˜Q¨a¨R°aÀdÔKˆØ—X‘X˜a“[ $§(¡(¨4£.°$·(±(¸6Ó2B�ˆÜ�RÔÜ�RŸ™›Ô&Ü�R—X‘X˜tÔ$Ü�R—X‘X˜vÔ&ä˜Q¨a¨R°aÀbÔIˆÜ˜Q¨a¨R°aÀbÔIˆØ—‘˜y�Ó)¨4¯8©8¸¨8Ó+<ˆBÜ�R—Z‘Z“\ 2Ô&Ü�R—X‘X˜yÔ)ä˜Q¨a¨R°aÀdÔKˆÜ˜Q¨a¨R°aÀdÔKˆÜ˜Q¨a¨R°aÀdÔKˆØ—X‘X“Z §¡¨!£¨d¯h©h°t«n�ˆBˆÜ�R˜ÔÜ�R˜Ör(   c                óÞ  € \         P                  P                  p\        P                  ! V! \        P                  ! ^4      4      4      \        P                  ! ^4      ,          p\        P                  ! V! ^ 4      4      p\        WV) VRR7      pVP                  ^
4      p\        P                  P                  R4      p\        WV) W&R7      pVP                  ^
4      p\        WX4       R# )r%  rC  r6  N)
r   rÄ   r&   r   r   r   ru   rv   rw   r   )	r#   r>  r?  r7  rE  rH  r}   rF  rI  s	   &        r%   r‚   Ú#TestRatioUniforms.test_random_state’  sŸ   € Ü�J‰J�N‰NˆÜ�GŠG‘A”b—g’g˜a“j“MÓ"¤R§W¢W¨Q£ZÕ/ˆÜ�wŠw‘q˜“t‹}ˆÜ˜Q°°¸ÈÔNˆØ�X‰X�b‹\ˆÜ�i‰i×#Ñ# DÓ)ˆÜ˜Q°°¸ÔMˆØ�X‰X�b‹\ˆÜ�RÖr(   c           	     ó\  € \         P                  P                  p\        \        R R7      ;_uu_ 4        \        V^^^R7       RRR4       \        \        R R7      ;_uu_ 4        \        V^^^R7       RRR4       \        \        RR7      ;_uu_ 4        \        VR^^R7       RRR4       \        \        RR7      ;_uu_ 4        \        V^ ^^R7       RRR4       R#   + '       g   i     L¥; i  + '       g   i     L‡; i  + '       g   i     Li; i  + '       g   i     R# ; i)zvmin must be smaller than vmaxre   )r&   r7  r8  r9  Nzumax must be positiverA  )r   rÄ   r&   Úassert_raisesr‘   r   )r#   r>  s   & r%   Útest_exceptionsÚ!TestRatioUniforms.test_exceptions�  sÁ   € Ü�J‰J�N‰Nˆäœ:Ð-M×NÖNÜ˜a a¨a°aÕ8÷ Oäœ:Ð-M×NÖNÜ˜a a¨a°aÕ8÷ Oô œ:Ð-D×EÖEÜ˜a b¨q°qÕ9÷ Fäœ:Ð-D×EÖEÜ˜a a¨a°aÕ8÷ FÑE÷ O×NúçN×Nú÷ F×EúçE×EÐEús/   ´C!Á%C4ÂDÃDÃ!C1	Ã4D	ÄD	ÄD+	r1   N)
r3   r4   r5   r6   r@  rU  r‚   r[  r7   r8   r9   s   @r%   r4  r4  g  s   ø‡ € òKòò8	÷9ð 9r(   r4  )r  r  r<   )é   rë   rœ   )r•   r%  rë   r1   )r%  r•   )r•   r•   )rœ   rœ   )Nr   rz  r•   )rœ   rë   )r%  rë   r  rì   )r   r   )r   r•   )gH¯¼šò×z>rÖ   )r±  rÖ   )r   r	   r   )Lr«   r³   rj   Úcopyr   r  r
  r¥  rs  Únumpyr   Únumpy.testingr   r   Úscipy.stats.samplingr   r   r   r	   r
   r   r   r   r   rZ  Úscipyr   r   Úscipy.statsr   r   Úscipy.stats._distr_paramsr   r   Úscipy._lib._utilr   r   Úall_methodsÚimplementationÚnameÚversionÚfloaterrr  r  rË  rÌ  r¯  rO   rK   r  r‘   Úbad_sized_domainsÚbad_domainsrÍ  Únan_domainsr,  r-  rp   r‚   r…   r±   r·   r¼   rÑ   rÇ   rÍ   rï   rñ   ró   r0  rÏ  r!  r´  r  r"  r4  r1   r(   r%   Ú<module>rn     s¾  ðÛ Û Û Ý Û Û 
Û Û ã ß 7÷	÷ 	ó 	õ +Ý Ý ß 1ß <Ý /÷	ñ 	ð # V©^Ó-=Ð$>Ð?Ø˜&Ò"3Ð4Ð5Ø˜FÒ$5Ð6Ð7Ø! F©NÓ,<Ð#=Ð>Ø ©Ó)9Ð :Ð;Ø˜V¡^Ó%5°v¸qÐAÐBð€ð ×Ñ×Ñ˜vÔ%Ø×Ñ×&Ñ&¨Ô3à@�Hà/€Hñ �; Ð'á�9˜hÐ'á�IÐ;Ð<á�{ FÐ+á�{ FÐ+á�)ÐLÐMð€ñ& �{ FÐ+á�{ FÐ+á�9˜hÐ'á�IÐ;Ð<á�)ÐLÐMð€ñ" �9˜hÐ'á�IÐ;Ð<á�{ FÐ+á�{ FÐ+á�)ÐLÐMðÐ ð Ð	-Ð.Ø
ˆC€j€\ÐFÐGØ	ˆ3�—‘˜ÐÐJÐKØ	ˆ3�—‘˜ÐÐJÐKØ	ˆ3€ZÐ<Ð=ð€ð �
Ð7Ð8àˆÐ0Ð1ð	Ð ð ˆ[Ð*Ð+Øˆ[Ð*Ð+ð€ð ˆ{Ð,Ð-Ø‡f�fˆb�f‰fÐ�{Ð$4Ð5Ø	‡v�v€g�—‘ˆwÐ˜Ð&6Ð7Ø‡f�fˆr�v‰vˆgÐ˜Ð%5Ð6à	‡v�v€gˆr�v‰vÐ˜
Ð$:Ð;Ø‡f�fˆb�f‰fÐ�zÐ#9Ð:ð	€ð ˆ�‰€[�*Ð4Ð5Ø‡f�fˆb�f‰fÐ�zÐ#9Ð:ð€ð ‡�×ÑÐ+Ø$Ð'8Õ8Ø$õ%ó&ð ‡�×ÑÐ)¨;Ó7ñ(ó 8ó&ð(ð ‡�×ÑÐ)¨;Ó7ñ/ó 8ð/ò8	ò.#ðb ‡�×ÑÐ)¨;Ó7ñ/ó 8ð/ð ‡�×Ñ˜ò "2ó 3ñ	+ó3ð	+ò/ô*
ôò Dð ‡�×Ñ˜ò $Có Dñ8óDð8ð ‡�×Ñ˜Ð$=Ø$@ð$Bó C÷Y9ð Y9óCðY9÷x{.ñ {.÷|r'ñ r'÷j~2ñ ~2÷BW ñ W ÷tdDñ dD÷N1Gñ 1G÷hA9ó A9r(   