§
    fŠtjZÖ  ã            	       óÖ  — d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlZd dlZd dl	Z
d dlmZmZ d dlmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d d	lm Z m!Z! d d
l"m#Z#  G d„ d¦  «        Z$dd e$¦   «         ifddg d¢ifddg d¢ifdd e$¦   «         ifdd e$¦   «         ifd e$¦   «         d dœfgZ%ej&        j'        dk    rej&        j(        dk     rdZ)ndZ)d„ edfd„ e*e)fd„ e+dfd„ edfd „ edfd!„ e*d"fgZ,d#„ edfd$„ edfd%„ e*e)fd&„ e+dfd'„ e*d"fgZ-d(„ e*e)fd)„ e+dfd*„ edfd+„ edfd,„ e*d"fgZ.g d-fd.d/ggd0fd1d2e
j/        d3gd4fd1d2e
j0        d3gd4fd/d/gd5fgZ1d6e2d7fd8e2d7fgZ3d9ed:fd;ed:fgZ4d<ed:fe
j0        e
j0        fed:fe
j0         e
j0         fed:fe
j0        e
j0         fed:fe
j0         e
j/        fe2d=fe
j/        e
j0        fe2d=fgZ5d e
j/        fe2d=fe
j/        e
j/        fe2d=fgZ6ej7         8                    d>e4e3z   e6z   ¦  «        ej7         8                    d?e%¦  «        d@„ ¦   «         ¦   «         Z9ej7         8                    d?e%¦  «        dA„ ¦   «         Z:dB„ Z;dC„ Z<ej7         8                    d?e%¦  «        dD„ ¦   «         Z=ej7         8                    dEg dF¢¦  «        dG„ ¦   «         Z>dH„ Z?dbdK„Z@dcdM„ZAdN„ ZBej7         8                    dOg dP¢¦  «        dQ„ ¦   «         ZCej7         8                    dOddg¦  «         G dR„ dS¦  «        ¦   «         ZD G dT„ dU¦  «        ZE G dV„ dW¦  «        ZF G dX„ dY¦  «        ZG G dZ„ d[¦  «        ZH G d\„ d]¦  «        ZI G d^„ d_¦  «        ZJ G d`„ da¦  «        ZKdS )dé    N)Údeepcopy)Úassert_allcloseÚassert_equal)ÚTransformedDensityRejectionÚDiscreteAliasUrnÚDiscreteGuideTableÚNumericalInversePolynomialÚNumericalInverseHermiteÚRatioUniformsÚSimpleRatioUniformsÚUNURANError)Úraises)Ústats)Úspecial)Ú	chisquareÚcramervonmises)ÚdistdiscreteÚdistcont)Úcheck_random_statec                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚStandardNormalc                 ó€   — dt          j        dt           j        z  ¦  «        z  t          j        d|z  |z  ¦  «        z  S ©Nç      ð?ç       @ç      à¿©ÚnpÚsqrtÚpiÚexp©ÚselfÚxs     ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/stats/tests/test_sampling.pyÚpdfzStandardNormal.pdf#   s4   € à•"”'˜"�RœU™(Ñ#Ô#Ñ#¥b¤f¨T°A©X°a©ZÑ&8Ô&8Ñ8Ð8ó    c                 óˆ   — dt          j        dt           j        z  ¦  «        z  | z  t          j        d|z  |z  ¦  «        z  S r   r   r"   s     r%   ÚdpdfzStandardNormal.dpdf'   s;   € Ø•"”'˜"�RœU™(Ñ#Ô#Ñ# q bÑ(­2¬6°$¸±(¸1±*Ñ+=Ô+=Ñ=Ð=r'   c                 ó*   — t          j        |¦  «        S ©N)r   Úndtrr"   s     r%   ÚcdfzStandardNormal.cdf*   s   € ÝŒ|˜A‰ŒÐr'   N©Ú__name__Ú
__module__Ú__qualname__r&   r)   r-   © r'   r%   r   r   "   sA   € € € € € ð9ð 9ð 9ð>ð >ð >ðð ð ð ð r'   r   r   Údistr   )ç{®Gáz”?ç
×£p=
Ç?çš™™™™™é?r   r	   r
   r   )r3   ÚmodeÚpypy)é   é   é
   z.unsupported operand type for float\(\): 'list'zmust be real number, not listc                 ó   — |  S r+   r2   ©r$   s    r%   ú<lambda>r>   B   s   € �ˆr€ r'   z...c                 ó   — g S r+   r2   r=   s    r%   r>   r>   D   ó   € ˆr€ r'   c                 ó   — t           S r+   ©Úfoor=   s    r%   r>   r>   F   ó   € �s€ r'   úname 'foo' is not definedc                 ó   — t           j        S r+   ©r   Úinfr=   s    r%   r>   r>   H   ó   € �rŒv€ r'   c                 ó   — t           j        S r+   ©r   Únanr=   s    r%   r>   r>   J   rI   r'   c                  ó   — dS ©Nr   r2   r2   r'   r%   r>   r>   L   ó   € ˆS€ r'   ú,takes 0 positional arguments but 1 was givenc                 ó   — t           j        S r+   rG   r=   s    r%   r>   r>   S   rI   r'   c                 ó   — t           j        S r+   rK   r=   s    r%   r>   r>   U   rI   r'   c                 ó   — g S r+   r2   r=   s    r%   r>   r>   W   r@   r'   c                 ó   — t           S r+   rB   r=   s    r%   r>   r>   Y   rD   r'   c                  ó   — dS rN   r2   r2   r'   r%   r>   r>   [   rO   r'   c                 ó   — g S r+   r2   r=   s    r%   r>   r>   b   r@   r'   c                 ó   — t           S r+   rB   r=   s    r%   r>   r>   d   rD   r'   c                 ó   — t           j        S r+   rG   r=   s    r%   r>   r>   f   rI   r'   c                 ó   — t           j        S r+   rK   r=   s    r%   r>   r>   h   rI   r'   c                  ó   — dS rN   r2   r2   r'   r%   r>   r>   j   rO   r'   z!must contain at least one elementr   ç        z0wrong number of dimensions \(expected 1, got 2\)çš™™™™™É?çš™™™™™Ù?r6   ú)must contain only finite / non-nan valuesú(must contain at least one non-zero value)é   é   r:   zmust be a length 2 tupler2   )ra   r`   zleft >= right)r`   r`   )r;   r;   zonly non-nan valuesúdomain, err, msgzmethod, kwargsc                 ó°   — t          t          j        |¦  «        }t          j        ||¬¦  «        5   |di |¤d| i¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )N©ÚmatchÚdomainr2   )Úgetattrr   ÚsamplingÚpytestr   )rf   ÚerrÚmsgÚmethodÚkwargsÚMethods         r%   Útest_bad_domainro   ›   s¯   € õ
 •U”^ VÑ,Ô,€FÝ	Œ�s #Ð	&Ñ	&Ô	&ð (ð (ØˆÐ'Ð'�Ð'Ð' Ð'Ð'Ð'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   ±AÁAÁAc                 ó‚  — t          t          j        | ¦  «        }d} |di |¤d|i¤Ž} |di |¤d|i¤Ž}t          |                     d¦  «        |                     d¦  «        ¦  «         t
          j                             d¦  «        } |di |¤Ž}|                     d|¬¦  «        }t
          j                             d ¦  «          |di |¤ddi¤Ž}|                     d¦  «        }t          ||¦  «         t
          j                             t
          j         	                    d¦  «        ¦  «        }	t
          j         
                    t
          j         	                    d¦  «        ¦  «        }
 |di |¤d|	i¤Ž} |di |¤d|
i¤Ž}t          |                     d¦  «        |                     d¦  «        ¦  «         d S )Né{   Úrandom_stateéd   ©rr   r2   )rg   r   rh   r   Úrvsr   ÚrandomÚRandomStateÚseedÚMT19937Ú	Generator)rl   rm   rn   rx   Úrng1Úrng2ÚrngÚrvs1Úrvs2Úseed1Úseed2s              r%   Útest_random_stater‚   ¥   sÈ  € å•U”^ VÑ,Ô,€Fð €DØˆ6Ð.Ð.�FÐ.Ð.¨Ð.Ð.Ð.€DØˆ6Ð.Ð.�FÐ.Ð.¨Ð.Ð.Ð.€DÝ�—’˜#‘” §¢¨¡¤Ñ.Ô.Ð.õ Œ)×
Ò
 Ñ
$Ô
$€CØˆ6ÐÐ�FÐÐ€DØ�8Š8�C cˆ8Ñ*Ô*€DÝ„I‡N‚N�4ÑÔÐØˆ6Ð-Ð-�FÐ-Ð-¨Ð-Ð-Ð-€DØ�8Š8�C‰=Œ=€DÝ��tÑÔÐõ
 ŒI×!Ò!¥"¤)×"3Ò"3°CÑ"8Ô"8Ñ9Ô9€EÝŒI×Ò¥¤	× 1Ò 1°#Ñ 6Ô 6Ñ7Ô7€EØˆ6Ð/Ð/�FÐ/Ð/¨Ð/Ð/Ð/€DØˆ6Ð/Ð/�FÐ/Ð/¨Ð/Ð/Ð/€DÝ�—’˜#‘” §¢¨¡¤Ñ.Ô.Ð.Ð.Ð.r'   c                  óä  — t          t          ¦   «         d¬¦  «        } t          t          ¦   «         ¦  «        }|                     d¦  «         t          |                      d¦  «        |                     d¦  «        ¦  «         t          t          ¦   «         d¬¦  «        }|                     d¦  «        }|                     d¦  «         |                     d¦  «        }t          ||¦  «         d S )Nrq   rt   rs   )r   r   Úset_random_stater   ru   )r{   r|   r}   r~   r   s        r%   Útest_set_random_stater…   Â   sÅ   € Ý&¥~Ñ'7Ô'7ÀcÐJÑJÔJ€DÝ&¥~Ñ'7Ô'7Ñ8Ô8€DØ×Ò˜#ÑÔÐÝ�—’˜#‘” §¢¨¡¤Ñ.Ô.Ð.Ý
%¥nÑ&6Ô&6ÀSÐ
IÑ
IÔ
I€CØ�7Š7�3‰<Œ<€DØ×Ò˜ÑÔÐØ�7Š7�3‰<Œ<€DÝ��tÑÔÐÐÐr'   c                  ór  ‡‡— d d dœŠ G d„ d¦  «        Šˆˆfd„} ˆˆfd„}t          j        | ¬¦  «        }t          j        |¬¦  «        }|                     ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          ‰d         dk    sJ ‚‰d	         d
k    sJ ‚d S )N)Úerr1Úerr2c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú.test_threading_behaviour.<locals>.Distributionc                 ó   — || _         d S r+   )Úpdf_msg)r#   rŒ   s     r%   Ú__init__z7test_threading_behaviour.<locals>.Distribution.__init__Õ   s   € Ø"ˆDŒLˆLˆLr'   c                 óN   — d|cxk     rdk     rn nt          | j        ¦  «        ‚|S )Ng33333óH@g      I@)Ú
ValueErrorrŒ   r"   s     r%   r&   z2test_threading_behaviour.<locals>.Distribution.pdfØ   s0   € Ø�aˆˆŠˆ˜$ŠˆˆˆˆÝ  ¤Ñ.Ô.Ð.ØˆHr'   c                 ó   — dS ©Nr`   r2   r"   s     r%   r)   z3test_threading_behaviour.<locals>.Distribution.dpdfÝ   s   € Ø�1r'   N)r/   r0   r1   r�   r&   r)   r2   r'   r%   ÚDistributionrŠ   Ô   sA   € € € € € ð	#ð 	#ð 	#ð	ð 	ð 	ð
	ð 	ð 	ð 	ð 	r'   r’   c                  ó¾   •—  ‰d¦  «        } t          | dd¬¦  «        }	 |                     d¦  «         d S # t          $ r}|j        d         ‰d<   Y d }~d S d }~ww xY w)NrC   ©r;   rs   é   ©rf   rr   é † r   r‡   ©r   ru   r�   Úargs©r3   r}   Úer’   Úerrorss      €€r%   Úfunc1z'test_threading_behaviour.<locals>.func1à   s   ø€ Øˆ|˜EÑ"Ô"ˆÝ)¨$°yØ79ð;ñ ;ô ;ˆð	'Ø�GŠG�F‰OŒOˆOˆOˆOøÝð 	'ð 	'ð 	'ØœV AœYˆF�6‰NˆNˆNˆNˆNˆNˆNøøøøð	'øøøó    7 ·
AÁAÁAc                  ó¾   •—  ‰d¦  «        } t          | dd¬¦  «        }	 |                     d¦  «         d S # t          $ r}|j        d         ‰d<   Y d }~d S d }~ww xY w)NÚbarr”   ra   r–   r—   r   rˆ   r˜   rš   s      €€r%   Úfunc2z'test_threading_behaviour.<locals>.func2é   s   ø€ Øˆ|˜EÑ"Ô"ˆÝ)¨$°yØ78ð:ñ :ô :ˆð	'Ø�GŠG�F‰OŒOˆOˆOˆOøÝð 	'ð 	'ð 	'ØœV AœYˆF�6‰NˆNˆNˆNˆNˆNˆNøøøøð	'øøørž   )Útargetr‡   rC   rˆ   r    )Ú	threadingÚThreadÚstartÚjoin)r�   r¡   Út1Út2r’   rœ   s       @@r%   Útest_threading_behaviourr©   Î   s  øø€ ð  DÐ)Ð)€Fð
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ð'ð 'ð 'ð 'ð 'ð 'ð'ð 'ð 'ð 'ð 'ð 'õ 
Ô	 Ð	'Ñ	'Ô	'€BÝ	Ô	 Ð	'Ñ	'Ô	'€Bà‡H‚H�J„J€JØ‡H‚H�J„J€Jà‡G‚G�I„I€IØ‡G‚G�I„I€Ià�&Œ>˜UÒ"Ð"Ð"Ð"Ø�&Œ>˜UÒ"Ð"Ð"Ð"Ð"Ð"r'   c                 ó  — t          t          j        | ¦  «        } |di |¤ddi¤Ž}t          j        |¦  «        }t          j        |¦  «        }t          |                     d¦  «        |                     d¦  «        ¦  «         d S )Nrr   rq   rs   r2   )rg   r   rh   ÚpickleÚdumpsÚloadsr   ru   )rl   rm   rn   r{   Úobjr|   s         r%   Útest_pickler¯   ÿ   s{   € å•U”^ VÑ,Ô,€FØˆ6Ð-Ð-�FÐ-Ð-¨Ð-Ð-Ð-€DÝ
Œ,�tÑ
Ô
€CÝŒ<˜ÑÔ€DÝ�—’˜#‘” §¢¨¡¤Ñ.Ô.Ð.Ð.Ð.r'   Úsize)Nr   )r   r`   )r;   r:   )ra   r:   é   é   )r   r   )r   r`   c                 ó  — t          t          ¦   «         ¦  «        }| €+t          j        |                     | ¦  «        ¦  «        sJ ‚d S t          j        | ¦  «        r| f} |                     | ¦  «        j        | k    sJ ‚d S r+   )r   r   r   Úisscalarru   Úshape)r°   r}   s     r%   Útest_rvs_sizer¶     s   € õ
 &¥nÑ&6Ô&6Ñ
7Ô
7€CØ€|ÝŒ{˜3Ÿ7š7 4™=œ=Ñ)Ô)Ð)Ð)Ð)Ð)Ð)åŒ;�tÑÔð 	Ø�8ˆDØ�wŠw�t‰}Œ}Ô" dÒ*Ð*Ð*Ð*Ð*Ð*r'   c                  ó”  — t          j        ¦   «         } t          j                             d¦  «        }t          | |¬¦  «        }t          j        ddd¬¦  «        }t          || |                       ¦   «         ¦  «         t          |  	                    |¦  «        | 	                    |¦  «        ¦  «         t          j        dd¬¦  «        } t          | |¬¦  «        }t          || |                       ¦   «         ¦  «         t          |  	                    |¦  «        | 	                    |¦  «        ¦  «         t          j
        d	d
¦  «        } t          | |¬¦  «        }|                      ¦   «         }|                      t          j        |d         |d         dz   ¦  «        ¦  «        }t          |||                       ¦   «         ¦  «         d S )Nr   rt   r`   rs   ©Únumç      $@ç      @)ÚlocÚscaler;   r\   )r   Únormr   rv   Údefault_rngr
   ÚlinspaceÚcheck_cont_samplesr   ÚppfÚbinomr   ÚsupportÚpmfÚarangeÚcheck_discr_samples)r3   Úurngr}   Úurf   Úpvs         r%   Útest_with_scipy_distributionrË     se  € åŒ:‰<Œ<€DÝŒ9× Ò  Ñ#Ô#€DÝ
! $°TÐ
:Ñ
:Ô
:€CÝ
Œ�A�q˜cÐ"Ñ"Ô"€AÝ�s˜D $§*¢*¡,¤,Ñ/Ô/Ð/Ý�D—H’H˜Q‘K”K §¢¨¡¤Ñ,Ô,Ð,åŒ:˜# RÐ(Ñ(Ô(€DÝ
! $°TÐ
:Ñ
:Ô
:€CÝ�s˜D $§*¢*¡,¤,Ñ/Ô/Ð/Ý�D—H’H˜Q‘K”K §¢¨¡¤Ñ,Ô,Ð,åŒ;�r˜3ÑÔ€DÝ
˜4¨dÐ
3Ñ
3Ô
3€CØ�\Š\‰^Œ^€FØ	�Š•"”)˜F 1œI v¨a¤y°¡{Ñ3Ô3Ñ	4Ô	4€BÝ˜˜R §¢¡¤Ñ.Ô.Ð.Ð.Ð.r'   çH¯¼šò×z>çš™™™™™¹?c                 ó„  — |                       d¦  «        }|                     ¦   «         |                     ¦   «         f}t          j        |d         ¦  «        rt          ||||¬¦  «         |                       d¦  «        }t          j        |j        ¦  «        |_        t          ||j        ¦  «        j	        }|dk    sJ ‚d S )Nr—   r`   ©ÚrtolÚatoliô  rÍ   )
ru   ÚmeanÚvarr   Úisfiniter   Ú	vectorizer-   r   Úpvalue)r}   r3   Úmv_exrÐ   rÑ   ru   ÚmvÚpvals           r%   rÁ   rÁ   +  sŸ   € Ø
�'Š'�&‰/Œ/€CØ	�Š‰Œ�S—W’W‘Y”YÐ	€Bå	„{�5˜”8ÑÔð 9Ý˜˜E¨°4Ð8Ñ8Ô8Ð8à
�'Š'�#‰,Œ,€CÝŒ|˜DœHÑ%Ô%€D„HÝ˜#˜tœxÑ(Ô(Ô/€DØ�#Š:ˆ:ˆ:ˆ:ˆ:ˆ:r'   çü©ñÒMbP?c                 ó®  — |                       d¦  «        }|                     ¦   «         |                     ¦   «         f}t          ||||¬¦  «         ||                     ¦   «         z  }t          j        |¦  «        }t          j        |d¬¦  «        \  }}	|	|	                     ¦   «         z  }	|	|d |	j        …<   t          ||¦  «        j
        }
|
dk    sJ ‚d S )Nr—   rÏ   T)Úreturn_countsrÍ   )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”YÐ	€BÝ�B˜ D¨tÐ4Ñ4Ô4Ð4à	ˆb�fŠf‰hŒh‰€Bå”˜bÑ!Ô!€IÝŒy˜¨DÐ1Ñ1Ô1�H€A€uØ�E—I’I‘K”KÑ€EØ"€IˆkˆuŒzˆkÑÝ�Y Ñ#Ô#Ô*€DØ�#Š:ˆ:ˆ:ˆ:ˆ:ˆ:r'   c                  óN  — d} t          j        t          | ¬¦  «        5  t          t	          ¦   «         dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          | ¬¦  «        5  t          t	          ¦   «         d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz.102 : center moved into domain of distributionrd   r   ©r:   r²   )Úcenterrf   ©rf   )ri   ÚwarnsÚRuntimeWarningr	   r   )rk   s    r%   Ú!test_warning_center_not_in_domainré   H  sE  € ð ;€CÝ	Œ•n¨CÐ	0Ñ	0Ô	0ð Nð NÝ"¥>Ñ#3Ô#3¸AÀfÐMÑMÔMÐMðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nå	Œ•n¨CÐ	0Ñ	0Ô	0ð Dð DÝ"¥>Ñ#3Ô#3¸FÐCÑCÔCÐCðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð Ds#   žA	Á	AÁAÁ/BÂBÂ!Brl   )r   r	   r   c                 óÚ   — t          t          j        | ¦  «        }d}t          j        t
          |¬¦  «        5   |t          ¦   «         dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz17 : mode not in domainrd   r   rä   )r7   rf   )rg   r   rh   ri   r   r   r   )rl   rn   rk   s      r%   Útest_error_mode_not_in_domainrë   R  s°   € õ •U”^ VÑ,Ô,€FØ
#€CÝ	Œ•{¨#Ð	.Ñ	.Ô	.ð 8ð 8Øˆ�~ÑÔ a°Ð7Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   ¸A Á A$Á'A$c                   óî  — e Zd Zd„ Zdej                             dd¬¦  «        ej                             dd¬¦  «        gZd e	¦   «         fddd	d
gZ
d e	¦   «         fd e	¦   «         fdgZej                             de¦  «        ej                             de
¦  «        ej                             de¦  «        ej                             d¬¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Zd„ ZdS )ÚTestQRVSc                 ó4  — d}t          j        t          |¬¦  «        5  t          t          j        |¦  «        } |t          ¦   «         ¦  «        }|                     d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          j        |¦  «        } |t          ¦   «         ¦  «        }d}t          j        t          |¬¦  «        5  |                     dt          j         	                    d¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nz&`qmc_engine` must be an instance of...rd   r   )Ú
qmc_engineú6`d` must be consistent with dimension of `qmc_engine`.r:   ra   ©Údrï   )
ri   r   r�   rg   r   rh   r   ÚqrvsÚqmcÚHalton)r#   rl   re   rn   Úgens        r%   Útest_input_validationzTestQRVS.test_input_validationc  sw  € Ø8ˆÝŒ]�:¨UÐ3Ñ3Ô3ð 	#ð 	#Ý�Uœ^¨VÑ4Ô4ˆFØ�&�Ñ)Ô)Ñ*Ô*ˆCØ�HŠH ˆHÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#õ �œ¨Ñ0Ô0ˆØˆf•^Ñ%Ô%Ñ&Ô&ˆàHˆÝŒ]�:¨UÐ3Ñ3Ô3ð 	:ð 	:Ø�HŠH�q¥U¤Y×%5Ò%5°aÑ%8Ô%8ˆHÑ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s$   žAA2Á2A6Á9A6Ã5DÄDÄDNr`   r   ©rx   r:   )r`   ©r`   )r±   ©r±   )rú   rú   )©ra   r±   rû   )r:   ©r:   Úqrngúsize_in, size_outzd_in, d_outzfails in parallel©Úreasonc                 ó@  — t           j        dk    ot          j        ¦   «         d         dk    }|r|dk    rt          j        d¦  «         t          ¦   «         }t          t          j        |¦  «        }	 |	|¦  «        }
|�\|�Z|j	        |k    rOd}t          j
        t          |¬¦  «        5  |
                     |||¬¦  «         d d d ¦  «         n# 1 swxY w Y   d S |€|�|j	        d	k    r|j	        f}||z   }t          |¦  «        }|
                     |||¬
¦  «        }|�|j        |k    sJ ‚|�o|                     t!          j        |¦  «        pd	¦  «        }t          j                             |¦  «                             |¦  «        }t+          ||d¬¦  «         d S d S )NÚwin32r   Ú32bitr	   z4NumericalInversePolynomial.qrvs fails for Win 32-bitrð   rd   rñ   r`   ©r°   rò   rï   çê-�™—q=©rÑ   )ÚsysÚplatformÚarchitectureri   Úxfailr   rg   r   rh   rò   r   r�   ró   r   rµ   rv   r   Úprodr¾   rÂ   Úreshaper   )r#   rý   Úsize_inÚsize_outÚd_inÚd_outrl   Úw32r3   rn   rö   re   Úshape_expectedÚqrng2ró   ÚuniformÚqrvs2s                    r%   Útest_QRVS_shape_consistencyz$TestQRVS.test_QRVS_shape_consistencyy  sð  € õ Œl˜gÒ%ÐO­(Ô*?Ñ*AÔ*AÀ!Ô*DÈÒ*OˆØð 	#�6Ð9Ò9Ð9ÝŒLð "ñ #ô #ð #õ ÑÔˆÝ�œ¨Ñ0Ô0ˆØˆf�T‰lŒlˆð Ð Ð 0°T´V¸t²^°^ØLˆEÝ”�z°Ð7Ñ7Ô7ð ;ð ;Ø—’˜ D°T�Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;àˆFð ˆ<˜DÐ,°´¸1²°Ø”V�IˆEà! EÑ)ˆå˜‘”ˆØ�xŠx˜W¨¸ˆxÑ>Ô>ˆØÐØ”: Ò/Ð/Ð/Ð/àÐØ—l’l¥2¤7¨7Ñ#3Ô#3Ð#8°qÑ9Ô9ˆGÝ”J—N’N 7Ñ+Ô+×3Ò3°NÑCÔCˆEÝ˜D %¨eÐ4Ñ4Ô4Ð4Ð4Ð4ð Ðs   Â)CÃCÃCc                 óN  — t          ¦   «         }t          t          j        |¦  «        } ||¦  «        }d}d}t          j                             |d¬¦  «        }t          j                             |d¬¦  «        }|                     t          j        |¦  «        ¦  «        }	| 	                    |||¬¦  «        }
t          j
                             |	¦  «        }t          |¦  «        D ]=}|
d|f         }|d d …|f                              |¦  «        }t          ||d¬¦  «         Œ>d S )	N)r:   r±   r²   r   rø   r  .r  r  )r   rg   r   rh   rô   rõ   rv   r   r  ró   r¾   rÂ   Úranger  r   )r#   rl   r3   rn   rö   r°   rò   rý   r  r  ró   r  ÚiÚsampleÚsample2s                  r%   Útest_QRVS_size_tuplezTestQRVS.test_QRVS_size_tupleŸ  s  € õ ÑÔˆÝ�œ¨Ñ0Ô0ˆØˆf�T‰lŒlˆàˆØˆÝŒy×Ò ¨ÐÑ*Ô*ˆÝ”	× Ò  ¨Ð Ñ+Ô+ˆà—,’,�rœw t™}œ}Ñ-Ô-ˆà�xŠx˜T Q°4ˆxÑ8Ô8ˆÝ”
—’˜wÑ'Ô'ˆå�q‘”ð 	9ð 	9ˆAØ˜#˜q˜&”\ˆFØ˜A˜A˜A˜q˜D”k×)Ò)¨$Ñ/Ô/ˆGÝ˜F G°%Ð8Ñ8Ô8Ð8Ð8ð	9ð 	9r'   )r/   r0   r1   r÷   r   rô   ÚSobolrõ   ÚqrngsÚtupleÚsizesÚdsri   ÚmarkÚparametrizeÚthread_unsafer  r  r2   r'   r%   rí   rí   `  s.  € € € € € ð:ð :ð :ð �5”9—?’? 1¨1�?Ñ-Ô-¨u¬y×/?Ò/?ÀÈÐ/?Ñ/JÔ/JÐK€Eà�E�E‘G”Gˆ_˜i¨ØÐ+ð-€Eð ��‘”ˆ/˜A˜u˜u™wœw˜<¨Ð	3€Bà„[×Ò˜V UÑ+Ô+Ø„[×ÒÐ0°%Ñ8Ô8Ø„[×Ò˜]¨BÑ/Ô/Ø„[×ÒÐ&9ÐÑ:Ô:ð 5ð  5ñ ;Ô:ñ 0Ô/ñ 9Ô8ñ ,Ô+ð 5ðD9ð 9ð 9ð 9ð 9r'   rí   c            
       ó  — e Zd Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z e¦   «          e¦   «          ed¦  «         ed¦  «        gZdd	gZdd
gZde	j
        gZde	j
        gZeeeegZej                             d eee¦  «        ¦  «        ej                             d¬¦  «        d„ ¦   «         ¦   «         Zd„ edfgZeez  Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zej                             dde	j        e	j
        ddg¦  «        d„ ¦   «         Z e	j         d d!d"¬#¦  «        g g ge	j        ge	j
         e	j        e	j
        gd e	j        d$dgd%d&e	j
        gg d'¢ggZ!ej                             d(e!¦  «        d)„ ¦   «         Z"d*„ Z#d+S ),ÚTestTransformedDensityRejectionc                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ú%TestTransformedDensityRejection.dist0c                 ó   — dd||z  z
  z  S ©Nç      è?r`   r2   r"   s     r%   r&   z)TestTransformedDensityRejection.dist0.pdfÁ  ó   € Ø˜!˜A˜a™C™%‘=Ð r'   c                 ó   — dd|z  z  S )Nr+  éþÿÿÿr2   r"   s     r%   r)   z*TestTransformedDensityRejection.dist0.dpdfÄ  s   € Ø˜"˜Q™$‘<Ðr'   c                 ó$   — d||dz  dz  z
  dz   z  S ©Nr+  r:   gUUUUUUå?r2   r"   s     r%   r-   z)TestTransformedDensityRejection.dist0.cdfÇ  ó   € Ø˜!˜a ™d 1™f™* sÑ*Ñ+Ð+r'   c                 ó   — dS ©N)éÿÿÿÿr`   r2   ©r#   s    r%   rÄ   z-TestTransformedDensityRejection.dist0.supportÊ  ó   € Ø�5r'   N©r/   r0   r1   r&   r)   r-   rÄ   r2   r'   r%   Údist0r(  À  sP   € € € € € ð	!ð 	!ð 	!ð	 ð 	 ð 	 ð	,ð 	,ð 	,ð	ð 	ð 	ð 	ð 	r'   r8  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú%TestTransformedDensityRejection.dist1c                 óF   — t           j                             |dz  ¦  «        S ©NrÍ   ©r   r¾   Ú_pdfr"   s     r%   r&   z)TestTransformedDensityRejection.dist1.pdfÏ  ó   € Ý”:—?’? 1 s¡7Ñ+Ô+Ð+r'   c                 óT   — | dz  t           j                             |dz  ¦  «        z  S )Nç{®Gáz„?rÍ   r=  r"   s     r%   r)   z*TestTransformedDensityRejection.dist1.dpdfÒ  s%   € Ø�2˜‘9�uœzŸš¨q°3©wÑ7Ô7Ñ7Ð7r'   c                 óF   — t           j                             |dz  ¦  «        S r<  ©r   r¾   Ú_cdfr"   s     r%   r-   z)TestTransformedDensityRejection.dist1.cdfÕ  r?  r'   Nr.   r2   r'   r%   Údist1r:  Î  sA   € € € € € ð	,ð 	,ð 	,ð	8ð 	8ð 	8ð	,ð 	,ð 	,ð 	,ð 	,r'   rE  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ú%TestTransformedDensityRejection.dist2c                 ó   — || _         d S r+   ©Úshift©r#   rJ  s     r%   r�   z.TestTransformedDensityRejection.dist2.__init__Ü  s   € ØˆDŒJˆJˆJr'   c                 óP   — || j         z  }dt          |¦  «        dz   z  }d|z  |z  S ©Nr   ç      à?©rJ  Úabs©r#   r$   Úys      r%   r&   z)TestTransformedDensityRejection.dist2.pdfß  ó/   € Ø�”‰OˆAØ•c˜!‘f”f˜r‘kÑ"ˆAØ˜‘7˜Q‘;Ðr'   c                 óf   — || j         z  }dt          |¦  «        dz   z  }||z  |z  }|dk     r|n| S )Nr   r[   rO  rQ  s      r%   r)   z*TestTransformedDensityRejection.dist2.dpdfä  sB   € Ø�”‰OˆAØ•c˜!‘f”f˜r‘kÑ"ˆAØ�A‘˜‘	ˆAØ˜Rš˜�1�1 q bÐ(r'   c                 óH   — || j         z  }|dk    rdd|z
  z  S ddd|z   z  z
  S ©Nr[   rN  r   rI  r"   s     r%   r-   z)TestTransformedDensityRejection.dist2.cdfê  ó7   € Ø�”‰OˆAØ�BŠwˆwØ˜b 1™f‘~Ð%à˜C 2¨¡6™NÑ*Ð*r'   N)r/   r0   r1   r�   r&   r)   r-   r2   r'   r%   Údist2rG  Û  sP   € € € € € ð	ð 	ð 	ð	ð 	ð 	ð
	)ð 	)ð 	)ð	+ð 	+ð 	+ð 	+ð 	+r'   rX  r[   ç     ˆÃ@çÑ?rA  údist, mv_exúdeadlocks for unknown reasonsrÿ   c                 óÔ   — t          j        ¦   «         5  t          j        dt          ¦  «         t	          |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |||¦  «         d S )NÚignoreé*   rt   )ÚwarningsÚcatch_warningsÚsimplefilterrè   r   rÁ   ©r#   r3   r×   r}   s       r%   Ú
test_basicz*TestTransformedDensityRejection.test_basicú  s¸   € õ Ô$Ñ&Ô&ð 	Eð 	EåÔ! (­NÑ;Ô;Ð;Ý-¨dÀÐDÑDÔDˆCð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eõ 	˜3  eÑ,Ô,Ð,Ð,Ð,s   ”,AÁAÁAc                 ó   — dS )Nr   r2   r=   s    r%   r>   z(TestTransformedDensityRejection.<lambda>  s   € ˜1€ r'   ú50 : bad construction points.úpdf, err, msgc                 óº   —  G d„ d¦  «        }||_         d„ |_        t          j        ||¬¦  «        5  t	          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd ZdS )ú:TestTransformedDensityRejection.test_bad_pdf.<locals>.distN©r/   r0   r1   r2   r'   r%   r3   rj  
  ó   € € € € € ØˆDr'   r3   c                 ó   — dS r‘   r2   r=   s    r%   r>   z>TestTransformedDensityRejection.test_bad_pdf.<locals>.<lambda>  s   € ˜a€ r'   rd   ©r&   r)   ri   r   r   ©r#   r&   rj   rk   r3   s        r%   Útest_bad_pdfz,TestTransformedDensityRejection.test_bad_pdf  sÁ   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	àˆŒØ�KˆŒ	ÝŒ]˜3 cÐ*Ñ*Ô*ð 	.ð 	.Ý'¨Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.s   ³AÁAÁAzdpdf, err, msgc                 ó¾   —  G d„ d¦  «        }d„ |_         ||_        t          j        ||¬¦  «        5  t	          |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd ZdS )ú;TestTransformedDensityRejection.test_bad_dpdf.<locals>.distNrk  r2   r'   r%   r3   rs    rl  r'   r3   c                 ó   — | S r+   r2   r=   s    r%   r>   z?TestTransformedDensityRejection.test_bad_dpdf.<locals>.<lambda>  s   € ˜Q€ r'   rd   ©r`   r;   ræ   rn  )r#   r)   rj   rk   r3   s        r%   Útest_bad_dpdfz-TestTransformedDensityRejection.test_bad_dpdf  sÆ   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	à�;ˆŒØˆŒ	ÝŒ]˜3 cÐ*Ñ*Ô*ð 	>ð 	>Ý'¨°WÐ=Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s   ³AÁAÁArb   c                 óž   — t          j        ||¬¦  «        5  t          t          ¦   «         |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nrd   ræ   )ri   r   r   r   ©r#   rf   rj   rk   s       r%   Útest_inf_nan_domainsz4TestTransformedDensityRejection.test_inf_nan_domains  s¨   € åŒ]˜3 cÐ*Ñ*Ô*ð 	Ið 	IÝ'­Ñ(8Ô(8ÀÐHÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið 	Ið 	Ió   —AÁAÁ	AÚconstruction_points)r4  r   rÍ   c                 ó¨   — t          j        t          d¬¦  «        5  t          t	          ¦   «         |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz1`construction_points` must be a positive integer.rd   ©r|  ©ri   r   r�   r   r   ©r#   r|  s     r%   Ú#test_bad_construction_points_scalarzCTestTransformedDensityRejection.test_bad_construction_points_scalar!  s«   € åŒ]�:ð .Dð Eñ Eô Eð 	ð 	å'ÝÑ Ô Ð6Iðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   œAÁAÁAc                 óä  — g }t          j        t          d¬¦  «        5  t          t	          ¦   «         |¬¦  «         d d d ¦  «         n# 1 swxY w Y   g d¢}t          j        t          d¬¦  «        5  t          t	          ¦   «         |¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          j        t          j        g}t          j        t          d¬¦  «        5  t          t	          ¦   «         |¬¦  «         d d d ¦  «         n# 1 swxY w Y   ddg}t          j        t          d	¬¦  «        5  t          t	          ¦   «         d
|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzC`construction_points` must either be a scalar or a non-empty array.rd   r~  )r`   r`   r`   r`   r`   r`   z:33 : starting points not strictly monotonically increasingrf  éöÿÿÿr;   z!50 : starting point out of domain)éýÿÿÿr:   )rf   r|  )
ri   r   r�   r   r   rç   rè   r   rL   r   r€  s     r%   Ú"test_bad_construction_points_arrayzBTestTransformedDensityRejection.test_bad_construction_points_array)  s¨  € à ÐÝŒ]�:ð .Mð Nñ Nô Nð 	ð 	õ (ÝÑ Ô Ð6Iðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 1Ð0Ð0ÐÝŒ\�.ð 1>ð ?ñ ?ô ?ð 	ð 	õ (ÝÑ Ô Ð6Iðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ  "œv¥r¤v­r¬vÐ6ÐÝŒ]�;ð /9ð :ñ :ô :ð 	ð 	å'ÝÑ Ô Ð6Iðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð  # B˜iÐÝŒ\�.ð 1:ð ;ñ ;ô ;ð 	ð 	å'ÝÑ Ô ¨Ø$7ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	sG   žAÁAÁAÁ2BÂB Â#B Ã%DÄDÄDÄ9E%Å%E)Å,E)Úcç      ð¿rÍ   r   c                 ó¬   — d}t          j        t          |¬¦  «        5  t          t	          ¦   «         d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz`c` must either be -0.5 or 0.rd   r‡  )r†  r  )r#   r†  rk   s      r%   Ú
test_bad_cz*TestTransformedDensityRejection.test_bad_cM  s­   € à.ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Að 	AÝ'­Ñ(8Ô(8¸CÐ@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	Aó   žA	Á	AÁAr   r`   éè  r¸   rN  r\   r]   ©r.  r:   r±   rÉ   c                 ó<  — t          t          ¦   «         d¬¦  «        }t          j        ¦   «         5  d}t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         |                     |¦  «        }t          j         	                    |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||d	d
¬¦  «         |j        |j        k    sJ ‚d S )Ng§èH.ÿï?)Úmax_squeeze_hat_ratioúinvalid value encountered in r^  ÚgreaterÚgreater_equalÚlessÚ
less_equalrÚ   çñhãˆµøä>rÏ   )r   r   r`  ra  Úfilterwarningsrè   Úppf_hatr   r¾   rÂ   r   rµ   )r#   rÉ   r}   rk   ÚresÚexpecteds         r%   Útest_ppf_hatz,TestTransformedDensityRejection.test_ppf_hatW  sM  € õ *­.Ñ*:Ô*:Ø@FðHñ Hô Hˆõ Ô$Ñ&Ô&ð 	)ð 	)Ø1ˆCÝÔ# H¨c°I©o½~ÑNÔNÐNÝÔ# H¨c°OÑ.CÅ^ÑTÔTÐTÝÔ# H¨c°F©l½NÑKÔKÐKÝÔ# H¨c°LÑ.@Å.ÑQÔQÐQØ—+’+˜a‘.”.ˆCÝ”z—~’~ aÑ(Ô(ˆHð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ 	˜˜X¨D°tÐ<Ñ<Ô<Ð<ØŒy˜HœNÒ*Ð*Ð*Ð*Ð*Ð*s   ±B/C,Ã,C0Ã3C0c                 óL  —  G d„ d¦  «        }d}t          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y    G d„ d¦  «        }d}t          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd ZdS )ú;TestTransformedDensityRejection.test_bad_dist.<locals>.distNrk  r2   r'   r%   r3   rœ  l  s   € € € € € ØˆCr'   r3   z`pdf` required but not found.rd   c                   ó   — e Zd Zd„ ZdS )rœ  c                 ó   — d| | z  z
  S r‘   r2   r=   s    r%   r>   zDTestTransformedDensityRejection.test_bad_dist.<locals>.dist.<lambda>u  s   € ˜A˜a ™c™E€ r'   N©r/   r0   r1   r&   r2   r'   r%   r3   z;TestTransformedDensityRejection.test_bad_dist.<locals>.distt  s   € € € € € Ø!�/ˆCˆCˆCr'   z`dpdf` required but not found.)ri   r   r�   r   )r#   r3   rk   s      r%   Útest_bad_distz-TestTransformedDensityRejection.test_bad_distj  s_  € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð /ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	.ð 	.Ý'¨Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð	"ð 	"ð 	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 0ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	.ð 	.Ý'¨Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.s#   «AÁAÁAÁ<BÂBÂ BN)$r/   r0   r1   r8  rE  rX  ÚdistsÚmv0Úmv1r   rH   Úmv2Úmv3Úmvsri   r"  r#  Úzipr$  rd  r   Úbad_pdfsÚbad_pdfs_commonrp  Úbad_dpdf_commonrv  Úinf_nan_domainsrz  r�  r…  rL   r‰  rÀ   rÉ   r™  r   r2   r'   r%   r&  r&  ¾  s  € € € € € ðð ð ð ð ñ ô ð ð,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ð+ð +ð +ð +ð +ñ +ô +ð +ð, ˆU‰WŒW�e�e‘g”g˜u˜u R™yœy¨%¨%°©-¬-Ð8€Eð ˆvˆ,€CØˆtˆ*€CØˆrŒvˆ,€CØ�2”6Ð
€CØ��S˜#Ð
€Cà„[×Ò˜]Ø ˜S ¨™_œ_ñ.ô .à„[×ÒÐ&EÐÑFÔFð-ð -ñ GÔFñ.ô .ð-ð �˜kÐ+KÐLÐM€HØ�Ñ€Hà„[×Ò˜_¨hÑ7Ô7ð.ð .ñ 8Ô7ð.ð „[×ÒÐ-¨Ñ?Ô?ð>ð >ñ @Ô?ð>ð „[×ÒÐ/°ÑAÔAðIð Iñ BÔAðIð „[×ÒÐ2°L°L°LÑAÔAðð ñ BÔAðð"ð "ð "ðH „[×Ò˜S 3¨¬°´¸¸RÐ"@ÑAÔAðAð Añ BÔAðAð
 
ˆŒ�Q˜˜tÐ	$Ñ	$Ô	$ b¨2¨$°´°ØŒ6ˆ'�2”6˜2œ6Ð	" AØŒ6�3˜Ð
˜s C¨¬Ð0°*°*°*Ð	=ð	?€Að „[×Ò˜S !Ñ$Ô$ð+ð +ñ %Ô$ð+ð$.ð .ð .ð .ð .r'   r&  c            	       ó`  — e Zd Zh d£Zej                             de¦  «        d„ ¦   «         Zd„ e	dfd„ e	dfd„ e	dfd	„ e
d
fd„ e	dfd„ edfd„ edfgZej                             de¦  «        d„ ¦   «         Zej                             dg d¢g d¢g¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zej         ej        fej        ej        fej         ej         fdej        fej         dfgZej                             de¦  «        d„ ¦   «         Zd„ Zd„ Zd„ ZdS ) ÚTestDiscreteAliasUrn>   ÚrandintÚnchypergeom_fisherÚnchypergeom_walleniusúdistname, paramsc                 ó  — || j         v rd}t          j        |¦  «         t          |t          ¦  «        s|}nt          t          |¦  «        } ||Ž }|                     ¦   «         }t          j	        |d         |d         z
  ¦  «        st          j        d¦  «         t          j
        |d         |d         dz   ¦  «        }|                     |¦  «        }|                     d¦  «        }t          |d¬¦  «        }	t          |	||¦  «         d S )NzYDAU fails on these probably because of large domains and small computation errors in PMF.r`   r   z$DAU only works with a finite domain.rØ   r_  rt   )Úbasic_fail_distsri   ÚskipÚ
isinstanceÚstrrg   r   rÄ   r   rÔ   rÆ   rÅ   r   rÇ   ©
r#   ÚdistnameÚparamsrk   r3   rf   ÚkrÊ   r×   r}   s
             r%   rd  zTestDiscreteAliasUrn.test_basic…  s  € à�tÔ,Ð,Ð,ð:ˆCåŒK˜ÑÔÐÝ˜(¥CÑ(Ô(ð 	,ØˆDˆDå�5 (Ñ+Ô+ˆDØˆt�Vˆ}ˆØ—’‘”ˆÝŒ{˜6 !œ9 v¨a¤yÑ0Ñ1Ô1ð 	@õ ŒKÐ>Ñ?Ô?Ð?ÝŒI�f˜Q”i ¨¤¨1¡Ñ-Ô-ˆØ�XŠX�a‰[Œ[ˆØ—
’
˜4Ñ Ô ˆÝ˜t°"Ð5Ñ5Ô5ˆÝ˜C  UÑ+Ô+Ð+Ð+Ð+r'   c                 ó   — t           j        S r+   rG   r=   s    r%   r>   zTestDiscreteAliasUrn.<lambda>Ÿ  ó   € •2”6€ r'   r^   c                 ó   — t           j        S r+   rK   r=   s    r%   r>   zTestDiscreteAliasUrn.<lambda>¢  r¼  r'   c                 ó   — dS )Nr[   r2   r=   s    r%   r>   zTestDiscreteAliasUrn.<lambda>¥  s   € �3€ r'   r_   c                 ó   — t           S r+   rB   r=   s    r%   r>   zTestDiscreteAliasUrn.<lambda>¨  s   € •3€ r'   rE   c                 ó   — g S r+   r2   r=   s    r%   r>   zTestDiscreteAliasUrn.<lambda>«  s   € �2€ r'   z)setting an array element with a sequence.c                 ó   — |  S r+   r2   r=   s    r%   r>   zTestDiscreteAliasUrn.<lambda>®  s   € �A�2€ r'   z50 : probability < 0c                  ó   — dS rN   r2   r2   r'   r%   r>   zTestDiscreteAliasUrn.<lambda>±  s   € �€ r'   rP   zpmf, err, msgc                 ó®   —  G d„ d¦  «        }||_         t          j        ||¬¦  «        5  t          |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd ZdS )ú/TestDiscreteAliasUrn.test_bad_pmf.<locals>.distNrk  r2   r'   r%   r3   rÅ  ·  rl  r'   r3   rd   ru  ræ   )rÅ   ri   r   r   )r#   rÅ   rj   rk   r3   s        r%   Útest_bad_pmfz!TestDiscreteAliasUrn.test_bad_pmfµ  s½   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	àˆŒÝŒ]˜3 cÐ*Ñ*Ô*ð 	3ð 	3Ý˜T¨'Ð2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3s   «A
Á
AÁArÊ   )r5   r4   r6   )r   r   g      @ç      @r»   g      @c                 ó’  — t          j        |t           j        ¬¦  «        }t          |d¬¦  «        }|                     d¦  «         ||                     ¦   «         z  }t          j        dt          |¦  «        ¦  «        }t          j        ||¬¦  «        }t          j        ||z
  dz  |¬¦  «        }||f}t          |||¦  «         d S )N)Údtyperq   rt   r—   r   )Úweightsra   )
r   ÚasarrayÚfloat64r   ru   rÝ   rÆ   ÚlenÚaveragerÇ   )r#   rÊ   r}   ÚvariatesÚ
m_expectedÚ
v_expectedÚmv_expecteds          r%   Útest_sampling_with_pvz*TestDiscreteAliasUrn.test_sampling_with_pv½  sº   € õ ŒZ˜¥"¤*Ð-Ñ-Ô-ˆÝ˜r°Ð4Ñ4Ô4ˆØ�Š�ÑÔÐØ�"—&’&‘(”(‰]ˆÝ”9˜Q¥ B¡¤Ñ(Ô(ˆå”Z °"Ð5Ñ5Ô5ˆ
Ý”Z ¨JÑ!6¸1Ñ <ÀbÐIÑIÔIˆ
Ø  *Ð,ˆÝ˜C  [Ñ1Ô1Ð1Ð1Ð1r'   úpv, msgc                 óŒ   — t          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nrd   ©ri   r   r�   r   ©r#   rÊ   rk   s      r%   Útest_bad_pvz TestDiscreteAliasUrn.test_bad_pvË  s‰   € åŒ]�:¨SÐ1Ñ1Ô1ð 	!ð 	!Ý˜RÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ó   œ9¹=Á =r   rf   c                 ó¶   — t          j        t          d¬¦  «        5  t          t	          j        dd¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nzmust be finiterd   r;   r\   ræ   )ri   r   r�   r   r   rÃ   ©r#   rf   s     r%   Útest_inf_domainz$TestDiscreteAliasUrn.test_inf_domainÕ  s¯   € åŒ]�:Ð->Ð?Ñ?Ô?ð 	Bð 	BÝ�Uœ[¨¨SÑ1Ô1¸&ÐAÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bó   œ%AÁAÁAc                 ó”   — t          j        t          d¬¦  «        5  t          ddgd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzrelative urn size < 1.rd   rN  r4  )Ú
urn_factor)ri   rç   rè   r   r5  s    r%   Útest_bad_urn_factorz(TestDiscreteAliasUrn.test_bad_urn_factorÚ  s“   € ÝŒ\�.Ð0IÐJÑJÔJð 	8ð 	8Ý˜c 3˜Z°BÐ7Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 	8ð 	8s   œ=½AÁAc                 óª   — d} G d„ d¦  «        }t          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzG`domain` must be provided when the probability vector is not available.c                   ó   — e Zd Zd„ ZdS )ú0TestDiscreteAliasUrn.test_bad_args.<locals>.distc                 ó   — |S r+   r2   r"   s     r%   rÅ   z4TestDiscreteAliasUrn.test_bad_args.<locals>.dist.pmfã  s   € Ø�r'   N)r/   r0   r1   rÅ   r2   r'   r%   r3   rå  â  s#   € € € € € ðð ð ð ð r'   r3   rd   r×  )r#   rk   r3   s      r%   Útest_bad_argsz"TestDiscreteAliasUrn.test_bad_argsÞ  sº   € ð7ˆð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#Ý˜TÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#s   «AÁAÁAc                 óš   — t          j        t          j        d¦  «        ¦  «        }t	          |d¬¦  «        }t          ||dd¬¦  «         d S )N)iý  r_  rt   )g     ð‡@g    
àAg{®Gázt?)rÐ   )r   Úsoftmaxr   Úonesr   rÇ   )r#   rÊ   r}   s      r%   Útest_gh19359z!TestDiscreteAliasUrn.test_gh19359é  sX   € ÝŒ_�RœW WÑ-Ô-Ñ.Ô.ˆÝ˜r°Ð3Ñ3Ô3ˆå˜C Ð%CØ!%ð	'ñ 	'ô 	'ð 	'ð 	'ð 	'r'   N)r/   r0   r1   r³  ri   r"  r#  r   rd  r�   Ú	NameErrorr   Ú	TypeErrorÚbad_pmfrÆ  rÓ  Úbad_pv_commonrÙ  r   rH   Ú
inf_domainrÞ  râ  rç  rë  r2   r'   r%   r­  r­  |  s!  € € € € € ðð ð Ðð „[×ÒÐ/°Ñ>Ô>ð,ð ,ñ ?Ô>ð,ð2 
Ð	˜:Ø	5ð	7ð 
Ð	˜:Ø	5ð	7ð 
ˆ˜
Ø	4ð	6ð 
ˆ˜	Ø	%ð	'ð 
ˆ�zØ	5ð	7ð 
ˆ�{Ø	 ð	"ð 
ˆ�iØ	8ð	:ð)€Gð0 „[×Ò˜_¨gÑ6Ô6ð3ð 3ñ 7Ô6ð3ð „[×Ò˜TÐ$5Ð$5Ð$5Ø$BÐ$BÐ$Bð$Dñ Eô Eð
2ð 
2ñEô Eð
2ð „[×Ò˜Y¨Ñ6Ô6ð!ð !ñ 7Ô6ð!ð ”F�7˜BœFÐ# b¤f¨b¬fÐ%5¸¼¸À"Ä&ÀÐ7IØ�b”f�+ ¤ ¨˜|ð-€Jð „[×Ò˜X zÑ2Ô2ðBð Bñ 3Ô2ðBð8ð 8ð 8ð	#ð 	#ð 	#ð'ð 'ð 'ð 'ð 'r'   r­  c                   óò  — e Zd Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z e¦   «          e¦   «          e¦   «          e¦   «         gZd	d
gZd	dgZ	de
j        z  dde
j        dz  z  z
  gZde
j        z  dde
j        dz  z  z
  gZee	eegZej                             d¬¦  «        ej                             d eee¦  «        ¦  «        d„ ¦   «         ¦   «         Zej        j        ej                             de¦  «        d„ ¦   «         ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Z e
j        ddd¬ ¦  «        g g ge
j        ge
j          e
j        e
j         gde
j        d!d"gd#d$e
j         gg d%¢ggZ!ej                             d&e!¦  «        d'„ ¦   «         Z" e
j        d(d)d¬ ¦  «        g g ge
j        ge
j          e
j        e
j         gde
j        d!d"gd#d$e
j         ge
j          d*d+gggZ#ej                             d,e#¦  «        d-„ ¦   «         Z$ej        j%        d.„ ¦   «         Z&dd/d0e
j         e
j        gZ'd1d"e
j         e
j        gZ(ej                             d2e'¦  «        d3„ ¦   «         Z)ej                             d4e(¦  «        d5„ ¦   «         Z*d6„ Z+d7„ Z,d8S )9ÚTestNumericalInversePolynomialc                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú$TestNumericalInversePolynomial.dist0c                 ó   — dd||z  z
  z  S r*  r2   r"   s     r%   r&   z(TestNumericalInversePolynomial.dist0.pdfô  r,  r'   c                 ó$   — d||dz  dz  z
  dz   z  S r0  r2   r"   s     r%   r-   z(TestNumericalInversePolynomial.dist0.cdf÷  r1  r'   c                 ó   — dS r3  r2   r5  s    r%   rÄ   z,TestNumericalInversePolynomial.dist0.supportú  r6  r'   N©r/   r0   r1   r&   r-   rÄ   r2   r'   r%   r8  rô  ó  sA   € € € € € ð	!ð 	!ð 	!ð	,ð 	,ð 	,ð	ð 	ð 	ð 	ð 	r'   r8  c                   ó   — e Zd Zd„ Zd„ ZdS )ú$TestNumericalInversePolynomial.dist1c                 óF   — t           j                             |dz  ¦  «        S r<  r=  r"   s     r%   r&   z(TestNumericalInversePolynomial.dist1.pdfÿ  r?  r'   c                 óF   — t           j                             |dz  ¦  «        S r<  rC  r"   s     r%   r-   z(TestNumericalInversePolynomial.dist1.cdf  r?  r'   N)r/   r0   r1   r&   r-   r2   r'   r%   rE  rú  þ  s2   € € € € € ð	,ð 	,ð 	,ð	,ð 	,ð 	,ð 	,ð 	,r'   rE  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú$TestNumericalInversePolynomial.dist2c                 ó\   — dddt          j        dt           j        z  |z  ¦  «        z   z  z   S )Nçš™™™™™©?çÍÌÌÌÌÌÜ?r`   ra   ©r   Úsinr    r"   s     r%   r&   z(TestNumericalInversePolynomial.dist2.pdf  s+   € Ø˜$ !¥b¤f¨Q­r¬u©W°Q©YÑ&7Ô&7Ñ"7Ñ8Ñ8Ð8r'   c                 ó´   — d|dz   z  dddt           j        z  d|z   z  z   t          j        dt           j        z  |z  ¦  «        z
  z  dt           j        z  z  z   S )Nr   r`   gÍÌÌÌÌÌì?r   r   rÇ  ©r   r    Úcosr"   s     r%   r-   z(TestNumericalInversePolynomial.dist2.cdf  sZ   € Ø˜!˜a™%‘LØ˜˜b¥¤™h¨¨A©Ñ.Ñ.µ´¸½2¼5¹À¹
Ñ1CÔ1CÑCÑDØ�œ‘Xññð  r'   c                 ó   — dS r3  r2   r5  s    r%   rÄ   z,TestNumericalInversePolynomial.dist2.support  r6  r'   Nrø  r2   r'   r%   rX  rþ  
  sA   € € € € € ð	9ð 	9ð 	9ð	 ð 	 ð 	 ð
	ð 	ð 	ð 	ð 	r'   rX  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú$TestNumericalInversePolynomial.dist3c                 ób   — ddddt          j        dt           j        z  |z  ¦  «        z   z  z   z  S )Nr\   r   r  r`   ra   r  r"   s     r%   r&   z(TestNumericalInversePolynomial.dist3.pdf  s0   € Ø˜$ ¨­R¬V°Aµb´e±G¸A±IÑ->Ô->Ñ)>Ñ!?Ñ?Ñ@Ð@r'   c                 óÆ   — |dz  dz   ddt           j        z  z  t          j        dt           j        z  ¦  «        t          j        dt           j        z  |z  ¦  «        z
  z  z   S )Nrº   rN  g
×£p=
·?ra   r;   r  r"   s     r%   r-   z(TestNumericalInversePolynomial.dist3.cdf  sZ   € Ø�S‘5˜3‘;  q­¬¡w¡µ2´6¸"½R¼U¹(Ñ3CÔ3CÝ35´6¸!½B¼E¹'À!¹)Ñ3DÔ3Dñ4Eñ "Fñ Fð Fr'   c                 ó   — dS )N)éûÿÿÿr²   r2   r5  s    r%   rÄ   z,TestNumericalInversePolynomial.dist3.support#  r6  r'   Nrø  r2   r'   r%   Údist3r	    sG   € € € € € ð	Að 	Að 	Að	Fð 	Fð 	Fð	ð 	ð 	ð 	ð 	r'   r  r[   rZ  rA  gÍÌÌÌÌÌÜ¿çUUUUUUÕ?gìQ¸…ëÉ?ra   g«ªªªªª @r\  rÿ   r[  c                 óJ   — t          |d¬¦  «        }t          |||¦  «         d S )Nr_  rt   )r	   rÁ   rc  s       r%   rd  z)TestNumericalInversePolynomial.test_basic/  s.   € õ )¨¸BÐ?Ñ?Ô?ˆÝ˜3  eÑ,Ô,Ð,Ð,Ð,r'   r±  c                 ó  — g d¢}g d¢}dg}||v rt          j        d|› �¦  «         ||v rt          j        d|› �¦  «         t          |t          ¦  «        rt	          t
          |¦  «        n|} ||Ž }t          j        ¦   «         5  t          j        dt          ¦  «         t          |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   ||v rd S t          |||                     ¦   «         |                     ¦   «         g¦  «         d S )	N)ÚanglitÚ
gausshyperÚkappa4ÚksoneÚkstwoÚlevy_lÚlevy_stableÚstudentized_rangeÚ	trapezoidÚtriangÚvonmises)	Úchi2ÚfatiguelifeÚgibratÚhalfgennormÚlognormÚncfÚncx2ÚparetoÚtÚrel_breitwignerzPINV too slow for zPINV fails for r^  r_  rt   )ri   r´  rµ  r¶  rg   r   r`  ra  rb  rè   r	   rÁ   rÒ   rÓ   )r#   r¸  r¹  Úvery_slow_distsÚ
fail_distsÚskip_sample_moment_checkr3   r}   s           r%   Útest_basic_all_scipy_distsz9TestNumericalInversePolynomial.test_basic_all_scipy_dists6  s‡  € ð>ð >ð >ˆð-ð -ð -ˆ
ð %6Ð#6Ð à�Ð&Ð&ÝŒKÐ7¨XÐ7Ð7Ñ8Ô8Ð8Ø�zÐ!Ð!ÝŒKÐ4¨(Ð4Ð4Ñ5Ô5Ð5å˜h­Ñ,Ô,ð•�˜xÑ(Ô(Ð(àð 	ð ˆt�Vˆ}ˆÝÔ$Ñ&Ô&ð 	Dð 	DÝÔ! (­NÑ;Ô;Ð;Ý,¨TÀÐCÑCÔCˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð Ð/Ð/Ð/ØˆFÝ˜3  t§y¢y¡{¤{°D·H²H±J´JÐ&?Ñ@Ô@Ð@Ð@Ð@s   Â,B>Â>CÃCrg  c                 ó²   —  G d„ d¦  «        }||_         t          j        ||¬¦  «        5  t          |ddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd ZdS )ú9TestNumericalInversePolynomial.test_bad_pdf.<locals>.distNrk  r2   r'   r%   r3   r-  Z  rl  r'   r3   rd   r   r²   ræ   )r&   ri   r   r	   ro  s        r%   rp  z+TestNumericalInversePolynomial.test_bad_pdfX  sÁ   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	àˆŒÝŒ]˜3 cÐ*Ñ*Ô*ð 	<ð 	<Ý& t°Q¸°FÐ;Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ó   «AÁAÁAzlogpdf, err, msgc                 ó²   —  G d„ d¦  «        }||_         t          j        ||¬¦  «        5  t          |ddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd ZdS )ú<TestNumericalInversePolynomial.test_bad_logpdf.<locals>.distNrk  r2   r'   r%   r3   r1  b  rl  r'   r3   rd   r   r²   ræ   )Úlogpdfri   r   r	   )r#   r2  rj   rk   r3   s        r%   Útest_bad_logpdfz.TestNumericalInversePolynomial.test_bad_logpdf`  sÁ   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	àˆŒÝŒ]˜3 cÐ*Ñ*Ô*ð 	<ð 	<Ý& t°Q¸°FÐ;Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<r.  rb   c                 óž   — t          j        ||¬¦  «        5  t          t          ¦   «         |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rx  )ri   r   r	   r   ry  s       r%   rz  z3TestNumericalInversePolynomial.test_inf_nan_domainsj  s¨   € åŒ]˜3 cÐ*Ñ*Ô*ð 	Hð 	HÝ&¥~Ñ'7Ô'7ÀÐGÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hr{  r   r`   é'  r¸   rN  rÍ   r\   r]   rŒ  rÉ   c                 ó@  — t          ¦   «         }t          |d¬¦  «        }t          j        ¦   «         5  d}t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         |                     |¦  «        }t          j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||d	d	¬
¦  «         |j
        |j
        k    sJ ‚d S ©Nç›+¡†›„=©Úu_resolutionr�  r^  r�  r‘  r’  r“  g•dyáý¥=rÏ   )r   r	   r`  ra  r•  rè   rÂ   r   r¾   r   rµ   ©r#   rÉ   r3   r}   rk   r—  r˜  s          r%   Útest_ppfz'TestNumericalInversePolynomial.test_ppf~  óF  € åÑÔˆÝ(¨¸EÐBÑBÔBˆõ Ô$Ñ&Ô&ð 	)ð 	)Ø1ˆCÝÔ# H¨c°I©o½~ÑNÔNÐNÝÔ# H¨c°OÑ.CÅ^ÑTÔTÐTÝÔ# H¨c°F©l½NÑKÔKÐKÝÔ# H¨c°LÑ.@Å.ÑQÔQÐQØ—'’'˜!‘*”*ˆCÝ”z—~’~ aÑ(Ô(ˆHð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ 	˜˜X¨E¸Ð>Ñ>Ô>Ð>ØŒy˜HœNÒ*Ð*Ð*Ð*Ð*Ð*ó   ³B/C.Ã.C2Ã5C2rƒ  r;   r:   r±   r$   c                 ó@  — t          ¦   «         }t          |d¬¦  «        }t          j        ¦   «         5  d}t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         |                     |¦  «        }t          j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||d	d	¬
¦  «         |j
        |j
        k    sJ ‚d S r7  )r   r	   r`  ra  r•  rè   r-   r   r¾   r   rµ   )r#   r$   r3   r}   rk   r—  r˜  s          r%   Útest_cdfz'TestNumericalInversePolynomial.test_cdf“  r=  r>  c                 ó  — t          ¦   «         }t          |d¬¦  «        }|                     ¦   «         \  }}|dk     sJ ‚||k    sJ ‚t          |d¬¦  «        }|                     ¦   «         \  }}|dk     sJ ‚||k    sJ ‚d S )Nç»½×Ùß|Û=r9  r8  )r   r	   Úu_error©r#   r3   r}   Ú	max_errorÚmaes        r%   Útest_u_errorz+TestNumericalInversePolynomial.test_u_error¤  s�   € åÑÔˆÝ(¨¸EÐBÑBÔBˆØŸš™œ‰ˆ	�3Ø˜5Ò Ð Ð Ð Ø�iÒÐÐÐÝ(¨¸EÐBÑBÔBˆØŸš™œ‰ˆ	�3Ø˜5Ò Ð Ð Ð Ø�iÒÐÐÐÐÐr'   g      @é   g#B’¡œÇ;Úorderc                 ó°   — t          ¦   «         }d}t          j        t          |¬¦  «        5  t	          ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz2`order` must be an integer in the range \[3, 17\].rd   ©rI  )r   ri   r   r�   r	   )r#   rI  r3   rk   s       r%   Útest_bad_ordersz.TestNumericalInversePolynomial.test_bad_orders³  sž   € åÑÔˆàCˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	:ð 	:Ý& t°5Ð9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s   ¬AÁAÁAr:  c                 ó¬   — d}t          j        t          |¬¦  «        5  t          t	          ¦   «         |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz.`u_resolution` must be between 1e-15 and 1e-5.rd   r9  )ri   r   r�   r	   r   )r#   r:  rk   s      r%   Útest_bad_u_resolutionz4TestNumericalInversePolynomial.test_bad_u_resolution»  sº   € à?ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Bð 	BÝ&¥~Ñ'7Ô'7Ø4@ðBñ Bô Bð Bð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	BrŠ  c                 ój  —  G d„ d¦  «        } |¦   «         }d}t          j        t          |¬¦  «        5  t          |¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          ¦   «         }t          |¦  «        }d}t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y    G d„ d¦  «        } |¦   «         }t          |¦  «        }d	}t          j        t          |¬¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )
Nc                   ó   — e Zd Zd„ ZdS )ú=TestNumericalInversePolynomial.test_bad_args.<locals>.BadDistc                 ó@   — t           j                             |¦  «        S r+   rC  r"   s     r%   r-   zATestNumericalInversePolynomial.test_bad_args.<locals>.BadDist.cdfÅ  s   € Ý”z—’ qÑ)Ô)Ð)r'   N)r/   r0   r1   r-   r2   r'   r%   ÚBadDistrQ  Ä  ó#   € € € € € ð*ð *ð *ð *ð *r'   rS  z9Either of the methods `pdf` or `logpdf` must be specifiedrd   z4`sample_size` must be greater than or equal to 1000.r;   c                   ó   — e Zd Zd„ ZdS )úBTestNumericalInversePolynomial.test_bad_args.<locals>.Distributionc                 ó6   — t          j        d|z  |z  ¦  «        S )Nr   ©r   r!   r"   s     r%   r&   zFTestNumericalInversePolynomial.test_bad_args.<locals>.Distribution.pdfÔ  s   € Ý”v˜d Q™h q™jÑ)Ô)Ð)r'   NrŸ  r2   r'   r%   r’   rV  Ó  rT  r'   r’   z!Exact CDF required but not found.)ri   r   r�   r	   r   rC  )r#   rS  r3   rk   r}   r’   s         r%   rç  z,TestNumericalInversePolynomial.test_bad_argsÂ  s  € ð	*ð 	*ð 	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð ˆw‰yŒyˆØJˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	3ð 	3Ý,¨TÑ2Ô2ˆCð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3õ ÑÔˆÝ(¨Ñ.Ô.ˆØEˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�KŠK˜‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð	*ð 	*ð 	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð ˆ|‰~Œ~ˆÝ(¨Ñ.Ô.ˆØ2ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�KŠK‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s5   µAÁAÁAÂB8Â8B<Â?B<ÄD(Ä(D,Ä/D,c                 ó>  —  G d„ d¦  «        } |¦   «         }d„ |_         t          |¦  «        } |¦   «         }d„ |_        t          |¦  «        }t          j        ddd¬¦  «        }t          |                     |¦  «        |                     |¦  «        ¦  «         d S )	Nc                   ó   — e Zd ZdS )úJTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.MyDistNrk  r2   r'   r%   ÚMyDistr[  á  rl  r'   r\  c                 ó8   — t          j        |  | z  dz  ¦  «        S ©Nra   )Úmathr!   r=   s    r%   r>   zLTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.<lambda>æ  s   € ¥¤¨1¨"¨Q©$¨q©&Ñ!1Ô!1€ r'   c                 ó   — |  | z  dz  S r^  r2   r=   s    r%   r>   zLTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.<lambda>ë  s   € ¨ r¨!¡t¨A¡v€ r'   r”  gwJëÿï?rs   r¸   )r&   r	   r2  r   rÀ   r   rÂ   )r#   r\  Údist_pdfr{   Údist_logpdfr|   Úqs          r%   Útest_logpdf_pdf_consistencyz:TestNumericalInversePolynomial.test_logpdf_pdf_consistencyÝ  s³   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð �6‘8”8ˆØ1Ð1ˆŒÝ)¨(Ñ3Ô3ˆð �f‘h”hˆØ-Ð-ˆÔÝ)¨+Ñ6Ô6ˆåŒK˜˜f¨#Ð.Ñ.Ô.ˆÝ˜Ÿš ™œ T§X¢X¨a¡[¤[Ñ1Ô1Ð1Ð1Ð1r'   N)-r/   r0   r1   r8  rE  rX  r  r¡  r¢  r£  r   r    r¤  r¥  r¦  ri   r"  r$  r#  r§  rd  Úxslowr   r*  r©  rp  Úbad_logpdfs_commonr3  r«  rz  rÀ   rL   rH   rÉ   r<  r$   r@  ÚslowrG  Ú
bad_ordersÚbad_u_resolutionrL  rN  rç  rd  r2   r'   r%   rò  rò  ñ  s\  € € € € € ðð ð ð ð ñ ô ð ð,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ð
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ð"	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆU‰WŒW�e�e‘g”g˜u˜u™wœw¨¨©¬Ð0€Eð ˆvˆ,€CØˆtˆ*€CØ�”‰;˜ '¨"¬%°©(Ñ"2Ñ2Ð
3€CØ�”‰;Ð)¨G°B´E¸1±HÑ,<Ñ<Ð
=€CØ��S˜#Ð
€Cà„[×ÒÐ&EÐÑFÔFØ„[×Ò˜]Ø ˜S ¨™_œ_ñ.ô .ð-ð -ñ.ô .ñ GÔFð-ð „[ÔØ„[×ÒÐ/°Ñ:Ô:ðAð Añ ;Ô:ñ ÔðAð@ „[×Ò˜_¨oÑ>Ô>ð<ð <ñ ?Ô>ð<ð „[×ÒÐ/Ð1CÑDÔDð<ð <ñ EÔDð<ð „[×ÒÐ/°ÑAÔAðHð Hñ BÔAðHð 	ˆŒ�A�q˜eÐ$Ñ$Ô$à
ˆRˆDà	Œˆ�B”F�7˜BœF B¤FÐ+à	ð Œ&�#�sÐ	˜c 3¨¬Ð/°°°Ð<ð	€Að „[×Ò˜S !Ñ$Ô$ð+ð +ñ %Ô$ð+ð  
ˆŒ�S˜" %Ð	(Ñ	(Ô	(¨"¨r¨d°R´V°HØŒ6ˆ'�2”6˜2œ6Ð	" AØŒ6�3˜Ð
˜s C¨¬Ð0°B´F°7¸A¸q°/Ð	Bð	D€Að „[×Ò˜S !Ñ$Ô$ð+ð +ñ %Ô$ð+ð  „[Ôð	 ð 	 ñ Ôð	 ð �S˜"˜bœf b¤fÐ-€JØ˜t R¤V¨R¬VÐ4Ðà„[×Ò˜W jÑ1Ô1ð:ð :ñ 2Ô1ð:ð „[×Ò˜^Ð-=Ñ>Ô>ðBð Bñ ?Ô>ðBðð ð ð62ð 2ð 2ð 2ð 2r'   rò  c            
       óò  — e Zd Z G d„ d¦  «        Z G d„ d¦  «        Z e¦   «          e¦   «         gZddej        z  z  ddd	ej        z  ej        z  z  z
  gZd
dddej        z  ej        z  z  z
  dz
  gZ	ee	gZ
ej                             d eee
¦  «        ¦  «        ej                             dddg¦  «        ej        j        d„ ¦   «         ¦   «         ¦   «         Zej                             de¦  «        d„ ¦   «         Zd„ Zej                             d¦  «        ej        j        ej                             de¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             d¦  «        ej                             d¦  «        ej                             d	¦  «        d„ ¦   «         ¦   «         ¦   «         Zd„ Zddej                             d¦  «        gZe                     ej                              d¦  «        ¦  «         d e!¦   «         fddgZ"ej                             de¦  «        ej                             de"¦  «        ej        j        d „ ¦   «         ¦   «         ¦   «         Z#d!„ Z$d"„ Z% ej&        d#d$d%¬&¦  «        g g gej'        gej(         ej'        ej(        gdej'        d'd(gd)d*ej(        gg d+¢ggZ)ej                             d,e)¦  «        d-„ ¦   «         Z*ej        j+        d.„ ¦   «         Z,dS )/ÚTestNumericalInverseHermitec                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ú!TestNumericalInverseHermite.dist0c                 óV   — ddt          j        dt           j        z  |z  ¦  «        z   z  S )NrN  r   r   r  r"   s     r%   r&   z%TestNumericalInverseHermite.dist0.pdfø  s&   € Ø˜�RœV B¥r¤u¡H¨Q¡JÑ/Ô/Ñ/Ñ0Ð0r'   c                 ód   — t           j        t          j        dt           j        z  |z  ¦  «        z  S )Nr   r  r"   s     r%   r)   z&TestNumericalInverseHermite.dist0.dpdfû  s#   € Ý”5�œ ¥2¤5¡¨¡
Ñ+Ô+Ñ+Ð+r'   c                 óœ   — ddt           j        z  d|z   z  z   t          j        dt           j        z  |z  ¦  «        z
  dt           j        z  z  S )Nr   r   r`   rÇ  r  r"   s     r%   r-   z%TestNumericalInverseHermite.dist0.cdfþ  s@   € Ø˜�BœE™ 1 q¡5Ñ)Ñ)­B¬F°2µb´e±8¸A±:Ñ,>Ô,>Ñ>À2ÅbÄeÁ8ÑLÐLr'   c                 ó   — dS r3  r2   r5  s    r%   rÄ   z)TestNumericalInverseHermite.dist0.support  r6  r'   Nr7  r2   r'   r%   r8  rm  ÷  sS   € € € € € ð	1ð 	1ð 	1ð	,ð 	,ð 	,ð	Mð 	Mð 	Mð	ð 	ð 	ð 	ð 	r'   r8  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ú!TestNumericalInverseHermite.dist1c                 óþ   — |dk    r4t          j        dt           j        z  |z  ¦  «        dz  t           j        z  S |dk     rdS |dk    r4t          j        dt           j        z  |z  ¦  «        dz  t           j        z  S d S )Nr   r   rN  r[   r  r"   s     r%   r&   z%TestNumericalInverseHermite.dist1.pdf	  sw   € Ø�T’	�	Ý”v˜r¥B¤E™z¨QÑ.Ñ/Ô/°#Ñ5½¼Ñ=Ð=Ø�B’�Ø�rØ�S’�Ý”v˜r¥B¤E™z¨QÑ.Ñ/Ô/°#Ñ5½¼Ñ=Ð=ð �r'   c                 ó&  — |dk    r>t          j        dt           j        z  |z  ¦  «        t           j        z  t           j        z  S |dk     rdS |dk    r>t          j        dt           j        z  |z  ¦  «        t           j        z  t           j        z  S d S )Nr   r   r[   rN  ©r   r  r    r"   s     r%   r)   z&TestNumericalInverseHermite.dist1.dpdf  s{   € Ø�T’	�	Ý”v˜r¥B¤E™z¨QÑ.Ñ/Ô/µ"´%Ñ7½"¼%Ñ?Ð?Ø�B’�Ø�rØ�S’�Ý”v˜r¥B¤E™z¨QÑ.Ñ/Ô/µ"´%Ñ7½"¼%Ñ?Ð?ð �r'   c                 óÖ   — |dk    r*ddt          j        dt           j        z  |z  ¦  «        z
  z  S |dk     rdS |dk    r*ddt          j        dt           j        z  |z  ¦  «        z  z
  S d S )Nr   ç      Ð?r`   r   r[   rN  r+  rv  r"   s     r%   r-   z%TestNumericalInverseHermite.dist1.cdf  ss   € Ø�T’	�	Ø˜q¥2¤6¨2µ´©:¸Ñ*:Ñ#;Ô#;Ñ;Ñ<Ð<Ø�B’�Ø�sØ�S’�Ø˜d¥R¤V¨Rµ"´%©Z¸1Ñ,<Ñ%=Ô%=Ñ=Ñ=Ð=ð �r'   c                 ó   — dS )N)r4  rN  r2   r5  s    r%   rÄ   z)TestNumericalInverseHermite.dist1.support!  s   € Ø�7r'   Nr7  r2   r'   r%   rE  rs    sS   € € € € € ð	>ð 	>ð 	>ð	@ð 	@ð 	@ð	>ð 	>ð 	>ð	ð 	ð 	ð 	ð 	r'   rE  r4  ra   r  r`   r±   g      Ð¿g      Ø?g      °?r[  rI  r:   r²   c                 óL   — t          ||d¬¦  «        }t          |||¦  «         d S )Nr_  )rI  rr   )r
   rÁ   )r#   r3   r×   rI  r}   s        r%   rd  z&TestNumericalInverseHermite.test_basic+  s0   € õ
 & d°%ÀbÐIÑIÔIˆÝ˜3  eÑ,Ô,Ð,Ð,Ð,r'   rb   c                 óž   — t          j        ||¬¦  «        5  t          t          ¦   «         |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rx  )ri   r   r
   r   ry  s       r%   rz  z0TestNumericalInverseHermite.test_inf_nan_domains5  s¨   € åŒ]˜3 cÐ*Ñ*Ô*ð 	Eð 	EÝ#¥NÑ$4Ô$4¸VÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Er{  c           	      óØ  — h d£}h d£}||v rt          j        d¦  «         ||v rt          j        d¦  «         t          j                             d¦  «        } t          t          |¦  «        |Ž }t          |¦  «        }|                     d¦  «        }t          j	        t          j
        |                     |¦  «        |                     |¦  «        z
  ¦  «        t          j
        |                     |¦  «        ¦  «        z  ¦  «        }	t          j	        t          j
        |                     |                     |¦  «        ¦  «        |z
  ¦  «        ¦  «        }
|	dk     sJ ‚|
dk     sJ ‚d S )	N>   r  r  Úskewnormr  >   r"  ÚnctÚbetaÚwaldr  Úinvgaussr  r  ÚgeninvgaussÚnorminvgaussÚgenhyperbolicr  zDistribution is too slowz)Fails - usually due to inaccurate CDF/PDFr   r;   ç:Œ0âŽyE>r  )ri   r´  r
  r   rv   r¿   rg   r   r
   ÚmaxrP  rÂ   r-   )r#   r¸  ÚshapesÚ
slow_distsr(  r}   r3   Úfnir$   Úp_tolÚu_tols              r%   Úbasic_test_all_scipy_distsz6TestNumericalInverseHermite.basic_test_all_scipy_dists:  sA  € ØBÐBÐBˆ
ð@ð @ð @ˆ
ð �zÐ!Ð!ÝŒKÐ2Ñ3Ô3Ð3Ø�zÐ!Ð!õ ŒLÐDÑEÔEÐEåŒi×#Ò# AÑ&Ô&ˆà'�w•u˜hÑ'Ô'¨Ð0ˆÝ% dÑ+Ô+ˆà�JŠJ�r‰NŒNˆÝ”•r”v˜dŸhšh q™kœk¨#¯'ª'°!©*¬*Ñ4Ñ5Ô5µb´f¸T¿XºXÀa¹[¼[Ñ6IÔ6IÑIÑJÔJˆÝ”•r”v˜dŸhšh s§w¢w¨q¡z¤zÑ2Ô2°QÑ6Ñ7Ô7Ñ8Ô8ˆà�tŠ|ˆ|ˆ|ˆ|Ø�uŠ}ˆ}ˆ}ˆ}ˆ}ˆ}r'   zignore::RuntimeWarning)r¸  r‡  c                 ó2   — |                       ||¦  «         d S r+   ©rŒ  )r#   r¸  r‡  s      r%   r*  z6TestNumericalInverseHermite.test_basic_all_scipy_distsS  s    € ð 	×'Ò'¨°&Ñ9Ô9Ð9Ð9Ð9r'   c                 ó2   — |                       dd¦  «         d S )NÚ	truncnorm)rÍ   ra   rŽ  r5  s    r%   Útest_basic_truncnorm_gh17155z8TestNumericalInverseHermite.test_basic_truncnorm_gh17155[  s    € ð 	×'Ò'¨°XÑ>Ô>Ð>Ð>Ð>r'   c                 óØ  — d}t          j        t          |¬¦  «        5  t          t	          ¦   «         d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          t	          ¦   «         d¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nz"`order` must be either 1, 3, or 5.rd   ra   rK  z`cdf` required but not foundr¾   z!could not convert string to floatÚekkir9  )ri   r   r�   r
   r   )r#   re   s     r%   r÷   z1TestNumericalInverseHermite.test_input_validationa  s«  € Ø5ˆÝŒ]�:¨UÐ3Ñ3Ô3ð 	?ð 	?Ý#¥NÑ$4Ô$4¸AÐ>Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð /ˆÝŒ]�:¨UÐ3Ñ3Ô3ð 	,ð 	,Ý# FÑ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 4ˆÝŒ]�:¨UÐ3Ñ3Ô3ð 	9ð 	9Ý#¥NÑ$4Ô$4Ø17ð9ñ 9ô 9ð 9ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð 	9ð 	9s5   žAÁAÁAÁ0BÂBÂBÂ4CÃC#Ã&C#Nr   )é   )r”  )©r±   r²   é   r•  r}   rþ   c                 óZ  — t          ¦   «         }t          |¦  «        }t          |¦  «        }|                     ||¬¦  «        }|�|j        |k    sJ ‚|�Vt          |¦  «        }|                     |¬¦  «        }t          j         	                    |¦  «        }	t          ||	¦  «         d S d S )N)r°   rr   ©r°   )r   r
   r   ru   rµ   r   r  r   r¾   rÂ   r   )
r#   r}   r  r  r3   r‰  r|   ru   r  r   s
             r%   Útest_RVSz$TestNumericalInverseHermite.test_RVSs  s¬   € õ ÑÔˆÝ% dÑ+Ô+ˆå˜‰}Œ}ˆØ�gŠg˜7°ˆgÑ5Ô5ˆØÐØ”9 Ò(Ð(Ð(Ð(àÐÝ% dÑ+Ô+ˆDØ—l’l¨�lÑ0Ô0ˆGÝ”:—>’> 'Ñ*Ô*ˆDÝ˜C Ñ&Ô&Ð&Ð&Ð&ð	 Ðr'   c                 óä   — d}d}t          j        t          |¬¦  «        5  t          t	          j        |Ž ¦  «         d d d ¦  «         n# 1 swxY w Y   t          t	          j        |Ž d¬¦  «         d S )N)g�µds’z@g@ø¯eä?zg98 : one or more intervals very short; possibly due to numerical problems with a pole or very flat tailrd   r…  r9  )ri   rç   rè   r
   r   r  )r#   r‡  re   s      r%   Útest_inaccurate_CDFz/TestNumericalInverseHermite.test_inaccurate_CDF…  s´   € ð :ˆðDˆõ Œ\�.°Ð6Ñ6Ô6ð 	9ð 	9Ý#¥E¤J°Ð$7Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9õ 	 ¥¤
¨FÐ 3À$ÐGÑGÔGÐGÐGÐGs    AÁAÁAc                 óô   — t          ¦   «         }t          |¦  «        }t          j        ¦   «         }t          |¦  «        }t	          |                     d¬¦  «        |                     d¬¦  «        ¦  «         d S )Nr   rt   )r   r
   r   r¾   r   ru   )r#   rE  Úfni1rX  Úfni2s        r%   Útest_custom_distributionz4TestNumericalInverseHermite.test_custom_distribution“  sd   € ÝÑ Ô ˆÝ& uÑ-Ô-ˆå”
‘”ˆÝ& uÑ-Ô-ˆå˜Ÿš¨a˜Ñ0Ô0°$·(²(È°(Ñ2JÔ2JÑKÔKÐKÐKÐKr'   r[   r   r5  r¸   rN  rÍ   r\   r]   rŒ  rÉ   c                 ó@  — t          ¦   «         }t          |d¬¦  «        }t          j        ¦   «         5  d}t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         t          j        d|dz   t
          ¦  «         |                     |¦  «        }t          j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||d	d
¬¦  «         |j
        |j
        k    sJ ‚d S )Nr  r9  r�  r^  r�  r‘  r’  r“  g•Ö&è.>gLÎaã§�ô=rÏ   )r   r
   r`  ra  r•  rè   rÂ   r   r¾   r   rµ   r;  s          r%   r<  z$TestNumericalInverseHermite.test_ppf«  sF  € åÑÔˆÝ% d¸Ð?Ñ?Ô?ˆõ Ô$Ñ&Ô&ð 	)ð 	)Ø1ˆCÝÔ# H¨c°I©o½~ÑNÔNÐNÝÔ# H¨c°OÑ.CÅ^ÑTÔTÐTÝÔ# H¨c°F©l½NÑKÔKÐKÝÔ# H¨c°LÑ.@Å.ÑQÔQÐQØ—'’'˜!‘*”*ˆCÝ”z—~’~ aÑ(Ô(ˆHð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ 	˜˜X¨D°uÐ=Ñ=Ô=Ð=ØŒy˜HœNÒ*Ð*Ð*Ð*Ð*Ð*r>  c                 óŒ  — t          ¦   «         }t          |d¬¦  «        }|                     ¦   «         \  }}|dk     sJ ‚||k    sJ ‚t          j        ¦   «         5  t          j        dt          ¦  «         t          |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         \  }}|dk     sJ ‚||k    sJ ‚d S )NrB  r9  r^  r8  )r   r
   rC  r`  ra  rb  rè   rD  s        r%   rG  z(TestNumericalInverseHermite.test_u_error¼  s'  € åÑÔˆÝ% d¸Ð?Ñ?Ô?ˆØŸš™œ‰ˆ	�3Ø˜5Ò Ð Ð Ð Ø�iÒÐÐÐÝÔ$Ñ&Ô&ð 	Dð 	DåÔ! (­NÑ;Ô;Ð;Ý)¨$¸UÐCÑCÔCˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð Ÿš™œ‰ˆ	�3Ø˜5Ò Ð Ð Ð Ø�iÒÐÐÐÐÐs   Á,BÂBÂB)-r/   r0   r1   r8  rE  r¡  r   r    r¢  r£  r¦  ri   r"  r#  r§  r$  rd  r«  rz  rŒ  r•  re  r   r*  Ú	fail_slowÚparallel_threads_limitr‘  r÷   rv   rw   ÚrngsÚappendr¿   r  r   r™  r›  rŸ  rÀ   rL   rH   rÉ   r<  rg  rG  r2   r'   r%   rk  rk  ò  sÚ  € € € € € ð
ð ð ð ð ñ ô ð ð"ð ð ð ð ñ ô ð ð8 ˆU‰WŒW�e�e‘g”gÐ€Eð ˆq�”‰w‰<˜˜q ! B¤E¡'¨"¬%¡-Ñ0Ñ0Ð
1€CØ��Q˜˜"œ%™ ¤™Ñ&Ñ&¨Ñ-Ð
.€CØ�ˆ*€Cà„[×Ò˜]Ø ˜S ¨™_œ_ñ.ô .à„[×Ò˜W q¨! fÑ-Ô-Ø„[Ôð-ð -ñ Ôñ .Ô-ñ.ô .ð-ð „[×ÒÐ/°ÑAÔAðEð Eñ BÔAðEðð ð ð2 „[×ÒÐ 8Ñ9Ô9Ø„[ÔØ„[×ÒÐ3°XÑ>Ô>ð:ð :ñ ?Ô>ñ Ôñ :Ô9ð:ð
 „[×Ò˜1ÑÔØ„[×ÒÐ 8Ñ9Ô9Ø„[×'Ò'¨Ñ*Ô*ð?ð ?ñ +Ô*ñ :Ô9ñ Ôð?ð9ð 9ð 9ð �!�R”Y×*Ò*¨1Ñ-Ô-Ð.€DØ‡K‚K�”	×%Ò% aÑ(Ô(Ñ)Ô)Ð)Ø�E�E‘G”Gˆ_˜iÐ)?Ð@€Eà„[×Ò˜U DÑ)Ô)Ø„[×ÒÐ0°%Ñ8Ô8Ø„[Ôð'ð 'ñ Ôñ 9Ô8ñ *Ô)ð'ðHð Hð HðLð Lð Lð 	ˆŒ�B˜ Ð&Ñ&Ô&à
ˆRˆDà	Œˆ�B”F�7˜BœF B¤FÐ+à	ð Œ&�#�sÐ	˜c 3¨¬Ð/°°°Ð<ð	€Að „[×Ò˜S !Ñ$Ô$ð+ð +ñ %Ô$ð+ð  „[Ôð ð  ñ Ôð ð  ð  r'   rk  c            
       óT  — e Zd Zh d£Zd„ Zd„ Zd„ Zej         	                    de
¦  «        d„ ¦   «         Z ej        ddd	¬
¦  «        g g gej        gej         ej        ej        gdej        ddgddej        gg d¢ggZej         	                    de¦  «        d„ ¦   «         Zej         	                    de¦  «        d„ ¦   «         Zej         ej        fej        ej        fej         ej         fdej        fej         dfgZej         	                    de¦  «        d„ ¦   «         ZdS )ÚTestDiscreteGuideTable>   r®  r¯  r°  c                 óÒ   — g d¢}t           j                             ¦   «         }t          j        t
          ¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©rÍ   g333333Ó?g333333ã?r9   ©rr   Úguide_factor©r   rv   r¿   ri   rç   rè   r   ©r#   rÊ   rÈ   s      r%   Ú$test_guide_factor_gt3_raises_warningz;TestDiscreteGuideTable.test_guide_factor_gt3_raises_warningÓ  ó»   € Øˆ_ˆ_ˆÝŒy×$Ò$Ñ&Ô&ˆÝŒ\�.Ñ)Ô)ð 	Fð 	FÝ˜r°À1ÐEÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fó   ¼AÁA Á#A c                 óÒ   — g d¢}t           j                             ¦   «         }t          j        t
          ¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr©  r   rª  r¬  r­  s      r%   Ú%test_guide_factor_zero_raises_warningz<TestDiscreteGuideTable.test_guide_factor_zero_raises_warningÙ  r¯  r°  c                 óÒ   — g d¢}t           j                             ¦   «         }t          j        t
          ¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr©  r4  rª  r¬  r­  s      r%   Ú)test_negative_guide_factor_raises_warningz@TestDiscreteGuideTable.test_negative_guide_factor_raises_warningß  s½   € ð ˆ_ˆ_ˆÝŒy×$Ò$Ñ&Ô&ˆÝŒ\�.Ñ)Ô)ð 	Gð 	GÝ˜r°À2ÐFÑFÔFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gr°  r±  c                 ó  — || j         v rd}t          j        |¦  «         t          |t          ¦  «        s|}nt          t          |¦  «        } ||Ž }|                     ¦   «         }t          j	        |d         |d         z
  ¦  «        st          j        d¦  «         t          j
        |d         |d         dz   ¦  «        }|                     |¦  «        }|                     d¦  «        }t          |d¬¦  «        }	t          |	||¦  «         d S )NzYDGT fails on these probably because of large domains and small computation errors in PMF.r`   r   z$DGT only works with a finite domain.rØ   r_  rt   )r³  ri   r´  rµ  r¶  rg   r   rÄ   r   rÔ   rÆ   rÅ   r   rÇ   r·  s
             r%   rd  z!TestDiscreteGuideTable.test_basicè  s  € à�tÔ,Ð,Ð,ð:ˆCåŒK˜ÑÔÐå˜(¥CÑ(Ô(ð 	,ØˆDˆDå�5 (Ñ+Ô+ˆDàˆt�Vˆ}ˆØ—’‘”ˆåŒ{˜6 !œ9 v¨a¤yÑ0Ñ1Ô1ð 	@õ ŒKÐ>Ñ?Ô?Ð?åŒI�f˜Q”i ¨¤¨1¡Ñ-Ô-ˆØ�XŠX�a‰[Œ[ˆØ—
’
˜4Ñ Ô ˆÝ  °BÐ7Ñ7Ô7ˆÝ˜C  UÑ+Ô+Ð+Ð+Ð+r'   r   r`   r5  r¸   rN  rÍ   r\   r]   rŒ  rÉ   c                 óf  — d\  }}t          j        ||¦  «        }t          |d¬¦  «        }t          j        ¦   «         5  d}t          j        d|dz   t          ¦  «         t          j        d|dz   t          ¦  «         t          j        d|dz   t          ¦  «         t          j        d|d	z   t          ¦  «         |                     |¦  «        }t           j                             |||¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |j	        |j	        ¦  «         t          ||¦  «         d S )
N)r±   rÍ   r_  rt   r�  r^  r�  r‘  r’  r“  )
r   rÃ   r   r`  ra  r•  rè   rÂ   r   rµ   )	r#   rÉ   ÚnÚpr3   r}   rk   r—  r˜  s	            r%   r<  zTestDiscreteGuideTable.test_ppf  sQ  € à‰ˆˆ1ÝŒ{˜1˜aÑ Ô ˆÝ  °BÐ7Ñ7Ô7ˆõ Ô$Ñ&Ô&ð 	0ð 	0Ø1ˆCÝÔ# H¨c°I©o½~ÑNÔNÐNÝÔ# H¨c°OÑ.CÅ^ÑTÔTÐTÝÔ# H¨c°F©l½NÑKÔKÐKÝÔ# H¨c°LÑ.@Å.ÑQÔQÐQØ—'’'˜!‘*”*ˆCÝ”{—’ q¨!¨QÑ/Ô/ˆHð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0õ 	�S”Y ¤Ñ/Ô/Ð/Ý�S˜(Ñ#Ô#Ð#Ð#Ð#s   ¿B1C<Ã<D ÄD rÔ  c                 óŒ   — t          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rÖ  )ri   r   r�   r   rØ  s      r%   rÙ  z"TestDiscreteGuideTable.test_bad_pv#  s‰   € åŒ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#Ý˜rÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#rÚ  rf   c                 ó¶   — t          j        t          d¬¦  «        5  t          t	          j        dd¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rÜ  )ri   r   r�   r   r   rÃ   rÝ  s     r%   rÞ  z&TestDiscreteGuideTable.test_inf_domain-  s¯   € åŒ]�:Ð->Ð?Ñ?Ô?ð 	Dð 	DÝ�uœ{¨2¨sÑ3Ô3¸FÐCÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	Dð 	Drß  N)r/   r0   r1   r³  r®  r²  r´  ri   r"  r#  r   rd  r   rÀ   rL   rH   rÉ   r<  rï  rÙ  rð  rÞ  r2   r'   r%   r§  r§  Ì  sÁ  € € € € € ðð ð ÐðFð Fð FðFð Fð FðGð Gð Gð „[×ÒÐ/°Ñ>Ô>ð,ð ,ñ ?Ô>ð,ð6 	ˆŒ�A�q˜eÐ$Ñ$Ô$à
ˆRˆDà	Œˆ�B”F�7˜BœF B¤FÐ+à	ð Œ&�#�sÐ	˜c 3¨¬Ð/°°°Ð<ð	€Að „[×Ò˜S !Ñ$Ô$ð$ð $ñ %Ô$ð$ð$ „[×Ò˜Y¨Ñ6Ô6ð#ð #ñ 7Ô6ð#ð ”F�7˜BœFÐ# b¤f¨b¬fÐ%5¸¼¸À"Ä&ÀÐ7IØ�b”f�+ ¤ ¨˜|ð-€Jð „[×Ò˜X zÑ2Ô2ðDð Dñ 3Ô2ðDð Dð Dr'   r§  c                   óN  — e Zd Z G d„ d¦  «        Z ed¦  «         ed¦  «        gZdej        gZdej        gZeegZ	e
j                             d eee	¦  «        ¦  «        e
j        j        d„ ¦   «         ¦   «         Ze
j                             de¦  «        d„ ¦   «         Zd	„ Zd
S )ÚTestSimpleRatioUniformsc                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )úTestSimpleRatioUniforms.distc                 ó"   — || _         || _        d S r+   )rJ  r7   rK  s     r%   r�   z%TestSimpleRatioUniforms.dist.__init__8  s   € ØˆDŒJØˆDŒIˆIˆIr'   c                 óP   — || j         z  }dt          |¦  «        dz   z  }d|z  |z  S rM  rO  rQ  s      r%   r&   z TestSimpleRatioUniforms.dist.pdf<  rS  r'   c                 óH   — || j         z  }|dk    rdd|z
  z  S ddd|z   z  z
  S rV  rI  r"   s     r%   r-   z TestSimpleRatioUniforms.dist.cdfA  rW  r'   N)r/   r0   r1   r�   r&   r-   r2   r'   r%   r3   r¾  7  sA   € € € € € ð	ð 	ð 	ð	ð 	ð 	ð
	+ð 	+ð 	+ð 	+ð 	+r'   r3   r[   rY  r[  c                 óØ   — t          ||j        d¬¦  «        }t          |||¦  «         t          ||j        |                     |j        ¦  «        d¬¦  «        }t          |||¦  «         d S )Nr_  )r7   rr   )r7   Úcdf_at_moderr   )r   r7   rÁ   r-   rc  s       r%   rd  z"TestSimpleRatioUniforms.test_basicO  st   € õ " $¨T¬YÀRÐHÑHÔHˆÝ˜3  eÑ,Ô,Ð,Ý! $¨T¬YØ.2¯hªh°t´yÑ.AÔ.AØ/1ð3ñ 3ô 3ˆõ 	˜3  eÑ,Ô,Ð,Ð,Ð,r'   rb   c                 óž   — t          j        ||¬¦  «        5  t          t          ¦   «         |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rx  )ri   r   r   r   ry  s       r%   rz  z,TestSimpleRatioUniforms.test_inf_nan_domains\  s¨   € åŒ]˜3 cÐ*Ñ*Ô*ð 	Að 	AÝ¥Ñ 0Ô 0¸Ð@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	Ar{  c                 óª   — t          j        t          d¬¦  «        5  t          t	          ¦   «         dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz`pdf_area` must be > 0rd   r   r4  )r7   Úpdf_area)ri   r   r�   r   r   r5  s    r%   rç  z%TestSimpleRatioUniforms.test_bad_argsa  s«   € åŒ]�:Ð-FÐGÑGÔGð 	Gð 	GÝ¥Ñ 0Ô 0°qÀ2ÐFÑFÔFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gs   œAÁAÁAN)r/   r0   r1   r3   r¡  r   rH   r£  r¤  r¦  ri   r"  r#  r§  r$  rd  r«  rz  rç  r2   r'   r%   r¼  r¼  3  s  € € € € € ð+ð +ð +ð +ð +ñ +ô +ð +ð" ˆT�"‰XŒX�t�t˜F‘|”|Ð$€Eð ˆrŒvˆ,€CØ�2”6Ð
€CØ�ˆ*€Cà„[×Ò˜]Ø ˜S ¨™_œ_ñ.ô .à„[Ôð-ð -ñ Ôñ.ô .ð-ð „[×ÒÐ/°ÑAÔAðAð Añ BÔAðAðGð Gð Gð Gð Gr'   r¼  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestRatioUniformsc           	      óh  — t           j        j        }t          j         |t          j        d¦  «        ¦  «        ¦  «        t          j        d¦  «        z  }t          j         |d¦  «        ¦  «        }t          ||| |d¬¦  «        }t          t          j        |                     d¦  «        d¦  «        d         dk    d	¦  «         t          d
„ dddt          j	        d¦  «        z  d¬¦  «        }t          t          j        |                     d¦  «        d¦  «        d         dk    d	¦  «         d S )Nra   r   i90  ©ÚumaxÚvminÚvmaxrr   iÄ	  r¾   r`   rx  Tc                 ó,   — t          j        |  ¦  «        S r+   rX  r=   s    r%   r>   z6TestRatioUniforms.test_rv_generation.<locals>.<lambda>r  s   € ¥b¤f¨a¨R¡j¤j€ r'   r4  r‹  Úexpon)
r   r¾   r&   r   r   r   r   Úkstestru   r!   )r#   ÚfÚvrÉ   rö   s        r%   Útest_rv_generationz$TestRatioUniforms.test_rv_generationh  s  € õ ŒJŒNˆÝŒG�A�A•b”g˜a‘j”j‘M”MÑ"Ô"¥R¤W¨Q¡Z¤ZÑ/ˆÝŒG�A�A�a‘D”D‰MŒMˆÝ˜A A¨Q¨B°QÀUÐKÑKÔKˆÝ•U”\ #§'¢'¨$¡-¤-°Ñ8Ô8¸Ô;¸dÒBÀDÑIÔIÐIõ Ð0Ð0°qØ!"¨­2¬6°"©:¬:©ÀEðKñ Kô Kˆå•U”\ #§'¢'¨$¡-¤-°Ñ9Ô9¸!Ô<¸tÒCÀTÑJÔJÐJÐJÐJr'   c                 óò  — t           j        j        }t          j         |t          j        d¦  «        ¦  «        ¦  «        t          j        d¦  «        z  }t          j         |d¦  «        ¦  «        }t          ||| |d¬¦  «        }t          ||| |d¬¦  «        }t          ||| |d¬¦  «        }|                     d¦  «        |                     d¦  «        |                     d¦  «        }	}}t          ||¦  «         t          ||	                     ¦   «         ¦  «         t          |j	        d¦  «         t          |	j	        d¦  «         t          ||| |d¬¦  «        }
t          ||| |d¬¦  «        }|
                     d	¬
¦  «        |                     d¬
¦  «        }}t          |                     ¦   «         |¦  «         t          |j	        d	¦  «         t          ||| |d¬¦  «        }t          ||| |d¬¦  «        }t          ||| |d¬¦  «        }|                     ¦   «         |                     d¦  «        |                     d¦  «        }}}t          ||¦  «         t          ||¦  «         d S )Nra   r   éÒ  rÊ  r:   rü   )r:   r`   r•   )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_shapezTestRatioUniforms.test_shapev  s3  € åŒJŒNˆÝŒG�A�A•b”g˜a‘j”j‘M”MÑ"Ô"¥R¤W¨Q¡Z¤ZÑ/ˆÝŒG�A�A�a‘D”D‰MŒMˆå˜Q Q¨a¨R°aÀdÐKÑKÔKˆÝ˜Q Q¨a¨R°aÀdÐKÑKÔKˆÝ˜Q Q¨a¨R°aÀdÐKÑKÔKˆØ—X’X˜a‘[”[ $§(¢(¨4¡.¤.°$·(²(¸6Ñ2BÔ2B�ˆBˆÝ�R˜ÑÔÐÝ�R˜Ÿš™œÑ&Ô&Ð&Ý�R”X˜tÑ$Ô$Ð$Ý�R”X˜vÑ&Ô&Ð&å˜Q Q¨a¨R°aÀbÐIÑIÔIˆÝ˜Q Q¨a¨R°aÀbÐIÑIÔIˆØ—’˜y�Ñ)Ô)¨4¯8ª8¸¨8Ñ+<Ô+<ˆBˆÝ�R—Z’Z‘\”\ 2Ñ&Ô&Ð&Ý�R”X˜yÑ)Ô)Ð)å˜Q Q¨a¨R°aÀdÐKÑKÔKˆÝ˜Q Q¨a¨R°aÀdÐKÑKÔKˆÝ˜Q Q¨a¨R°aÀdÐKÑKÔKˆØ—X’X‘Z”Z §¢¨!¡¤¨d¯hªh°t©n¬n�ˆBˆÝ�R˜ÑÔÐÝ�R˜ÑÔÐÐÐr'   c                 óð  — t           j        j        }t          j         |t          j        d¦  «        ¦  «        ¦  «        t          j        d¦  «        z  }t          j         |d¦  «        ¦  «        }t          ||| |d¬¦  «        }|                     d¦  «        }t          j                             d¦  «        }t          ||| ||¬¦  «        }|                     d¦  «        }t          ||¦  «         d S )Nra   r   rÕ  rÊ  r;   )
r   r¾   r&   r   r   r   ru   rv   rw   r   )	r#   rÑ  rÒ  rË  rØ  rÛ  r}   rÙ  rÜ  s	            r%   r‚   z#TestRatioUniforms.test_random_state’  sÉ   € ÝŒJŒNˆÝŒG�A�A•b”g˜a‘j”j‘M”MÑ"Ô"¥R¤W¨Q¡Z¤ZÑ/ˆÝŒw�q�q˜‘t”t‰}Œ}ˆÝ˜Q T°°¸ÈÐNÑNÔNˆØ�XŠX�b‰\Œ\ˆÝŒi×#Ò# DÑ)Ô)ˆÝ˜Q T°°¸ÈÐMÑMÔMˆØ�XŠX�b‰\Œ\ˆÝ�R˜ÑÔÐÐÐr'   c                 ó2  — t           j        j        }t          t          d¬¦  «        5  t          |ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          |ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          |ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          |ddd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nzvmin must be smaller than vmaxrd   r`   r:   )r&   rË  rÌ  rÍ  zumax must be positiver4  r   )r   r¾   r&   Úassert_raisesr�   r   )r#   rÑ  s     r%   Útest_exceptionsz!TestRatioUniforms.test_exceptions�  s  € ÝŒJŒNˆå�:Ð-MÐNÑNÔNð 	9ð 	9Ý˜a a¨a°aÐ8Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9å�:Ð-MÐNÑNÔNð 	9ð 	9Ý˜a a¨a°aÐ8Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9õ �:Ð-DÐEÑEÔEð 	:ð 	:Ý˜a b¨q°qÐ9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:å�:Ð-DÐEÑEÔEð 	9ð 	9Ý˜a a¨a°aÐ8Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð 	9ð 	9sG   ¨AÁAÁAÁ)B	Â	BÂBÂ*C
Ã
CÃCÃ+DÄDÄDN)r/   r0   r1   rÓ  rè  r‚   rì  r2   r'   r%   rÈ  rÈ  g  sS   € € € € € ðKð Kð Kðð ð ð8	ð 	ð 	ð9ð 9ð 9ð 9ð 9r'   rÈ  )rÌ   rÍ   )rÚ   rÍ   )Lr£   r«   ri   Úcopyr   r  r  r_  r`  Únumpyr   Únumpy.testingr   r   Úscipy.stats.samplingr   r   r   r	   r
   r   r   r   r   rë  Úscipyr   r   Úscipy.statsr   r   Úscipy.stats._distr_paramsr   r   Úscipy._lib._utilr   r   Úall_methodsÚimplementationÚnameÚversionÚfloaterrrí  rì  r©  rª  rf  rL   rH   rï  r�   Úbad_sized_domainsÚbad_domainsr«  Únan_domainsr"  r#  ro   r‚   r…   r©   r¯   r¶   rË   rÁ   rÇ   ré   rë   rí   r&  r­  rò  rk  r§  r¼  rÈ  r2   r'   r%   ú<module>rý     sç  ðØ Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø €€€Ø 
€
€
€
Ø €€€Ø €€€à Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð +Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø /Ð /Ð /Ð /Ð /Ð /ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð # V¨^¨^Ñ-=Ô-=Ð$>Ð?Ø˜&Ð"3Ð"3Ð"3Ð4Ð5Ø˜FÐ$5Ð$5Ð$5Ð6Ð7Ø! F¨N¨NÑ,<Ô,<Ð#=Ð>Ø ¨¨Ñ)9Ô)9Ð :Ð;Ø ^ ^Ñ%5Ô%5¸qÐAÐAÐBð€ð ÔÔ˜vÒ%Ð%ØÔÔ&¨Ò3Ð3à@€H€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ˆbŒfÐ�{Ð$4Ð5Ø	„v€g�”ˆwÐ˜Ð&6Ð7Ø„fˆrŒvˆgÐ˜Ð%5Ð6à	„v€gˆrŒvÐ˜
Ð$:Ð;Ø„fˆbŒfÐ�zÐ#9Ð:ð	€ð ˆŒ€[�*Ð4Ð5Ø„fˆbŒfÐ�zÐ#9Ð:ð€ð „×ÒÐ+Ø$Ð'8Ñ8Ø$ñ%ñ&ô &ð „×ÒÐ)¨;Ñ7Ô7ð(ð (ñ 8Ô7ñ&ô &ð(ð „×ÒÐ)¨;Ñ7Ô7ð/ð /ñ 8Ô7ð/ð8	ð 	ð 	ð.#ð .#ð .#ðb „×ÒÐ)¨;Ñ7Ô7ð/ð /ñ 8Ô7ð/ð „×Ò˜ð "2ð "2ð "2ñ 3ô 3ð	+ð 	+ñ3ô 3ð	+ð/ð /ð /ð*
ð 
ð 
ð 
ðð ð ð ð Dð Dð Dð „×Ò˜ð $Cð $Cð $Cñ Dô Dð8ð 8ñDô Dð8ð „×Ò˜Ð$=Ø$@ð$Bñ Cô CðY9ð Y9ð Y9ð Y9ð Y9ñ Y9ô Y9ñCô CðY9ðx{.ð {.ð {.ð {.ð {.ñ {.ô {.ð {.ð|r'ð r'ð r'ð r'ð r'ñ r'ô r'ð r'ðj~2ð ~2ð ~2ð ~2ð ~2ñ ~2ô ~2ð ~2ðBW ð W ð W ð W ð W ñ W ô W ð W ðtdDð dDð dDð dDð dDñ dDô dDð dDðN1Gð 1Gð 1Gð 1Gð 1Gñ 1Gô 1Gð 1GðhA9ð A9ð A9ð A9ð A9ñ A9ô A9ð A9ð A9ð A9r'   