§
    µ³ÙgÕ  ã            	       óÒ  — 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
mZ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Úsuppress_warnings)Ú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     úU/granary/edev/quantum/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   )r4   ÚmodeÚpypy)é   é   é
   z.unsupported operand type for float\(\): 'list'zmust be real number, not listc                 ó   — |  S r,   r3   ©r%   s    r&   ú<lambda>r?   @   s   € �ˆr€ r(   z...c                 ó   — g S r,   r3   r>   s    r&   r?   r?   B   ó   € ˆr€ r(   c                 ó   — t           S r,   ©Úfoor>   s    r&   r?   r?   D   ó   € �s€ r(   úname 'foo' is not definedc                 ó   — t           j        S r,   ©r   Úinfr>   s    r&   r?   r?   F   ó   € �rŒv€ r(   c                 ó   — t           j        S r,   ©r   Únanr>   s    r&   r?   r?   H   rJ   r(   c                  ó   — dS ©Nr   r3   r3   r(   r&   r?   r?   J   ó   € ˆS€ r(   ú,takes 0 positional arguments but 1 was givenc                 ó   — t           j        S r,   rH   r>   s    r&   r?   r?   Q   rJ   r(   c                 ó   — t           j        S r,   rL   r>   s    r&   r?   r?   S   rJ   r(   c                 ó   — g S r,   r3   r>   s    r&   r?   r?   U   rA   r(   c                 ó   — t           S r,   rC   r>   s    r&   r?   r?   W   rE   r(   c                  ó   — dS rO   r3   r3   r(   r&   r?   r?   Y   rP   r(   c                 ó   — g S r,   r3   r>   s    r&   r?   r?   `   rA   r(   c                 ó   — t           S r,   rC   r>   s    r&   r?   r?   b   rE   r(   c                 ó   — t           j        S r,   rH   r>   s    r&   r?   r?   d   rJ   r(   c                 ó   — t           j        S r,   rL   r>   s    r&   r?   r?   f   rJ   r(   c                  ó   — dS rO   r3   r3   r(   r&   r?   r?   h   rP   r(   z!must contain at least one elementr   ç        z0wrong number of dimensions \(expected 1, got 2\)çš™™™™™É?çš™™™™™Ù?r7   ú)must contain only finite / non-nan valuesú(must contain at least one non-zero value)é   é   r;   zmust be a length 2 tupler3   )rb   ra   zleft >= right)ra   ra   )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Údomainr3   )Úgetattrr   ÚsamplingÚpytestr   )rg   ÚerrÚmsgÚmethodÚkwargsÚMethods         r&   Útest_bad_domainrp   ™   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   r3   )rh   r   ri   r   Úrvsr   ÚrandomÚseedÚRandomStateÚMT19937Ú	Generator)
rm   rn   ro   rw   Úrng1Úrng2Úrvs1Úrvs2Úseed1Úseed2s
             r&   Útest_random_stater�   £   sÁ  € å•U”^ VÑ,Ô,€Fð €DØˆ6Ð.Ð.�FÐ.Ð.¨Ð.Ð.Ð.€DØˆ6Ð.Ð.�FÐ.Ð.¨Ð.Ð.Ð.€DÝ�—’˜#‘” §¢¨¡¤Ñ.Ô.Ð.õ „I‡N‚N�3ÑÔÐØˆ6ÐÐ�FÐÐ€DØ�8Š8�C‰=Œ=€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 )Nrr   ©rs   rt   )r   r   Úset_random_stater   ru   )r{   r|   Úrngr}   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 ©Nra   r3   r#   s     r&   r*   z3test_threading_behaviour.<locals>.Distribution.dpdfÛ   s   € Ø�1r(   N)r0   r1   r2   rŽ   r'   r*   r3   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)NrD   ©r<   rt   é   ©rg   rs   é † r   rˆ   ©r   ru   r�   Úargs©r4   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•   rb   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ˆ   rD   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 )Nrs   rr   rt   r3   )rh   r   ri   ÚpickleÚdumpsÚloadsr   ru   )rm   rn   ro   r{   Úobjr|   s         r&   Útest_pickler°   ý   s{   € å•U”^ VÑ,Ô,€FØˆ6Ð-Ð-�FÐ-Ð-¨Ð-Ð-Ð-€DÝ
Œ,�tÑ
Ô
€CÝŒ<˜ÑÔ€DÝ�—’˜#‘” §¢¨¡¤Ñ.Ô.Ð.Ð.Ð.r(   Úsize)Nr   )r   ra   )r<   r;   )rb   r;   é   é   )r   r   )r   ra   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   rƒ   ra   rt   ©Únumç      $@ç      @)ÚlocÚscaler<   r]   )r   Únormr   rv   Údefault_rngr   ÚlinspaceÚcheck_cont_samplesr   ÚppfÚbinomr   ÚsupportÚpmfÚarangeÚcheck_discr_samples)r4   Úurngr…   Úurg   Ú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˜   ra   ©ÚrtolÚatoliô  rÎ   )
ru   ÚmeanÚvarr   Úisfiniter   Ú	vectorizer.   r   Úpvalue)r…   r4   Ú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È   6  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 distributionre   r   ©r;   r³   )Úcenterrg   ©rg   )rj   ÚwarnsÚRuntimeWarningr
   r   )rl   s    r&   Ú!test_warning_center_not_in_domainrê   F  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rm   )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 domainre   r   rå   )r8   rg   )rh   r   ri   rj   r   r   r   )rm   ro   rl   s      r&   Útest_error_mode_not_in_domainrì   P  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¦  «        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...re   r   )Ú
qmc_engineú6`d` must be consistent with dimension of `qmc_engine`.r;   rb   ©Údrð   )
rj   r   r�   rh   r   ri   r   ÚqrvsÚqmcÚHalton)r$   rm   rf   ro   Úgens        r&   Útest_input_validationzTestQRVS.test_input_validationa  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Nra   r   ©rw   r;   )ra   ©ra   )r²   ©r²   )rû   rû   )©rb   r²   rü   )r;   ©r;   Úqrngúsize_in, size_outzd_in, d_outc                 ó@  — 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ñ   re   rò   ra   ©r±   ró   rð   çê-�™—q=©rÒ   )ÚsysÚplatformÚarchitecturerj   Úxfailr   rh   r   ri   ró   r   r�   rô   r   r¶   rv   r   Úprodr¿   rÃ   Úreshaper   )r$   rþ   Úsize_inÚsize_outÚd_inÚd_outrm   Úw32r4   ro   r÷   rf   Úshape_expectedÚqrng2rô   ÚuniformÚqrvs2s                    r&   Útest_QRVS_shape_consistencyz$TestQRVS.test_QRVS_shape_consistencyw  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   rh   r   ri   rõ   rö   rv   r   r
  rô   r¿   rÃ   Úranger  r   )r$   rm   r4   ro   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(   )r0   r1   r2   rø   r   rõ   ÚSobolrö   ÚqrngsÚtupleÚsizesÚdsrj   ÚmarkÚparametrizer  r  r3   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Ñ/Ô/ð 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¦  «        ¦  «        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ç      è?ra   r3   r#   s     r&   r'   z)TestTransformedDensityRejection.dist0.pdf¾  ó   € Ø˜!˜A˜a™C™%‘=Ð r(   c                 ó   — dd|z  z  S )Nr)  éþÿÿÿr3   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å?r3   r#   s     r&   r.   z)TestTransformedDensityRejection.dist0.cdfÄ  ó   € Ø˜!˜a ™d 1™f™* sÑ*Ñ+Ð+r(   c                 ó   — dS ©N)éÿÿÿÿra   r3   ©r$   s    r&   rÅ   z-TestTransformedDensityRejection.dist0.supportÇ  ó   € Ø�5r(   N©r0   r1   r2   r'   r*   r.   rÅ   r3   r(   r&   Údist0r&  ½  sP   € € € € € ð	!ð 	!ð 	!ð	 ð 	 ð 	 ð	,ð 	,ð 	,ð	ð 	ð 	ð 	ð 	r(   r6  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/   r3   r(   r&   Údist1r8  Ë  sA   € € € € € ð	,ð 	,ð 	,ð	8ð 	8ð 	8ð	,ð 	,ð 	,ð 	,ð 	,r(   rC  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ú%TestTransformedDensityRejection.dist2c                 ó   — || _         d S r,   ©Úshift©r$   rH  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   ç      à?©rH  Ú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\   rM  rO  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\   rL  r   rG  r#   s     r&   r.   z)TestTransformedDensityRejection.dist2.cdfç  ó7   € Ø�”‰OˆAØ�BŠwˆwØ˜b 1™f‘~Ð%à˜C 2¨¡6™NÑ*Ð*r(   N)r0   r1   r2   rŽ   r'   r*   r.   r3   r(   r&   Údist2rE  Ø  sP   € € € € € ð	ð 	ð 	ð	ð 	ð 	ð
	)ð 	)ð 	)ð	+ð 	+ð 	+ð 	+ð 	+r(   rV  r\   ç     ˆÃ@çÑ?r?  údist, mv_exc                 óÊ   — t          ¦   «         5 }|                     t          ¦  «         t          |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          |||¦  «         d S ©Né*   rƒ   )r   Úfilterré   r   rÂ   )r$   r4   rØ   Úsupr…   s        r&   Ú
test_basicz*TestTransformedDensityRejection.test_basic÷  s°   € õ Ñ Ô ð 	E Cà�JŠJ•~Ñ&Ô&Ð&Ý-¨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   r3   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©r0   r1   r2   r3   r(   r&   r4   re    ó   € € € € € ØˆDr(   r4   c                 ó   — dS r’   r3   r>   s    r&   r?   z>TestTransformedDensityRejection.test_bad_pdf.<locals>.<lambda>	  s   € ˜a€ r(   re   ©r'   r*   rj   r   r   ©r$   r'   rk   rl   r4   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>.distNrf  r3   r(   r&   r4   rn    rg  r(   r4   c                 ó   — | S r,   r3   r>   s    r&   r?   z?TestTransformedDensityRejection.test_bad_dpdf.<locals>.<lambda>  s   € ˜Q€ r(   re   ©ra   r<   rç   ri  )r$   r*   rk   rl   r4   s        r&   Útest_bad_dpdfz-TestTransformedDensityRejection.test_bad_dpdf  sÆ   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	à�;ˆŒØˆŒ	ÝŒ]˜3 cÐ*Ñ*Ô*ð 	>ð 	>Ý'¨°WÐ=Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s   ³AÁAÁArc   c                 óž   — t          j        ||¬¦  «        5  t          t          ¦   «         |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nre   rç   )rj   r   r   r   ©r$   rg   rk   rl   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)r2  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.re   ©rw  ©rj   r   r�   r   r   ©r$   rw  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.re   ry  )ra   ra   ra   ra   ra   ra   z:33 : starting points not strictly monotonically increasingra  éöÿÿÿr<   z!50 : starting point out of domain)éýÿÿÿr;   )rg   rw  )
rj   r   r�   r   r   rè   ré   r   rM   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.re   r‚  )r�  rz  )r$   r�  rl   s      r&   Ú
test_bad_cz*TestTransformedDensityRejection.test_bad_cI  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   ra   éè  r¹   rL  r]   r^   ©r,  r;   r²   rÊ   c                 ó  — t          t          ¦   «         d¬¦  «        }t          ¦   «         5 }|                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         |                     |¦  «        }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 greaterú*invalid value encountered in greater_equalú!invalid value encountered in lessú'invalid value encountered in less_equalrÛ   çñhãˆµøä>rÐ   )r   r   r   r]  ré   Úppf_hatr   r¿   rÃ   r   r¶   )r$   rÊ   r…   r^  ÚresÚexpecteds         r&   Útest_ppf_hatz,TestTransformedDensityRejection.test_ppf_hatS  s@  € õ *­.Ñ*:Ô*:Ø@FðHñ Hô Hˆõ Ñ Ô ð 	) CØ�JŠJ•~Ð'MÑNÔNÐNØ�JŠJ•~ð (7ñ 8ô 8ð 8à�JŠJ•~Ð'JÑKÔKÐKØ�JŠJ•~ð (4ñ 5ô 5ð 5à—+’+˜a‘.”.ˆCÝ”z—~’~ aÑ(Ô(ˆHð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ 	˜˜X¨D°tÐ<Ñ<Ô<Ð<ØŒy˜HœNÒ*Ð*Ð*Ð*Ð*Ð*s   ¬B!CÃCÃ C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>.distNrf  r3   r(   r&   r4   r•  i  s   € € € € € ØˆCr(   r4   z`pdf` required but not found.re   c                   ó   — e Zd Zd„ ZdS )r•  c                 ó   — d| | z  z
  S r’   r3   r>   s    r&   r?   zDTestTransformedDensityRejection.test_bad_dist.<locals>.dist.<lambda>r  s   € ˜A˜a ™c™E€ r(   N©r0   r1   r2   r'   r3   r(   r&   r4   z;TestTransformedDensityRejection.test_bad_dist.<locals>.distq  s   € € € € € Ø!�/ˆCˆCˆCr(   z`dpdf` required but not found.)rj   r   r�   r   )r$   r4   rl   s      r&   Útest_bad_distz-TestTransformedDensityRejection.test_bad_distg  s_  € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð /ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	.ð 	.Ý'¨Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð	"ð 	"ð 	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 0ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	.ð 	.Ý'¨Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.s#   «AÁAÁAÁ<BÂBÂ BN)#r0   r1   r2   r6  rC  rV  ÚdistsÚmv0Úmv1r   rI   Úmv2Úmv3Úmvsrj   r!  r"  Úzipr_  r   Úbad_pdfsÚbad_pdfs_commonrk  Úbad_dpdf_commonrq  Úinf_nan_domainsru  r|  r€  rM   r„  rÁ   rÊ   r’  r™  r3   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 ¨™_œ_ñ.ô .ð-ð -ñ.ô .ð-ð �˜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.ra   r   z$DAU only works with a finite domain.rÙ   r\  rƒ   )Úbasic_fail_distsrj   ÚskipÚ
isinstanceÚstrrh   r   rÅ   r   rÕ   rÇ   rÆ   r   rÈ   ©
r$   ÚdistnameÚparamsrl   r4   rg   ÚkrË   rØ   r…   s
             r&   r_  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,   rH   r>   s    r&   r?   zTestDiscreteAliasUrn.<lambda>œ  ó   € •2”6€ r(   r_   c                 ó   — t           j        S r,   rL   r>   s    r&   r?   zTestDiscreteAliasUrn.<lambda>Ÿ  rµ  r(   c                 ó   — dS )Nr\   r3   r>   s    r&   r?   zTestDiscreteAliasUrn.<lambda>¢  s   € �3€ r(   r`   c                 ó   — t           S r,   rC   r>   s    r&   r?   zTestDiscreteAliasUrn.<lambda>¥  s   € •3€ r(   rF   c                 ó   — g S r,   r3   r>   s    r&   r?   zTestDiscreteAliasUrn.<lambda>¨  s   € �2€ r(   z)setting an array element with a sequence.c                 ó   — |  S r,   r3   r>   s    r&   r?   zTestDiscreteAliasUrn.<lambda>«  s   € �A�2€ r(   z50 : probability < 0c                  ó   — dS rO   r3   r3   r(   r&   r?   zTestDiscreteAliasUrn.<lambda>®  s   € �€ r(   rQ   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>.distNrf  r3   r(   r&   r4   r¾  ´  rg  r(   r4   re   rp  rç   )rÆ   rj   r   r   )r$   rÆ   rk   rl   r4   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Ë   )r6   r5   r7   )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)Údtyperr   rƒ   r˜   r   )Úweightsrb   )
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 ©Nre   ©rj   r   r�   r   ©r$   rË   rl   s      r&   Útest_bad_pvz TestDiscreteAliasUrn.test_bad_pvÈ  s‰   € åŒ]�:¨SÐ1Ñ1Ô1ð 	!ð 	!Ý˜RÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ó   œ9¹=Á =r   rg   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 finitere   r<   r]   rç   )rj   r   r�   r   r   rÄ   ©r$   rg   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.re   rL  r2  )Ú
urn_factor)rj   rè   ré   r   r3  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,   r3   r#   s     r&   rÆ   z4TestDiscreteAliasUrn.test_bad_args.<locals>.dist.pmfà  s   € Ø�r(   N)r0   r1   r2   rÆ   r3   r(   r&   r4   rÞ  ß  s#   € € € € € ðð ð ð ð r(   r4   re   rÐ  )r$   rl   r4   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\  rƒ   )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)r0   r1   r2   r¬  rj   r!  r"  r   r_  r�   Ú	NameErrorr   Ú	TypeErrorÚbad_pmfr¿  rÌ  Úbad_pv_commonrÒ  r   rI   Ú
inf_domainr×  rÛ  rà  rä  r3   r(   r&   r¦  r¦  y  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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-d.e
j        e
j        gZ&d/d e
j        e
j        gZ'ej                             d0e&¦  «        d1„ ¦   «         Z(ej                             d2e'¦  «        d3„ ¦   «         Z)d4„ Z*d5„ Z+d6S )7ÚTestNumericalInversePolynomialc                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú$TestNumericalInversePolynomial.dist0c                 ó   — dd||z  z
  z  S r(  r3   r#   s     r&   r'   z(TestNumericalInversePolynomial.dist0.pdfñ  r*  r(   c                 ó$   — d||dz  dz  z
  dz   z  S r.  r3   r#   s     r&   r.   z(TestNumericalInversePolynomial.dist0.cdfô  r/  r(   c                 ó   — dS r1  r3   r3  s    r&   rÅ   z,TestNumericalInversePolynomial.dist0.support÷  r4  r(   N©r0   r1   r2   r'   r.   rÅ   r3   r(   r&   r6  rí  ð  sA   € € € € € ð	!ð 	!ð 	!ð	,ð 	,ð 	,ð	ð 	ð 	ð 	ð 	r(   r6  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:  rA  r#   s     r&   r.   z(TestNumericalInversePolynomial.dist1.cdfÿ  r=  r(   N)r0   r1   r2   r'   r.   r3   r(   r&   rC  ró  û  s2   € € € € € ð	,ð 	,ð 	,ð	,ð 	,ð 	,ð 	,ð 	,r(   rC  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çš™™™™™©?çÍÌÌÌÌÌÜ?ra   rb   ©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ù  ra   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 r1  r3   r3  s    r&   rÅ   z,TestNumericalInversePolynomial.dist2.support  r4  r(   Nrñ  r3   r(   r&   rV  r÷    sA   € € € € € ð	9ð 	9ð 	9ð	 ð 	 ð 	 ð
	ð 	ð 	ð 	ð 	r(   rV  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ú  ra   rb   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»   rL  g
×£p=
·?rb   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³   r3   r3  s    r&   rÅ   z,TestNumericalInversePolynomial.dist3.support   r4  r(   Nrñ  r3   r(   r&   Údist3r    sG   € € € € € ð	Að 	Að 	Að	Fð 	Fð 	Fð	ð 	ð 	ð 	ð 	r(   r  r\   rX  r?  gÍÌÌÌÌÌÜ¿çUUUUUUÕ?gìQ¸…ëÉ?rb   g«ªªªªª @rY  c                 óJ   — t          |d¬¦  «        }t          |||¦  «         d S r[  )r
   rÂ   ©r$   r4   rØ   r…   s       r&   r_  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          ¦   «         5 }|                     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ƒ   )rj   r­  r®  r¯  rh   r   r   r]  ré   r
   rÂ   rÓ   rÔ   )	r$   r±  r²  Úvery_slow_distsÚ
fail_distsÚskip_sample_moment_checkr4   r^  r…   s	            r&   Útest_basic_all_scipy_distsz9TestNumericalInversePolynomial.test_basic_all_scipy_dists2  s  € ð>ð >ð >ˆð-ð -ð -ˆ
ð %6Ð#6Ð à�Ð&Ð&ÝŒKÐ7¨XÐ7Ð7Ñ8Ô8Ð8Ø�zÐ!Ð!ÝŒKÐ4¨(Ð4Ð4Ñ5Ô5Ð5å˜h­Ñ,Ô,ð•�˜xÑ(Ô(Ð(àð 	ð ˆt�Vˆ}ˆÝÑ Ô ð 	D CØ�JŠJ•~Ñ&Ô&Ð&Ý,¨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   Â,B9Â9B=Ã B=rb  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>.distNrf  r3   r(   r&   r4   r'  V  rg  r(   r4   re   r   r³   rç   )r'   rj   r   r
   rj  s        r&   rk  z+TestNumericalInversePolynomial.test_bad_pdfT  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>.distNrf  r3   r(   r&   r4   r+  ^  rg  r(   r4   re   r   r³   rç   )Úlogpdfrj   r   r
   )r$   r,  rk   rl   r4   s        r&   Útest_bad_logpdfz.TestNumericalInversePolynomial.test_bad_logpdf\  sÁ   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	àˆŒÝŒ]˜3 cÐ*Ñ*Ô*ð 	<ð 	<Ý& t°Q¸°FÐ;Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<r(  rc   c                 óž   — t          j        ||¬¦  «        5  t          t          ¦   «         |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rs  )rj   r   r
   r   rt  s       r&   ru  z3TestNumericalInversePolynomial.test_inf_nan_domainsf  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rv  r   ra   é'  r¹   rL  rÎ   r]   r^   r‡  rÊ   c                 ó  — t          ¦   «         }t          |d¬¦  «        }t          ¦   «         5 }|                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         |                     |¦  «        }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�  g•dyáý¥=rÐ   )
r   r
   r   r]  ré   rÃ   r   r¿   r   r¶   ©r$   rÊ   r4   r…   r^  r�  r‘  s          r&   Útest_ppfz'TestNumericalInversePolynomial.test_ppfz  ó9  € åÑÔˆÝ(¨¸EÐBÑBÔBˆõ Ñ Ô ð 	) CØ�JŠJ•~Ð'MÑNÔNÐNØ�JŠJ•~ð (7ñ 8ô 8ð 8à�JŠJ•~Ð'JÑKÔKÐKØ�JŠJ•~ð (4ñ 5ô 5ð 5à—'’'˜!‘*”*ˆCÝ”z—~’~ aÑ(Ô(ˆHð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ 	˜˜X¨E¸Ð>Ñ>Ô>Ð>ØŒy˜HœNÒ*Ð*Ð*Ð*Ð*Ð*ó   ®B!CÃCÃ"Cr~  r<   r;   r²   r%   c                 ó  — t          ¦   «         }t          |d¬¦  «        }t          ¦   «         5 }|                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         |                     |¦  «        }t          j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||dd¬¦  «         |j	        |j	        k    sJ ‚d S r1  )
r   r
   r   r]  ré   r.   r   r¿   r   r¶   )r$   r%   r4   r…   r^  r�  r‘  s          r&   Útest_cdfz'TestNumericalInversePolynomial.test_cdf�  r7  r8  c                 ó  — t          ¦   «         }t          |d¬¦  «        }|                     ¦   «         \  }}|dk     sJ ‚||k    sJ ‚t          |d¬¦  «        }|                     ¦   «         \  }}|dk     sJ ‚||k    sJ ‚d S ©Ng»½×Ùß|Û=r3  r2  )r   r
   Úu_error)r$   r4   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\].re   ©rB  )r   rj   r   r�   r
   )r$   rB  r4   rl   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r4  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.re   r3  )rj   r   r�   r
   r   )r$   r4  rl   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,   rA  r#   s     r&   r.   zATestNumericalInversePolynomial.test_bad_args.<locals>.BadDist.cdfÃ  s   € Ý”z—’ qÑ)Ô)Ð)r(   N)r0   r1   r2   r.   r3   r(   r&   ÚBadDistrJ  Â  ó#   € € € € € ð*ð *ð *ð *ð *r(   rL  z9Either of the methods `pdf` or `logpdf` must be specifiedre   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˜  r3   r(   r&   r“   rO  Ñ  rM  r(   r“   z!Exact CDF required but not found.)rj   r   r�   r
   r   r=  )r$   rL  r4   rl   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>.MyDistNrf  r3   r(   r&   ÚMyDistrT  ß  rg  r(   rU  c                 ó8   — t          j        |  | z  dz  ¦  «        S ©Nrb   )Úmathr"   r>   s    r&   r?   zLTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.<lambda>ä  s   € ¥¤¨1¨"¨Q©$¨q©&Ñ!1Ô!1€ r(   c                 ó   — |  | z  dz  S rW  r3   r>   s    r&   r?   zLTestNumericalInversePolynomial.test_logpdf_pdf_consistency.<locals>.<lambda>é  s   € ¨ r¨!¡t¨A¡v€ r(   rŽ  gwJëÿï?rt   r¹   )r'   r
   r,  r   rÁ   r   rÃ   )r$   rU  Ú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),r0   r1   r2   r6  rC  rV  r  rš  r›  rœ  r   r!   r�  rž  rŸ  rj   r!  r"  r   r_  Úxslowr   r$  r¢  rk  Úbad_logpdfs_commonr-  r¤  ru  rÁ   rM   rI   rÊ   r6  r%   r:  Úslowr@  Ú
bad_ordersÚbad_u_resolutionrE  rG  rà  r]  r3   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à„[×Ò˜]Ø ˜S ¨™_œ_ñ.ô .ð-ð -ñ.ô .ð-ð „[ÔØ„[×ÒÐ/°Ñ:Ô:ð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            
       ój  — 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¦  «        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¦  «        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 ¦  «        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 )NrL  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   ra   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 r1  r3   r3  s    r&   rÅ   z)TestNumericalInverseHermite.dist0.supportÿ  r4  r(   Nr5  r3   r(   r&   r6  rf  õ  sS   € € € € € ð	1ð 	1ð 	1ð	,ð 	,ð 	,ð	Mð 	Mð 	Mð	ð 	ð 	ð 	ð 	r(   r6  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   rL  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\   rL  ©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   ç      Ð?ra   r   r\   rL  r)  ro  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)r2  rL  r3   r3  s    r&   rÅ   z)TestNumericalInverseHermite.dist1.support  s   € Ø�7r(   Nr5  r3   r(   r&   rC  rl    sS   € € € € € ð	>ð 	>ð 	>ð	@ð 	@ð 	@ð	>ð 	>ð 	>ð	ð 	ð 	ð 	ð 	r(   rC  r2  rb   r  ra   r²   g      Ð¿g      Ø?g      °?rY  rB  r;   r³   c                 óL   — t          ||d¬¦  «        }t          |||¦  «         d S )Nr\  )rB  rs   )r   rÂ   )r$   r4   rØ   rB  r…   s        r&   r_  z&TestNumericalInverseHermite.test_basic)  s0   € õ & d°%ÀbÐIÑIÔIˆÝ˜3  eÑ,Ô,Ð,Ð,Ð,r(   rc   c                 óž   — t          j        ||¬¦  «        5  t          t          ¦   «         |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rs  )rj   r   r   r   rt  s       r&   ru  z0TestNumericalInverseHermite.test_inf_nan_domains2  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rv  c           	      óì  — h d£}h d£}||v rt          j        d¦  «         ||v rt          j        d¦  «         t          j                             d¦  «          t          t          |¦  «        |Ž }t          |¦  «        }t          j         	                    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  )rj   r­  r	  r   rv   rw   rh   r   r   ÚrandÚmaxrN  rÃ   r.   )
r$   r±  ÚshapesÚ
slow_distsr"  r4   Úfnir%   Úp_tolÚu_tols
             r&   Úbasic_test_all_scipy_distsz6TestNumericalInverseHermite.basic_test_all_scipy_dists7  sD  € ØBÐBÐBˆ
ð@ð @ð @ˆ
ð �zÐ!Ð!ÝŒKÐ2Ñ3Ô3Ð3Ø�zÐ!Ð!õ ŒLÐDÑEÔEÐEå
Œ	�Š�qÑÔÐà'�w•u˜hÑ'Ô'¨Ð0ˆÝ% dÑ+Ô+ˆåŒI�NŠN˜2ÑÔˆÝ”•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_distsP  s    € ð 	×'Ò'¨°&Ñ9Ô9Ð9Ð9Ð9r(   c                 ó2   — |                       dd¦  «         d S )NÚ	truncnorm)rÎ   rb   rˆ  r3  s    r&   Útest_basic_truncnorm_gh17155z8TestNumericalInverseHermite.test_basic_truncnorm_gh17155X  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.re   rb   rD  z`cdf` required but not foundr¿   z!could not convert string to floatÚekkir3  )rj   r   r�   r   r   )r$   rf   s     r&   rø   z1TestNumericalInverseHermite.test_input_validation]  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±   rs   ©r±   )r   r   r   ru   r¶   r   r  r   r¿   rÃ   r   )
r$   r…   r  r  r4   rƒ  r|   ru   r  r~   s
             r&   Útest_RVSz$TestNumericalInverseHermite.test_RVSo  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 tailre   r~  r3  )rj   rè   ré   r   r   rx  )r$   r�  rf   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   rƒ   )r   r   r   r¿   r   ru   )r$   rC  Úfni1rV  Úfni2s        r&   Útest_custom_distributionz4TestNumericalInverseHermite.test_custom_distributionŽ  sd   € ÝÑ Ô ˆÝ& uÑ-Ô-ˆå”
‘”ˆÝ& uÑ-Ô-ˆå˜Ÿš¨a˜Ñ0Ô0°$·(²(È°(Ñ2JÔ2JÑKÔKÐKÐKÐKr(   r\   r   r/  r¹   rL  rÎ   r]   r^   r‡  rÊ   c                 ó  — t          ¦   «         }t          |d¬¦  «        }t          ¦   «         5 }|                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         |                     |¦  «        }t          j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||dd¬	¦  «         |j	        |j	        k    sJ ‚d S )
Nr  r3  rŠ  r‹  rŒ  r�  g•Ö&è.>gLÎaã§�ô=rÐ   )
r   r   r   r]  ré   rÃ   r   r¿   r   r¶   r5  s          r&   r6  z$TestNumericalInverseHermite.test_ppf¦  s9  € åÑÔˆÝ% d¸Ð?Ñ?Ô?ˆõ Ñ Ô ð 	) CØ�JŠJ•~Ð'MÑNÔNÐNØ�JŠJ•~ð (7ñ 8ô 8ð 8à�JŠJ•~Ð'JÑKÔKÐKØ�JŠJ•~ð (4ñ 5ô 5ð 5à—'’'˜!‘*”*ˆCÝ”z—~’~ aÑ(Ô(ˆHð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ 	˜˜X¨D°uÐ=Ñ=Ô=Ð=ØŒy˜HœNÒ*Ð*Ð*Ð*Ð*Ð*r8  c                 ó‚  — t          ¦   «         }t          |d¬¦  «        }|                     ¦   «         \  }}|dk     sJ ‚||k    sJ ‚t          ¦   «         5 }|                     t
          ¦  «         t          |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         \  }}|dk     sJ ‚||k    sJ ‚d S r<  )r   r   r=  r   r]  ré   )r$   r4   r…   r>  r?  r^  s         r&   r@  z(TestNumericalInverseHermite.test_u_error¸  s  € åÑÔˆÝ% d¸Ð?Ñ?Ô?ˆØŸš™œ‰ˆ	�3Ø˜5Ò Ð Ð Ð Ø�iÒÐÐÐÝÑ Ô ð 	D Cà�JŠJ•~Ñ&Ô&Ð&Ý)¨$¸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)+r0   r1   r2   r6  rC  rš  r   r!   r›  rœ  rŸ  rj   r!  r"  r   r_  r¤  ru  r†  Úfilterwarningsr^  r   r$  Ú	fail_slowr‹  rø   rv   rx   ÚrngsÚappendrÀ   r  r  r“  r•  r™  rÁ   rM   rI   rÊ   r6  r`  r@  r3   r(   r&   rd  rd  ð  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(   rd  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ã?r:   ©rs   Úguide_factor©r   rv   rÀ   rj   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£  r2  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.ra   r   z$DGT only works with a finite domain.rÙ   r\  rƒ   )r¬  rj   r­  r®  r¯  rh   r   rÅ   r   rÕ   rÇ   rÆ   r	   rÈ   r°  s
             r&   r_  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   ra   r/  r¹   rL  rÎ   r]   r^   r‡  rÊ   c                 ó@  — d\  }}t          j        ||¦  «        }t          |d¬¦  «        }t          ¦   «         5 }|                     t
          d¦  «         |                     t
          d¦  «         |                     t
          d¦  «         |                     t
          d¦  «         |                     |¦  «        }t           j                             |||¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |j        |j        ¦  «         t          ||¦  «         d S )N)r²   rÎ   r\  rƒ   rŠ  r‹  rŒ  r�  )	r   rÄ   r	   r   r]  ré   rÃ   r   r¶   )	r$   rÊ   ÚnÚpr4   r…   r^  r�  r‘  s	            r&   r6  zTestDiscreteGuideTable.test_ppf  sF  € à‰ˆˆ1ÝŒ{˜1˜aÑ Ô ˆÝ  °BÐ7Ñ7Ô7ˆõ Ñ Ô ð 		0 CØ�JŠJ•~Ð'MÑNÔNÐNØ�JŠJ•~ð (7ñ 8ô 8ð 8à�JŠJ•~Ð'JÑKÔKÐKØ�JŠJ•~ð (4ñ 5ô 5ð 5ð —'’'˜!‘*”*ˆCÝ”{—’ q¨!¨QÑ/Ô/ˆHð		0ð 		0ð 		0ñ 		0ô 		0ð 		0ð 		0ð 		0ð 		0ð 		0ð 		0øøøð 		0ð 		0ð 		0ð 		0õ 	�S”Y ¤Ñ/Ô/Ð/Ý�S˜(Ñ#Ô#Ð#Ð#Ð#s   ºB#C)Ã)C-Ã0C-rÍ  c                 óŒ   — t          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rÏ  )rj   r   r�   r	   rÑ  s      r&   rÒ  z"TestDiscreteGuideTable.test_bad_pv!  s‰   € åŒ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#Ý˜rÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#rÓ  rg   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Õ  )rj   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)r0   r1   r2   r¬  r¨  r¬  r®  rj   r!  r"  r   r_  r   rÁ   rM   rI   rÊ   r6  rè  rÒ  ré  r×  r3   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                   ó*  — 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	¦  «        ¦  «        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,   )rH  r8   rI  s     r&   rŽ   z%TestSimpleRatioUniforms.dist.__init__6  s   € ØˆDŒJØˆDŒIˆIˆIr(   c                 óP   — || j         z  }dt          |¦  «        dz   z  }d|z  |z  S rK  rM  rO  s      r&   r'   z TestSimpleRatioUniforms.dist.pdf:  rQ  r(   c                 óH   — || j         z  }|dk    rdd|z
  z  S ddd|z   z  z
  S rT  rG  r#   s     r&   r.   z TestSimpleRatioUniforms.dist.cdf?  rU  r(   N)r0   r1   r2   rŽ   r'   r.   r3   r(   r&   r4   r¸  5  sA   € € € € € ð	ð 	ð 	ð	ð 	ð 	ð
	+ð 	+ð 	+ð 	+ð 	+r(   r4   r\   rW  rY  c                 óØ   — t          ||j        d¬¦  «        }t          |||¦  «         t          ||j        |                     |j        ¦  «        d¬¦  «        }t          |||¦  «         d S )Nr\  )r8   rs   )r8   Úcdf_at_moders   )r   r8   rÂ   r.   r
  s       r&   r_  z"TestSimpleRatioUniforms.test_basicM  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(   rc   c                 óž   — t          j        ||¬¦  «        5  t          t          ¦   «         |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rs  )rj   r   r   r   rt  s       r&   ru  z,TestSimpleRatioUniforms.test_inf_nan_domainsY  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rv  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 > 0re   r   r2  )r8   Úpdf_area)rj   r   r�   r   r   r3  s    r&   rà  z%TestSimpleRatioUniforms.test_bad_args^  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)r0   r1   r2   r4   rš  r   rI   rœ  r�  rŸ  rj   r!  r"  r   r_  r¤  ru  rà  r3   r(   r&   r¶  r¶  1  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 )Nrb   r   i90  ©ÚumaxÚvminÚvmaxrs   iÄ	  r¿   ra   rq  Tc                 ó,   — t          j        |  ¦  «        S r,   rQ  r>   s    r&   r?   z6TestRatioUniforms.test_rv_generation.<locals>.<lambda>o  s   € ¥b¤f¨a¨R¡j¤j€ r(   r2  r†  Úexpon)
r   r¿   r'   r   r    r   r   Úkstestru   r"   )r$   ÚfÚvrÊ   r÷   s        r&   Útest_rv_generationz$TestRatioUniforms.test_rv_generatione  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 )Nrb   r   éÒ  rÄ  r;   rý   )r;   ra   r–   )r;   r;   r;   r’  é   ra   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_shapes  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 )Nrb   r   rÏ  rÄ  r<   )rÅ  rÆ  rÇ  )
r   r¿   r'   r   r    r   ru   rv   rw   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‰\Œ\ˆÝ
Œ	�Š�tÑÔÐÝ˜Q T°°¸Ð;Ñ;Ô;ˆØ�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 vmaxre   ra   r;   )r'   rÅ  rÆ  rÇ  zumax must be positiver2  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)r0   r1   r2   rÍ  râ  r�   ræ  r3   r(   r&   rÂ  rÂ  d  sS   € € € € € ðKð Kð Kðð ð ð8	ð 	ð 	ð9ð 9ð 9ð 9ð 9r(   rÂ  )rÍ   rÎ   )rÛ   rÎ   )Lr¤   r¬   rj   Úcopyr   r  r  rX  Únumpyr   Únumpy.testingr   r   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£  r_  rM   rI   rè  r�   Úbad_sized_domainsÚbad_domainsr¤  Únan_domainsr!  r"  rp   r�   r†   rª   r°   r·   rÌ   rÂ   rÈ   rê   rì   rî   r$  r¦  rë  rd  r¡  r¶  rÂ  r3   r(   r&   ú<module>r÷     sä  ðØ Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø €€€Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ø JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ Jð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð +Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 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ðX9ð X9ð X9ð X9ð X9ñ X9ô X9ñCô CðX9ðv{.ð {.ð {.ð {.ð {.ñ {.ô {.ð {.ð|r'ð r'ð r'ð r'ð r'ñ r'ô r'ð r'ðj2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ðDU ð U ð U ð U ð U ñ U ô U ð U ðpfDð fDð fDð fDð fDñ fDô fDð fDðR0Gð 0Gð 0Gð 0Gð 0Gñ 0Gô 0Gð 0GðfA9ð A9ð A9ð A9ð A9ñ A9ô A9ð A9ð A9ð A9r(   