§
    fŠtjˆi  ã                   ój  — d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZ d dlZd dlmZmZmZ d dlmZ d dlmZ d dlm Z  e j!         "                    dg d	¢¦  «        d
„ ¦   «         Z#e j!         "                    dddg¦  «        d„ ¦   «         Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,e j!         "                    d ej-        e.e/fgdz  Ž ¦  «        d„ ¦   «         Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5d„ Z6d„ Z7e j!         "                    d g d!¢¦  «        d"„ ¦   «         Z8d#„ Z9d$„ Z:d%„ Z;d&„ Z<d'„ Z= G d(„ d)¦  «        Z> G d*„ d+¦  «        Z?e j!         "                    d,g d-¢g d.¢g¦  «        d/„ ¦   «         Z@d0„ ZA G d1„ d2¦  «        ZB G d3„ d4¦  «        ZCd5„ ZD G d6„ d7¦  «        ZE G d8„ d9¦  «        ZFdS ):é    N)Ústats)Ú	betabinomÚ
betanbinomÚ	hypergeomÚ
nhypergeomÚ	bernoulliÚ	boltzmannÚskellamÚzipfÚzipfianÚbinomÚnbinomÚnchypergeom_fisherÚnchypergeom_walleniusÚrandintÚpoisson_binom)Úassert_almost_equalÚassert_equalÚassert_allclose)r   )Úroot_scalar)Úquadzk, M, n, N, expected, rtol))é   é
   é   é   gÏó<Ïó<ï?çVçž¯Ò<)ék   é'  é¸  é×   gŒâÙÿÿÿï?r   )r   r   r   r    gŸåèS©;ç»½×Ùß|Ë=c                 óX   — t          j        | |||¦  «        }t          |||¬¦  «         d S ©N©Úrtol)r   Úcdfr   ©ÚkÚMÚnÚNÚexpectedr%   Úps          úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/stats/tests/test_discrete_distns.pyÚtest_hypergeom_cdfr/      s4   € õ 	Œ�a˜˜A˜qÑ!Ô!€AÝ�A�x dÐ+Ñ+Ô+Ð+Ð+Ð+ó    )é   r   r   r    gäûòÿÿÿï?r   )é}   r   r   r    g«™Çö!˜:<r!   c                 óX   — t          j        | |||¦  «        }t          |||¬¦  «         d S r#   )r   Úsfr   r'   s          r.   Útest_hypergeom_sfr5   $   s4   € õ 	Œ�Q˜˜1˜aÑ Ô €AÝ�A�x dÐ+Ñ+Ô+Ð+Ð+Ð+r0   c                  óä  — d} d}d}d}t          j        | |||¦  «        }t          j        || z
  |||z
  |¦  «        }t          j        || z
  ||||z
  ¦  «        }t          j        | |||¦  «        }t          ||d¬¦  «         t          ||d¬¦  «         t          ||d¬¦  «         d} d}d}d}t          j        | |||¦  «        }t          j        | ||z  ¦  «        }	t          ||	d¬¦  «         d S )Nr   é2   r   é   )Údecimalé   é   )r   Úlogpmfr   r   )
r(   r+   ÚKr*   Úlogpmf1Úlogpmf2Úlogpmf3Úlogpmf4Úhypergeom_logpmfÚbernoulli_logpmfs
             r.   Útest_hypergeom_logpmfrD   .   s   € ð 	
€AØ
€AØ
€AØ	€AÝÔ˜q ! Q¨Ñ*Ô*€GÝÔ˜q 1™u a¨¨Q©°Ñ2Ô2€GÝÔ˜q 1™u a¨¨A°©EÑ2Ô2€GÝÔ˜q ! Q¨Ñ*Ô*€GÝ˜ °"Ð5Ñ5Ô5Ð5Ý˜ °"Ð5Ñ5Ô5Ð5Ý˜ °"Ð5Ñ5Ô5Ð5ð 	
€AØ
€AØ	€AØ	€AÝ Ô'¨¨1¨a°Ñ3Ô3ÐÝ Ô'¨¨1¨Q©3Ñ/Ô/ÐÝÐ(Ð*:ÀBÐGÑGÔGÐGÐGÐGr0   c                  óÒ   — d\  } }}d}t          j        || ||¦  «        }t          j        || |||z   dz
  ¦  «        | |z
  |dz
  z
  z  | ||z   dz
  z
  z  }t          ||d¬¦  «         d S )N)é-   é   é   é   r:   ç»½×Ùß|Û=r$   )r   Úpmfr   r   )r)   r*   Úrr(   ÚNHGÚHGs         r.   Útest_nhypergeom_pmfrO   H   s�   € à�G€A€qˆ!Ø	€AÝ
Œ.˜˜A˜q !Ñ
$Ô
$€CÝ	Œ�q˜!˜Q  !¡ A¡Ñ	&Ô	&¨!¨a©%°1°Q±3©-Ñ	8¸AÀÀ1ÁÀQÁ¹KÑ	H€BÝ�B˜ %Ð(Ñ(Ô(Ð(Ð(Ð(r0   c                  óì   — d} d}d}t          j        |dz   ¦  «        }t          j        || ||¦  «        }t          j        || ||¦  «        }t          |g d¢d¬¦  «         t          |g d¢d¬¦  «         d S )	NrH   r   r   r:   )ç’$I’$I²?gÛ¶mÛ¶mË?ç·mÛ¶mÛÖ?rR   ç‚vIhÂ%<=r$   )rQ   ç’$I’$IÒ?g%I’$I’ä?ç      ð?)ÚnpÚaranger   rK   r&   r   )r)   r*   rL   ÚsupportrK   r&   s         r.   Útest_nhypergeom_pmfcdfrY   Q   sŠ   € à	€AØ	€AØ	€AÝŒi˜˜!™‰nŒn€GÝ
Œ.˜ ! Q¨Ñ
*Ô
*€CÝ
Œ.˜ ! Q¨Ñ
*Ô
*€CÝ�CÐ1Ð1Ð1¸Ð>Ñ>Ô>Ð>Ý�CÐ0Ð0Ð0°uÐ=Ñ=Ô=Ð=Ð=Ð=r0   c                  ó|   — d} d}d}t          j        g d¢g d¢g| ||¦  «        }t          |g d¢g d¢gd¬	¦  «         d S )
Nr   r   r   )r   r:   é   r   )r:   r[   r   r   )r:   r   r   r:   )r   r   r:   r   rS   r$   )r   rK   r   )r)   r*   rL   rK   s       r.   Útest_nhypergeom_r0r\   ]   s[   € à
€AØ	€AØ	€AÝ
Œ.˜,˜,˜,¨¨¨Ð5°q¸!¸QÑ
?Ô
?€CÝ�C˜,˜,˜,¨¨¨Ð5¸EÐBÑBÔBÐBÐBÐBr0   c                  ó\   — t          j        dg d¢dgdggd¬¦  «        } | j        dk    sJ ‚d S )Né   )r;   rH   é	   r8   rG   ©r   r:   r[   r   ©Úsize)r   ÚrvsÚshape)Úxs    r.   Útest_nhypergeom_rvs_shaperf   f   sA   € õ 	Œ�r˜9˜9˜9¨ t¨b¨T l¸ÐFÑFÔF€AØŒ7�lÒ"Ð"Ð"Ð"Ð"Ð"r0   c                  ó.  — t           j                             d¦  «        } t          j        dddd| ¬¦  «        }t           j                             d¦  «        } |                      d¬¦  «        }t          j        |ddd¦  «        }t          ||¦  «         d S )Nr   r^   r;   é   éd   ©rb   Úrandom_statera   )rV   ÚrandomÚRandomStater   rc   ÚuniformÚppfr   )Úrngre   r-   Úys       r.   Útest_nhypergeom_accuracyrr   n   s†   € õ Œ)×
Ò
 Ñ
"Ô
"€CÝŒ�r˜1˜b s¸Ð=Ñ=Ô=€AÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ�Š˜ˆÑÔ€AÝŒ�q˜"˜a Ñ$Ô$€AÝ��AÑÔÐÐÐr0   c                  óh  — t          j        dd¦  «        } d}t          j        | d|¦  «        }| dk    }t	          ||¦  «         t          j        d¦  «        }d}t          j        | ||¦  «        }g d¢}t          ||d	¬
¦  «         t          j        | ||¦  «        }g d¢}t          ||d	¬
¦  «         d S )Néýÿÿÿr   r:   g°rh‘í|¿?r   r[   r   )r   r   r   ç’$I’$Iâ?rT   g’$I’$IÂ?r   r   rS   r$   )r   r   r   ru   gÛ¶mÛ¶më?r:   r:   r:   )rV   rW   r	   rK   r   Úlogr   r&   )r(   r+   r-   r,   ÚlamÚcs         r.   Útest_boltzmann_upper_boundry   y   sÂ   € Ý
Œ	�"�aÑÔ€Aà	€AÝŒ�a˜ Ñ"Ô"€AØ�AŠv€HÝ��HÑÔÐå
Œ&�‰)Œ)€CØ	€AÝŒ�a˜˜aÑ Ô €AØ-Ð-Ð-€HÝ�A�x eÐ,Ñ,Ô,Ð,åŒ�a˜˜aÑ Ô €AØ+Ð+Ð+€HÝ�A�x eÐ,Ñ,Ô,Ð,Ð,Ð,r0   c                  óÜ   — d} t          j        | dz   ¦  «        }t          | dd¦  «                             |¦  «        }t          j        d| dz   z  | dz   ¦  «        }t          ||¦  «         d S )Né   r:   )rV   rW   r   rK   Úrepeatr   )r*   r(   r-   r,   s       r.   Útest_betabinom_a_and_b_unityr}   Œ   sn   € ð 	€AÝ
Œ	�!�a‘%ÑÔ€AÝ�!�Q˜ÑÔ×Ò˜qÑ!Ô!€AÝŒy˜˜a !™e™ a¨!¡eÑ,Ô,€HÝ˜˜8Ñ$Ô$Ð$Ð$Ð$r0   Údtypesr   c                 ó    — | \  }}} |d¦  «         |d¦  «         |d¦  «        }}}t          t          j        |||d¬¦  «        d¦  «         d S )Nr   r[   r   r(   ©Úmomentsgˆa†aæ¿)r   r   r   )r~   Ún_typeÚa_typeÚb_typer*   ÚaÚbs          r.   Ú-test_betabinom_stats_a_and_b_integers_gh18026r‡   –   s_   € ð $Ñ€FˆF�FØˆf�R‰jŒj˜&˜& ™)œ) V V¨A¡Y¤Yˆ!€q€AÝ•I”O A q¨!°SÐ9Ñ9Ô9Ð;NÑOÔOÐOÐOÐOr0   c                  óî   — d} d}t          j        d¦  «        }t          d| |¦  «                             |¦  «        }t	          | | |z   z  ¦  «                             |¦  «        }t          ||¦  «         d S )Ngffffff@g)\�Âõ(ä?r[   r:   )rV   rW   r   rK   r   r   )r…   r†   r(   r-   r,   s        r.   Útest_betabinom_bernoullir‰   Ÿ   sq   € à€AØ€AÝ
Œ	�!‰Œ€AÝ�!�Q˜ÑÔ×Ò˜qÑ!Ô!€AÝ˜˜a !™e™Ñ%Ô%×)Ò)¨!Ñ,Ô,€HÝ˜˜8Ñ$Ô$Ð$Ð$Ð$r0   c                  ó\   — d\  } }}t          t          j        | ||¬¦  «        d¦  «         d S )N)gÍÌÌÌÌÌì?r   r:   ©Ú
confidencer*   r-   ©r   r   )r   r   Úinterval©Úalphar*   r-   s      r.   Útest_issue_10317r‘   ©   s4   € Ø�K€Eˆ1ˆaÝ•”¨E°Q¸!Ð<Ñ<Ô<¸fÑEÔEÐEÐEÐEr0   c                  ó\   — d\  } }}t          t          j        | ||¬¦  «        d¦  «         d S )N)gffffffî?r   r   r‹   r�   )r   r   rŽ   r�   s      r.   Útest_issue_11134r“   ®   s4   € Ø�K€Eˆ1ˆaÝ•”¨5°A¸Ð;Ñ;Ô;¸VÑDÔDÐDÐDÐDr0   c                  óB  — t           j                             d¦  «        } t          t	          j        |                      d¦  «        dd¦  «        d¦  «         t          t	          j        ddd¦  «        d¦  «         t          t	          j        ddd¦  «        d¦  «         d S )Nl   <UÎ7 r   r   ç      à?éÿÿÿÿr:   )rV   rl   Údefault_rngr   r   ro   )rp   s    r.   Útest_issue_7406r˜   ³   sƒ   € Ý
Œ)×
Ò
 
Ñ
+Ô
+€CÝ•”˜3Ÿ:š: b™>œ>¨1¨cÑ2Ô2°AÑ6Ô6Ð6õ •”˜1˜a Ñ%Ô% rÑ*Ô*Ð*Ý•”˜1˜a Ñ%Ô% qÑ)Ô)Ð)Ð)Ð)r0   c                  óŽ  — t           j                             d¦  «        } d}|                      dd¬¦  «        }d}t	          j        |||¦  «        }t          |d¦  «         t          j        ddd¦  «        }t	          j        |||¦  «        }t          |d¦  «         d	}t	          j        |||¦  «        }t          ||¦  «         d S )
Nl   Uí^ r   ri   r   ra   r–   ç{®Gáz„?ç®Gáz®ï?r:   )rV   rl   r—   Úintegersr   ro   r   Úlinspace)rp   r-   r*   re   ro   s        r.   Útest_issue_5122rž   ¼   s½   € Ý
Œ)×
Ò
 
Ñ
+Ô
+€CØ	€AØ�Š�S˜rˆÑ"Ô"€Aà	€AÝ
Œ)�A�q˜!Ñ
Ô
€CÝ��bÑÔÐå
Œ�D˜$ Ñ#Ô#€AÝ
Œ)�A�q˜!Ñ
Ô
€CÝ��aÑÔÐà	€AÝ
Œ)�A�q˜!Ñ
Ô
€CÝ��aÑÔÐÐÐr0   c            	      óŽ   — t          t          dt          j        dd¦  «        ¦  «                             d¦  «        d¦  «         d S )Néè  rt   iœÿÿÿrš   r   )r   r   rV   Úlogspacero   © r0   r.   Útest_issue_1603r£   Î   s<   € Ý•�t�Rœ[¨¨TÑ2Ô2Ñ3Ô3×7Ò7¸Ñ=Ô=¸qÑAÔAÐAÐAÐAr0   c                  óˆ   — d} t          j        ddd¦  «        }t          t          j        |d|z  | ¦  «        dd¬¦  «         d S )Nr•   r   é   r8   r[   rš   )Úatol)rV   r¡   r   r   r&   )r-   re   s     r.   Útest_issue_5503r§   Ò   sG   € Ø€AÝ
Œ�A�r˜2ÑÔ€AÝ•E”I˜a  1¡ aÑ(Ô(¨#°DÐ9Ñ9Ô9Ð9Ð9Ð9r0   zx, n, p, cdf_desired))i,  r    ç333333Ó?g’24û½à?)r   r   r¨   gUž…7i(à?)i0u  é † r¨   gÎ­Ì‘Çà?)ià“ i@B r¨   g8@¨�
à?)iÀÆ- é€–˜ r¨   gfø‡(Gà?)i€ÃÉé áõr¨   gÓwàtg à?)i�êÉr«   r¨   g¥Vç}Öˆï?)ipœÉr«   r¨   g¢°�ÿzÌ�?)i0 Ér«   r¨   g¡éÉnåC:)i £ái Êš;r¨   gã@·  à?)l    ^ e l    d(	 r¨   gMÙ|X
 à?c                 óN   — t          t          j        | ||¦  «        |¦  «         d S ©N©r   r   r&   )re   r*   r-   Úcdf_desireds       r.   Útest_issue_5503pt2r°   Ø   s(   € õ •E”I˜a  AÑ&Ô&¨Ñ4Ô4Ð4Ð4Ð4r0   c                  óN   — t          t          j        ddd¦  «        d¦  «         d S )Nr[   l    J)£gê-�™—q=gB.¸Ã+ní?r®   r¢   r0   r.   Útest_issue_5503pt3r²   é   s'   € å•E”I˜a ¨Ñ1Ô1Ð3IÑJÔJÐJÐJÐJr0   c                  óN   — t          t          j        ddd¦  «        d¦  «         d S )Néú   r7   gAAà?g_[CË®i³8)r   r   r4   r¢   r0   r.   Útest_issue_6682rµ   î   s)   € õ •F”I˜c 2 wÑ/Ô/Ð1FÑGÔGÐGÐGÐGr0   c                  óv   — t          j        g d¢dd¦  «        } dt          j         dg}t	          | |¦  «         d S )N)r   r–   r:   r   r•   g¬¥ÂÐÑGÞ¿g1DÊ&+´À)r   ÚlogcdfrV   Úinfr   )ÚresultÚ	references     r.   Útest_issue_19747r»   õ   s?   € åŒ]˜:˜:˜: q¨#Ñ.Ô.€FØ�rœv˜g {Ð3€IÝ�F˜IÑ&Ô&Ð&Ð&Ð&r0   c                  óZ   — d} d}d}t          t          j        || |¦  «        d¦  «         d S )Nr    rš   iä  ç        )r   r   rK   )r*   r-   r(   s      r.   Ú%test_boost_divide_by_zero_issue_15101r¾   ü   s5   € Ø€AØ€AØ€AÝ•E”I˜a  AÑ&Ô&¨Ñ,Ô,Ð,Ð,Ð,r0   c                  ób   — g d¢} t          j        d| | ¦  «        }g d¢}t          ||¦  «         d S )N)	r:   r   ri   r    éˆ  iº  iì  i‚  ip  r   )	gâ–>l¦ïä?g‹ëõz½oá?gVr�Ržsà?g°�ˆŠ$à?gVWêCWà?g4y�Bà?g4ö€.à?g.ÚLròà?gDáøÅêà?)r
   r&   r   )Úmur&   Úcdf_expecteds      r.   Útest_skellam_gh11474rÃ     sL   € à	9Ð	9Ð	9€BÝ
Œ+�a˜˜RÑ
 Ô
 €CðPð Pð P€Lõ �C˜Ñ&Ô&Ð&Ð&Ð&r0   c                   ó  — e Zd Zd„ Zd„ Zd„ Zej                             d¦  «        Z	 ej
         ej        ddd¦  «        e	                     dd	d¦  «        f¦  «        j        Zej                             d
e¦  «        d„ ¦   «         Zd„ Zej                             dddg¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd„ ZdS )ÚTestZipfianc                 óô  — d}d}t          j        dd¦  «        }t          t          j        |||¦  «        t          j        ||¦  «        ¦  «         t          t          j        |||¦  «        t          j        ||¦  «        ¦  «         t          t          j        |||¦  «        t          j        ||¦  «        ¦  «         t          t          j        ||d¬¦  «        t          j        |d¬¦  «        ¦  «         d S )Ng      @rª   r:   é   Úmsvkr€   )	rV   rW   r   r   rK   r   r&   r4   r   )Úselfr…   r+   r(   s       r.   Útest_zipfian_asymptoticz#TestZipfian.test_zipfian_asymptotic  sÖ   € àˆØˆÝŒI�a˜ÑÔˆÝ�œ A q¨!Ñ,Ô,­d¬h°q¸!©n¬nÑ=Ô=Ð=Ý�œ A q¨!Ñ,Ô,­d¬h°q¸!©n¬nÑ=Ô=Ð=Ý�œ
 1 a¨Ñ+Ô+­T¬W°Q¸©]¬]Ñ;Ô;Ð;Ý�œ a¨°FÐ;Ñ;Ô;Ýœ
 1¨fÐ5Ñ5Ô5ñ	7ô 	7ð 	7ð 	7ð 	7r0   c                 ó  — d\  }}d}t          j        d|dz   ¦  «        }t          t          j        |||¦  «        t          j        |||¦  «        d¬¦  «         t          t          j        |||¦  «        t          j        |||¦  «        d¬¦  «         t          t          j        |||¦  «        t          j        |||¦  «        d¬¦  «         t          t          j        ||d¬¦  «        t          j        ||d¬¦  «        d¬¦  «         d S )N)gGœ¡úÿÿï?gÜ1¯  ð?é   r:   g�íµ ÷Æ >r$   rÈ   r€   )rV   rW   r   r   rK   r&   r4   r   )rÉ   Úalt1Úagt1r+   r(   s        r.   Útest_zipfian_continuityz#TestZipfian.test_zipfian_continuity  s%  € ð ,‰
ˆˆdØˆÝŒI�a˜˜Q™ÑÔˆÝ�œ A t¨QÑ/Ô/µ´¸QÀÀaÑ1HÔ1HØ!ð	#ñ 	#ô 	#ð 	#å�œ A t¨QÑ/Ô/µ´¸QÀÀaÑ1HÔ1HØ!ð	#ñ 	#ô 	#ð 	#å�œ
 1 d¨AÑ.Ô.µ´
¸1¸dÀAÑ0FÔ0FØ!ð	#ñ 	#ô 	#ð 	#å�œ d¨A°vÐ>Ñ>Ô>Ýœ d¨A°vÐ>Ñ>Ô>ÀTð	Kñ 	Kô 	Kð 	Kð 	Kð 	Kr0   c                 óÂ  — t           j                             d¦  «        }|                     ddd¬¦  «        }|                     d¦  «        dz  dz   }|                     ddd¬¦  «        }g d¢}g d¢}t          t          j        |||¦  «        dd …         |dd …         d	¬
¦  «         t          t          j        |||¦  «        dd …         |dd …         d¬
¦  «         d S )Nr   r:   r{   r   ra   ri   )
g÷Ä¹Ô¨Š€?gØ¡–Ÿkïþ>ç	]x�[ï?gÿÇ™ûÊ>g	¤W¿³4?gÂ€
-ä?g˜$fhnåý=g9´’±[.Ä>g±`ý€Ö”Ø>gn²màì ?)
gÉaæñj¯ì?gZ›k=èþï?rÑ   gõ…�óþÿï?g90×þï?gÉ¸˜UŽÿï?rU   gJ_9ïÿï?g2h2-ûÿï?gB0ýÅþï?ç�íµ ÷Æ°>r$   g-Cëâ6
?)	rV   rl   rm   r   Úrandr   r   rK   r&   )rÉ   rp   r(   r…   r*   rK   r&   s          r.   Útest_zipfian_RzTestZipfian.test_zipfian_R-  sô   € õ Œi×#Ò# AÑ&Ô&ˆØ�KŠK˜˜2 BˆKÑ'Ô'ˆØ�HŠH�R‰LŒL˜‰O˜aÑˆØ�KŠK˜˜3 RˆKÑ(Ô(ˆð+ð +ð +ˆðFð Fð Fˆõ 	�œ A q¨!Ñ,Ô,¨Q¨R¨RÔ0°#°a°b°b´'ÀÐEÑEÔEÐEÝ�œ A q¨!Ñ,Ô,¨Q¨R¨RÔ0°#°a°b°b´'ÀÐEÑEÔEÐEÐEÐEr0   r   éþÿÿÿr:   r   r[   é(   za, nc                 ó¢  ‡— t           j        d„ ¦   «         Št           j        ˆfd„¦   «         }t          j        |dz   ¦  «        } ||||¦  «        }t          j        |¦  «        }t          j        ||¬¦  «        }t          j        ||z
  dz  |¬¦  «        }|dz  }	t          j        ||z
  |	z  dz  |¬¦  «        }
t          j        ||z
  |	z  dz  |¬¦  «        dz
  }t          t          j        |||¦  «        |¦  «         t          t          j        |||¦  «        |¦  «         t          t          j	        ||d	¬
¦  «        |||
|g¦  «         d S )Nc                 ób   — dt          j        d| dz   ¦  «        |z  z                       ¦   «         S )z$Naive implementation of harmonic sumr:   )rV   rW   Úsum)r*   Úss     r.   ÚHnsz+TestZipfian.test_zipfian_naive.<locals>.HnsM  s0   € ð •b”i  1 Q¡3Ñ'Ô'¨Ñ*Ñ*×/Ò/Ñ1Ô1Ð1r0   c                 óJ   •— | dk     s| |k    rdS d| |z  z   ‰||¦  «        z  S )z#Naive implementation of zipfian pmfr:   r½   r¢   )r(   r…   r*   rÛ   s      €r.   Úpzipz,TestZipfian.test_zipfian_naive.<locals>.pzipR  s8   ø€ ð �1Šuˆu˜˜Aš˜Ø�rà˜1˜a™4‘x # # a¨¡)¤)Ñ+Ð+r0   r:   )Úweightsr[   r•   r   r   Úmvskr€   )
rV   Ú	vectorizerW   ÚcumsumÚaverager   r   rK   r&   r   )rÉ   r…   r*   rÝ   r(   rK   r&   ÚmeanÚvarÚstdÚskewÚkurtosisrÛ   s               @r.   Útest_zipfian_naivezTestZipfian.test_zipfian_naiveI  so  ø€ õ 
Œð	2ð 	2ñ 
Œð	2õ 
Œð	,ð 	,ð 	,ð 	,ñ 
Œð	,õ ŒI�a˜‘c‰NŒNˆØˆd�1�a˜‰mŒmˆÝŒi˜‰nŒnˆÝŒz˜! SÐ)Ñ)Ô)ˆÝŒj˜!˜d™( Q™°Ð4Ñ4Ô4ˆØ�3‰hˆÝŒz˜A˜d™F C™<¨!Ñ+°SÐ9Ñ9Ô9ˆÝ”:  $¡¨™|¨aÑ/¸Ð=Ñ=Ô=ÀÑAˆÝ�œ A q¨!Ñ,Ô,¨cÑ2Ô2Ð2Ý�œ A q¨!Ñ,Ô,¨cÑ2Ô2Ð2Ý�œ a¨°FÐ;Ñ;Ô;Ø˜s D¨(Ð3ñ	5ô 	5ð 	5ð 	5ð 	5r0   c                 ó  — t          j        dd¦  «        }|                     t           j        ¦  «        }t	          dd¦  «        }|                     |¦  «        }|                     |¦  «        }t          ||¦  «         d S )Nr   r    éo   r^   )rV   rW   ÚastypeÚint32r   rK   r   ©rÉ   r(   Úk_int32ÚdistrK   Úpmf_k_int32s         r.   Útest_pmf_integer_kzTestZipfian.test_pmf_integer_kg  sk   € ÝŒI�a˜ÑÔˆØ—(’(�2œ8Ñ$Ô$ˆÝ�s˜BÑÔˆØ�hŠh�q‰kŒkˆØ—h’h˜wÑ'Ô'ˆÝ�S˜+Ñ&Ô&Ð&Ð&Ð&r0   zk, a, n, ref)r   g˜    ð?r   gdA_"½?)iã  ç0¸D   ð?r    gáÔ:"™!?c                 óT   — t          j        |||¦  «        }t          ||d¦  «         d S )NgVçž¯Â<)r   rK   r   )rÉ   r(   r…   r*   Úrefr-   s         r.   Útest_pmf_against_mpmathz#TestZipfian.test_pmf_against_mpmathp  s/   € õ ŒK˜˜1˜aÑ Ô ˆÝ˜˜3 Ñ&Ô&Ð&Ð&Ð&r0   ))i~  g      ô?rÀ   g½Ø_øM?)i'  ç      @r   gç.aý=)iPÃ  rö   r©   g?Ó�qÉdb=)r   ç      @ri   gíî ³�¹>)é_   r÷   ri   gú{cì‚˜=c                 óV   — t          j        |||¦  «        }t          ||d¬¦  «         d S ©NgVçž¯=r$   )r   r4   r   )rÉ   r(   r…   r*   rô   r4   s         r.   Útest_sf_against_mpmathz"TestZipfian.test_sf_against_mpmathz  s2   € õ ŒZ˜˜1˜aÑ Ô ˆÝ˜˜C eÐ,Ñ,Ô,Ð,Ð,Ð,r0   z	a, n, ref))rò   ri   g�ªègG3@)g›ò×  ð?r©   gI„äã˜'À@)gj¼t“ð?r   gÒÞÍû%-ú?c                 óT   — t          j        ||¦  «        }t          ||d¬¦  «         d S rú   )r   rã   r   )rÉ   r…   r*   rô   Úms        r.   Útest_mean_against_mpmathz$TestZipfian.test_mean_against_mpmath‡  s0   € õ ŒL˜˜AÑÔˆÝ˜˜3 UÐ+Ñ+Ô+Ð+Ð+Ð+r0   c                 ón   — d}d}t          j        d||¦  «        }t          |t          j        ¦  «         d S )Ng      @g}Ã”%­I²Tr   )r   rK   r   rV   Únan)rÉ   r…   r*   r-   s       r.   Útest_ridiculously_large_nz%TestZipfian.test_ridiculously_large_n‘  s7   € àˆØˆÝŒK˜˜A˜qÑ!Ô!ˆÝ�Q�œÑÔÐÐÐr0   N)Ú__name__Ú
__module__Ú__qualname__rÊ   rÏ   rÔ   rV   rl   rm   rp   Úvstackr¡   r   ÚTÚnaive_testsÚpytestÚmarkÚparametrizerè   rñ   rõ   rû   rþ   r  r¢   r0   r.   rÅ   rÅ     s¯  € € € € € ð	7ð 	7ð 	7ðKð Kð KðFð Fð Fð0 Œ)×
Ò
 Ñ
"Ô
"€CØ�"”)˜[˜Rœ[¨¨Q°Ñ3Ô3Ø Ÿ[š[¨¨B°Ñ3Ô3ð5ñ 6ô 6Ü67ð ð „[×Ò˜V [Ñ1Ô1ð5ð 5ñ 2Ô1ð5ð:'ð 'ð 'ð „[×ÒØØ	0Ø	5ð	7ñô ð
'ð 'ñô ð
'ð
 „[×ÒØð	0ð 	0ð 	0ñô ð-ð -ñô ð-ð
 „[×ÒØð	)ð 	)ð 	)ñô ð,ð ,ñô ð,ð ð  ð  ð  ð  r0   rÅ   c                   ó¾   — e Zd Zd„ Zej                             dddg¦  «        d„ ¦   «         Zd„ Zd„ Z	d„ Z
ej                             dddg¦  «        d	„ ¦   «         Zd
S )ÚTestNCHc                 ó
  — t           j                             d¦  «        }d}d}|                     d||¬¦  «        }|                     d||¬¦  «        }||z   }t	          j        d||j        |¬¦  «        }t          j        d||z
  ¦  «        }t          j        ||¦  «        }	t	          j        ||	|j        |¬¦  «        }
|                     |
j        ¦  «        dz  }|
||||f\  | _	        | _
        | _        | _        | _        d S )	Nl   ÔU ©r[   r   r   ri   r:   ra   r   rj   r[   )rV   rl   r—   rœ   r   rc   rd   ÚmaximumÚminimumre   r+   Úm1r*   Úodds)rÉ   rp   rd   Úmax_mr  Úm2r+   r*   ÚxlÚxure   r  s               r.   Úsetup_methodzTestNCH.setup_methodš  só   € ÝŒi×#Ò# JÑ/Ô/ˆØˆØˆØ�\Š\˜!˜U¨ˆ\Ñ/Ô/ˆØ�\Š\˜!˜U¨ˆ\Ñ/Ô/ˆØ�‰GˆÝŒK˜˜1 1¤7¸Ð=Ñ=Ô=ˆÝŒZ˜˜1˜R™4Ñ Ô ˆÝŒZ˜˜2ÑÔˆÝŒK˜˜B R¤X¸CÐ@Ñ@Ô@ˆØ�zŠz˜!œ'Ñ"Ô" 1Ñ$ˆØ56¸¸2¸qÀ$Ð5FÑ2ˆŒ�”˜œ ¤¨¬¨¨r0   Ú	dist_namer   r   c           	      óì   — t           t          dœ}||         }| j        | j        | j        | j        f\  }}}}t          |                     ||||d¬¦  «        t          j        ||||¦  «        ¦  «         d S )N©r   r   r:   )r  )	r   r   re   r+   r  r*   r   rK   r   )rÉ   r  Údistsrï   re   r+   r  r*   s           r.   Útest_nch_hypergeomzTestNCH.test_nch_hypergeom©  s‡   € õ
 (:Ý*?ðAð Aˆà�YÔˆØ”f˜dœf d¤g¨t¬vÐ5‰ˆˆ1ˆb�!Ý˜Ÿš  A r¨1°1˜Ñ5Ô5Ý!œ a¨¨B°Ñ2Ô2ñ	4ô 	4ð 	4ð 	4ð 	4r0   c           	      óŠ  — | j         | j        | j        | j        | j        f\  }}}}}t
          j        d„ ¦   «         } ||||||¦  «        \  }}}	t          t          j	        |||||¦  «        |¦  «         t          t          j
        ||||d¬¦  «        |¦  «         t          t          j
        ||||d¬¦  «        |	¦  «         d S )Nc                 ó   ‡‡‡‡‡‡‡— |‰z
  Št          j        d‰‰z
  ¦  «        Št          j        ‰‰¦  «        Šˆˆˆˆfd„Šˆˆˆfd„} |d¦  «        } |d¦  «        } |d¦  «        } ‰| ¦  «        |z  }	||z  }
||z  ||z  dz  z
  }|	|
|fS )Nr   c                 ó`   •— t          ‰| ¦  «        }t          ‰‰| z
  ¦  «        }||z  ‰| z  z  S r­   )Úspecial_binom)re   Út1Út2r  r  r*   Úws      €€€€r.   ÚfzFTestNCH.test_nchypergeom_fisher_naive.<locals>.pmf_mean_var.<locals>.fÀ  s7   ø€ Ý" 2 qÑ)Ô)�Ý" 2 q¨1¡uÑ-Ô-�Ø˜B‘w  A¡‘~Ð%r0   c                 ó`   •‡ — t          ˆˆ fd„t          ‰‰dz   ¦  «        D ¦   «         ¦  «        S )Nc              3   ó:   •K  — | ]} ‰|¦  «        |‰z  z  V — Œd S r­   r¢   )Ú.0rq   r$  r(   s     €€r.   ú	<genexpr>zYTestNCH.test_nchypergeom_fisher_naive.<locals>.pmf_mean_var.<locals>.P.<locals>.<genexpr>Æ  s3   øè è € Ð@Ð@¨˜1˜1˜Q™4œ4  1¡™9Ð@Ð@Ð@Ð@Ð@Ð@r0   r:   )rÙ   Úrange)r(   r$  r  r  s   `€€€r.   ÚPzFTestNCH.test_nchypergeom_fisher_naive.<locals>.pmf_mean_var.<locals>.PÅ  s8   øø€ ÝÐ@Ð@Ð@Ð@Ð@­e°B¸¸Q¹Ñ.?Ô.?Ð@Ñ@Ô@Ñ@Ô@Ð@r0   r:   r[   ©rV   r  r  )re   r+   r  r*   r#  r*  ÚP0ÚP1ÚP2rK   rã   rä   r$  r  r  r  s     ```       @@@@r.   Úpmf_mean_varz;TestNCH.test_nchypergeom_fisher_naive.<locals>.pmf_mean_var¹  sñ   øøøøøøø€ ð �R‘ˆBÝ”˜A˜q ™tÑ$Ô$ˆBÝ”˜A˜rÑ"Ô"ˆBð&ð &ð &ð &ð &ð &ð &ð &ð
Að Að Að Að Að Að Að ��1‘”ˆBØ��1‘”ˆBØ��1‘”ˆBØ�!�A‘$”$˜‘)ˆCØ˜‘7ˆDØ�r‘'˜R "™W q™LÑ(ˆCØ˜˜c�>Ð!r0   rý   r€   Úv)re   r+   r  r*   r  rV   rà   r   r   rK   r   )
rÉ   re   r+   r  r*   r  r/  rK   rã   rä   s
             r.   Útest_nchypergeom_fisher_naivez%TestNCH.test_nchypergeom_fisher_naiveµ  së   € à œF D¤F¨D¬G°T´V¸T¼YÐFÑˆˆ1ˆb�!�Tå	Œð	"ð 	"ñ 
Œð	"ð, &˜ a¨¨B°°4Ñ8Ô8‰ˆˆT�3ÝÕ*Ô.¨q°!°R¸¸DÑAÔAÀ3ÑGÔGÐGÝÕ*Ô0°°B¸¸4ÈÐMÑMÔMØñ	ô 	ð 	åÕ*Ô0°°B¸¸4ÈÐMÑMÔMØñ	ô 	ð 	ð 	ð 	r0   c           
      óÊ  ‡‡— t           j                             d¦  «        }d}d}|                     d||¬¦  «        }|                     d||¬¦  «        }||z   }t          j        d||j        |¬¦  «        }t          j        d||z
  ¦  «        }t          j        ||¦  «        }	t          j        ||	|j        |¬¦  «        }
 |j        |
j        Ž dz  }d„ Št           j	        ˆfd	„¦   «         Št          j        ¦   «         5  t          j        d
t          d¬¦  «         t          t          j        ||||¦  «         ‰||||¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t           j	        ˆfd„¦   «         }t          j        ¦   «         5  t          j        d
t          d¬¦  «         t          t          j        ||||d¬¦  «         |||||¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t           j	        ˆfd„¦   «         } ||
||||¦  «        }t          j        |
||||¦  «        }d\  }}t          j        ||z
  ¦  «        ||t          j        |¦  «        z  z   k     }|                     ¦   «         t          j        |¦  «        dz  k    sJ ‚t-          ||          ||          ||          ||          ¦  «        D ]”\  }}}}||z
  } ‰||||¦  «        \  }}	t          j        ||	dz   ¦  «        }
 ||
||||¦  «                             ¦   «         dk     sJ ‚t          t          j        |
||||¦  «                             ¦   «         d¦  «         Œ•d S )Nr[   r  ri   r:   ra   r   rj   c                 ón   — | |z
  }t          j        d||z
  ¦  «        }t          j        ||¦  «        }||fS )Nr   r+  )r+   r  r*   r#  r  r  r  s          r.   rX   z9TestNCH.test_nchypergeom_wallenius_naive.<locals>.supportæ  s:   € Ø�R‘ˆBÝ”˜A˜q ™tÑ$Ô$ˆBÝ”˜A˜rÑ"Ô"ˆBØ�r�6ˆMr0   c                 óx   •‡‡‡‡— | ‰z
  Š ‰| ‰‰‰¦  «        \  }}ˆˆˆˆfd„}t          |||f¬¦  «        j        S )Nc                 ó2   •— | ‰z  d‰| z
  ‰z  z
  ‰z  z   dz
  S ©Nr:   r¢   )Úur  r  r*   r#  s    €€€€r.   ÚfunzCTestNCH.test_nchypergeom_wallenius_naive.<locals>.mean.<locals>.funñ  s(   ø€ Ø˜‘t˜q A a¡C¨¡8™|¨aÑ/Ñ/°!Ñ3Ð3r0   )Úbracket)r   Úroot)	r+   r  r*   r#  r  r  r8  r  rX   s	    ```   @€r.   rã   z6TestNCH.test_nchypergeom_wallenius_naive.<locals>.meanì  sm   øøøøø€ à�R‘ˆBØ�W˜Q  A qÑ)Ô)‰FˆB�ð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4õ ˜s¨R°¨HÐ5Ñ5Ô5Ô:Ð:r0   Úignorez!invalid value encountered in mean)ÚcategoryÚmessageg{®Gáz”?r$   c                 óŠ   •— | |z
  } ‰| |||¦  «        }|||z
  z  }||z
  ||z   |z
  z  }| |z  |z  | dz
  ||z  ||z  z   z  z  S r6  r¢   )	r+   r  r*   r#  r  r7  r…   r†   rã   s	           €r.   Úvariancez:TestNCH.test_nchypergeom_wallenius_naive.<locals>.varianceü  sl   ø€ à�R‘ˆBØ��Q˜˜A˜qÑ!Ô!ˆAØ�R˜!‘V‘ˆAØ�1‘�q˜2‘v ‘zÑ"ˆAØ�Q‘3�q‘5˜Q˜q™S R¨¡T¨B¨q©D¡[Ñ1Ñ2Ð2r0   r0  r€   gš™™™™™©?c                 ót   •‡ ‡‡‡‡‡	— |‰z
  Š	 ‰
|‰‰‰¦  «        \  }}ˆˆ	ˆˆˆ fd„Šˆˆˆ	ˆfd„} |‰ ¦  «        S )Nc                 ój   •— ‰‰‰z
  z  ‰‰‰z
  z
  z   }d| ‰|z  z  z
  ‰z  d| d|z  z  z
  ‰‰z
  z  z  }|S r6  r¢   )ÚtÚDÚresr  r  r*   r#  re   s      €€€€€r.   Ú	integrandzHTestNCH.test_nchypergeom_wallenius_naive.<locals>.pmf.<locals>.integrand  sQ   ø€ Ø�r˜A‘v‘J "¨¨!©¡*Ñ-�Ø˜˜Q˜q™S™‘z A‘o¨¨1¨q°©s©8©°q¸±sÑ(;Ñ;�Ø�
r0   c                 óŽ   •— t          ‰| ¦  «        }t          ‰‰| z
  ¦  «        }t          ‰dddd¬¦  «        }||z  |d         z  S )Nr   r:   g¼‰Ø—²Òœ<)ÚepsrelÚepsabs)r   r   )re   r!  r"  Úthe_integralrE  r  r  r*   s       €€€€r.   r$  z@TestNCH.test_nchypergeom_wallenius_naive.<locals>.pmf.<locals>.f  sZ   ø€ Ý" 2 qÑ)Ô)�Ý" 2 q¨1¡uÑ-Ô-�Ý# I¨q°!Ø+0¸ð @ñ  @ô  @�à˜B‘w ¨a¤Ñ0Ð0r0   r¢   )re   r+   r  r*   r#  r  r  r$  rE  r  rX   s   ` ```   @@€r.   rK   z5TestNCH.test_nchypergeom_wallenius_naive.<locals>.pmf  s�   øøøøøøø€ à�R‘ˆBØ�W˜Q  A qÑ)Ô)‰FˆB�ðð ð ð ð ð ð ð ð ð
1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð �1�Q‘4”4ˆKr0   )rÒ   rÒ   r•   )rV   rl   rm   r   rc   rd   r  r  rÓ   rà   ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr   r   rã   r   rK   ÚabsrÙ   ÚprodÚziprW   )rÉ   rp   rd   r  r  r  r+   r*   r  r  re   r#  r?  rK   Úpmf0Úpmf1r¦   r%   Úirã   rX   s                      @@r.   Ú test_nchypergeom_wallenius_naivez(TestNCH.test_nchypergeom_wallenius_naive×  s]  øø€ õ Œi×#Ò# AÑ&Ô&ˆØˆØˆØ�[Š[˜˜E¨ˆ[Ñ.Ô.ˆØ�[Š[˜˜E¨ˆ[Ñ.Ô.ˆØ�‰GˆÝŒK˜˜1 1¤7¸Ð=Ñ=Ô=ˆÝŒZ˜˜1˜R™4Ñ Ô ˆÝŒZ˜˜2ÑÔˆÝŒK˜˜B R¤X¸CÐ@Ñ@Ô@ˆØˆCŒH�a”gÐ˜qÑ ˆð	ð 	ð 	õ 
Œð	;ð 	;ð 	;ð 	;ñ 
Œð	;õ Ô$Ñ&Ô&ð 	:ð 	:ÝÔ# Hµ~ØBðDñ Dô Dð DåÕ1Ô6°q¸"¸aÀÑCÔCØ ˜D  B¨¨1Ñ-Ô-°Dð:ñ :ô :ð :ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:õ 
Œð	3ð 	3ð 	3ð 	3ñ 
Œð	3õ Ô$Ñ&Ô&ð 	ð 	ÝÔ# Hµ~ØBðDñ Dô Dð DåÝ%Ô+¨A¨r°1°aÀÐEÑEÔEØ�˜˜B  1Ñ%Ô%Øðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 
Œð	ð 	ð 	ð 	ñ 
Œð	ð$ ˆs�1�a˜˜Q Ñ"Ô"ˆÝ$Ô(¨¨A¨r°1°aÑ8Ô8ˆà‰
ˆˆdÝŒF�4˜$‘;ÑÔ $¨­b¬f°T©l¬lÑ):Ñ":Ò:ˆØ�uŠu‰wŒw�œ ™œ¨!Ñ+Ò+Ð+Ð+Ð+õ ˜q ! œu b¨!¨¤f¨a°°¬e°Q¸°r´UÑ;Ô;ð 		Pð 		P‰KˆAˆr�1�aà�R‘ˆBØ�W˜Q  A qÑ)Ô)‰FˆB�Ý”	˜"˜b 1™fÑ%Ô%ˆAð �3�q˜!˜R  AÑ&Ô&×*Ò*Ñ,Ô,¨rÒ1Ð1Ð1Ð1ÝÕ1Ô5°a¸¸BÀÀ1ÑEÔE×IÒIÑKÔKÈQÑOÔOÐOÐOð		Pð 		Ps&   ÄAEÅE!Å$E!ÆAG0Ç0G4Ç7G4c           	      ó`  — d}d}d}d}t          j        d¦  «        }t          j        g d¢¦  «        }d}d}t          t	          j        |||||¦  «        |d	d	¬
¦  «         t          t	          j        ||||¦  «        |d	¬¦  «         t          t	          j        ||||¦  «        |d¬¦  «         d S )Nr7   rÌ   r{   g      @rÇ   )g9”T€ÆÕå;g»��rþü�<gÝD,P=g³4À VŒ=g'±	,îñð=gC�åõ‹ŒG>gyzžtj…”>gÁÙë«t•×>gÃ+k…†?g ‰Me´GD?gqNZVÉ’o?gœcø2nž‘?g~Z€ÄN¬?g¼EŸ}?YÀ?gõÛÀ¢ßöÊ?gËÎ‡aQÏ?gè€]?…É?gr”…)‚‚º?gÌáÙp{¡?g3Í9	·†y?gµ Ñmç>?gJ®ò•´�-@gñihÞ@rS   )r%   r¦   r$   g•dyáý¥=)rV   rW   Úarrayr   r   rK   rã   rä   )	rÉ   r)   r*   r+   r  ÚsuprK   rã   rä   s	            r.   Útest_wallenius_against_mpmathz%TestNCH.test_wallenius_against_mpmath3  sñ   € ð ˆØˆØˆØˆåŒi˜‰mŒmˆÝŒhð /ð /ð /ñ 0ô 0ˆð* "ˆØ ˆõ 	Õ-Ô1°#°q¸!¸QÀÑEÔEÀsØ"¨ð	0ñ 	0ô 	0ð 	0åÕ-Ô2°1°a¸¸DÑAÔAØ 5ð	*ñ 	*ô 	*ð 	*åÕ-Ô1°!°Q¸¸4Ñ@Ô@Ø %ð	)ñ 	)ô 	)ð 	)ð 	)ð 	)r0   c                 óŽ   — t           t          dœ}||         }|                     dddgdggg d¢d¬¦  «        }|j        dk    sJ ‚d S )	Nr  r7   rÌ   r   r{   )r•   rU   g       @r`   ra   )r   r   rc   rd   )rÉ   r  r  rï   re   s        r.   Útest_rvs_shapezTestNCH.test_rvs_shape]  sb   € õ (:Ý*?ðAð Aˆà�YÔˆØ�HŠH�R˜˜r˜d R D˜\¨?¨?¨?ÀˆHÑNÔNˆØŒw˜,Ò&Ð&Ð&Ð&Ð&Ð&r0   N)r  r  r  r  r  r	  r
  r  r1  rT  rX  rZ  r¢   r0   r.   r  r  ™  sÚ   € € € € € ðGð Gð Gð „[×Ò˜[Ø2Ð4KÐLñNô Nð4ð 4ñNô Nð4ð ð  ð  ðDZPð ZPð ZPðx()ð ()ð ()ðT „[×Ò˜[Ø2Ð4KÐLñNô Nð'ð 'ñNô Nð'ð 'ð 'r0   r  zmu, q, expected)r   éx   g@	›#á¸)iÜ  r   g"q³V§UÀc                 óf   — d}|||| z   z  }}t          t          j        |||¦  «        |¦  «         d S )Nr{   )r   r   r·   )rÁ   Úqr,   rb   r*   r-   s         r.   Útest_nbinom_11465r^  j  s@   € ð
 €DØ��t˜B‘w‘€q€Aõ •F”M ! Q¨Ñ*Ô*¨HÑ5Ô5Ð5Ð5Ð5r0   c                  ó  — t          j        ddd¦  «        } d}t          |¦  «                             | ¦  «        }| dz  dk    }t	          |d         |¦  «         t	          |d         d|z
  ¦  «         t          ||          d¦  «         d S )Nr   r:   rh   gš™™™™™é?r–   )rV   r�   r   rK   r   r   )re   r-   rK   rS  s       r.   Útest_gh_17146r`  w  sŠ   € õ 	Œ�A�q˜"ÑÔ€AØ€AÝ
�A‰,Œ,×
Ò
˜1Ñ
Ô
€CØ	
ˆQ‰�!Š€AÝ�C˜”G˜QÑÔÐÝ�C˜”F˜A˜a™CÑ Ô Ð Ý��a�R”˜!ÑÔÐÐÐr0   c                   óÂ   — e Zd Zej                             dg d¢g d¢g d¢g¦  «        d„ ¦   «         Zej                             dg d¢g d¢g d	¢g¦  «        d
„ ¦   «         ZdS )ÚTestBetaNBinomzx, n, a, b, ref)r   g    ÐSAr   r{   g:[Y³³»))ri   r7   r   r{   g ôÍødg?)r   r    r   r{   gL&¸[šô>c                 óT   — t          t          j        ||||¦  «        |d¬¦  «         d S )NrJ   r$   )r   r   rK   )rÉ   re   r*   r…   r†   rô   s         r.   Útest_betanbinom_pmfz"TestBetaNBinom.test_betanbinom_pmf„  s/   € õ  	�
œ q¨!¨Q°Ñ2Ô2°C¸eÐDÑDÔDÐDÐDÐDr0   zn, a, b, ref)r   rÀ   r7   g—Í:ÑèoÀ?)r   r_   r_   gÍ>["”°@)ri   r    r   gÑ Å>ÿ[ù?c                 óV   — t          t          j        |||d¬¦  «        |d¬¦  «         d S )Nr(   r€   g [n‡ë<r$   )r   r   r   )rÉ   r*   r…   r†   rô   s        r.   Útest_betanbinom_kurtosisz'TestBetaNBinom.test_betanbinom_kurtosis—  s@   € õ* 	�
Ô(¨¨A¨q¸#Ð>Ñ>Ô>Ø %ð	)ñ 	)ô 	)ð 	)ð 	)ð 	)r0   N)r  r  r  r  r	  r
  rd  rf  r¢   r0   r.   rb  rb  ƒ  sÄ   € € € € € Ø„[×ÒÐ.ØEÐEÐEØBÐBÐBØHÐHÐHðJñKô KðEð Eñ	Kô KðEð „[×Ò˜^ØCÐCÐCØ:Ð:Ð:Ø?Ð?Ð?ðAñBô Bð)ð )ñ	Bô Bð)ð )ð )r0   rb  c                   ó   — e Zd Zd„ ZdS )ÚTestZipfc                 ó   — t          j        dd¦  «        }|                     t           j        ¦  «        }t	          d¦  «        }|                     |¦  «        }|                     |¦  «        }t          ||¦  «         d S )Nr   r    r_   )rV   rW   rë   rì   r   rK   r   rí   s         r.   Útest_gh20692zTestZipf.test_gh20692±  sg   € åŒI�a˜ÑÔˆØ—(’(�2œ8Ñ$Ô$ˆÝ�A‰wŒwˆØ�hŠh�q‰kŒkˆØ—h’h˜wÑ'Ô'ˆÝ�S˜+Ñ&Ô&Ð&Ð&Ð&r0   N)r  r  r  rj  r¢   r0   r.   rh  rh  °  s#   € € € € € ð'ð 'ð 'ð 'ð 'r0   rh  c                  óø   —  G d„ dt           j        ¦  «        }  | t          j        ¬¦  «        }d}t	          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd Zd„ ZdS )ú#test_gh20048.<locals>.test_dist_genc                 ó(   — t          |dz  d¦  «        S )Nri   r›   )Úmin)rÉ   r(   s     r.   Ú_cdfz(test_gh20048.<locals>.test_dist_gen._cdf¿  s   € Ý�q˜3‘w Ñ%Ô%Ð%r0   N)r  r  r  rp  r¢   r0   r.   Útest_dist_genrm  ¾  s#   € € € € € ð	&ð 	&ð 	&ð 	&ð 	&r0   rq  )r†   zArguments that bracket...)Úmatchg+‡ÙÎ÷ï?)r   Úrv_discreterV   r¸   r  ÚraisesÚRuntimeErrorro   )rq  Ú	test_distr=  s      r.   Útest_gh20048rw  »  sÕ   € ð&ð &ð &ð &ð &�Ô)ñ &ô &ð &ð �¥¤Ð'Ñ'Ô'€Ià)€GÝ	Œ•|¨7Ð	3Ñ	3Ô	3ð ð Ø�Š�eÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA/Á/A3Á6A3c                   ó   — e Zd Zd„ ZdS )ÚTestPoissonBinomialc                 ó  — t           j                             d¦  «        }|                     d¦  «        }t          j        |dz   ¦  «        }|                     |¦  «        }t          j        ||¦  «        }g d¢}t          ||¦  «         d S )Nl   ®zb}ñ r   r:   )gc«¡µÆ™¡?g!)@*ç—ä?gŒ/_“èÊÒ?g§?TxY^œ?gg–	ÎSUH?)rV   rl   r—   rœ   rW   r   rK   r   )rÉ   rp   r*   r(   r-   rD  rô   s          r.   Útest_pmfzTestPoissonBinomial.test_pmfÊ  s…   € õ Œi×#Ò# LÑ1Ô1ˆØ�LŠL˜ÑÔˆÝŒI�a˜!‘eÑÔˆØ�JŠJ�q‰MŒMˆåÔ  1Ñ%Ô%ˆð=ð =ð =ˆå˜˜SÑ!Ô!Ð!Ð!Ð!r0   N)r  r  r  r{  r¢   r0   r.   ry  ry  É  s#   € € € € € ð"ð "ð "ð "ð "r0   ry  c                   ó   — e Zd Zd„ ZdS )ÚTestRandIntc                 ó,  ‡— dŠt          ‰¦  «        }ˆfd„t          |¦  «        D ¦   «         }t          j        d‰|¦  «        }|dk                         ¦   «         sJ ‚dt          j        |t
          j        ¬¦  «        ‰z
  z  }t          ||¦  «         d S )Nižþÿÿc                 ó    •— g | ]
}‰d z   |z   ‘ŒS )l        r¢   )r'  rS  r…   s     €r.   ú
<listcomp>z,TestRandInt.test_gh19759.<locals>.<listcomp>ç  s!   ø€ Ð=Ð=Ð= q�1�w‘; ‘?Ð=Ð=Ð=r0   iE  r   r:   )Údtype)	rN  r)  r   rK   ÚallrV   ÚasarrayÚfloat64r   )rÉ   Ú	max_rangeÚall_b_1rD  rô   r…   s        @r.   Útest_gh19759zTestRandInt.test_gh19759ã  s”   ø€ àˆÝ˜‘F”Fˆ	Ø=Ð=Ð=Ð=­E°)Ñ,<Ô,<Ð=Ñ=Ô=ˆÝŒk˜#˜q 'Ñ*Ô*ˆØ�a’�}Š}‰ŒÐÐˆØ•2”:˜g­R¬ZÐ8Ñ8Ô8¸1Ñ<Ñ=ˆÝ˜˜SÑ!Ô!Ð!Ð!Ð!r0   N)r  r  r  r‡  r¢   r0   r.   r}  r}  â  s#   € € € € € ð"ð "ð "ð "ð "r0   r}  )Gr  Ú	itertoolsrJ  Úscipyr   Úscipy.statsr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   ÚnumpyrV   Únumpy.testingr   r   r   Úscipy.specialr   Úscipy.optimizer   Úscipy.integrater   r	  r
  r/   r5   rD   rO   rY   r\   rf   rr   ry   r}   ÚproductÚintÚfloatr‡   r‰   r‘   r“   r˜   rž   r£   r§   r°   r²   rµ   r»   r¾   rÃ   rÅ   r  r^  r`  rb  rh  rw  ry  r}  r¢   r0   r.   ú<module>r“     s  ðØ €€€Ø Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð
 Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð 1Ð 0Ð 0Ð 0Ð 0Ð 0Ø &Ð &Ð &Ð &Ð &Ð &Ø  Ð  Ð  Ð  Ð  Ð  ð
 „×ÒÐ5ð:ð :ð :ñ;ô ;ð,ð ,ñ;ô ;ð,ð „×ÒÐ5ð6ð:ð;ñ<ô <ð
,ð ,ñ<ô <ð
,ð
Hð Hð Hð4)ð )ð )ð	>ð 	>ð 	>ðCð Cð Cð#ð #ð #ðð ð ð-ð -ð -ð&%ð %ð %ð „×Ò˜Ð#4 9Ô#4¸¸U°|°nÀQÑ6FÐ#GÑHÔHðPð Pñ IÔHðPð%ð %ð %ðFð Fð Fð
Eð Eð Eð
*ð *ð *ðð ð ð$Bð Bð Bð:ð :ð :ð „×ÒÐ/ð 2ð 2ð 2ñ ô ð5ð 5ñô ð5ðKð Kð Kð
Hð Hð Hð'ð 'ð 'ð-ð -ð -ð'ð 'ð 'ðD ð D ð D ð D ð D ñ D ô D ð D ðNN'ð N'ð N'ð N'ð N'ñ N'ô N'ð N'ðb „×ÒÐ*Ø;Ð;Ð;Ø7Ð7Ð7ð9ñ:ô :ð6ð 6ñ:ô :ð6ð	ð 	ð 	ð*)ð *)ð *)ð *)ð *)ñ *)ô *)ð *)ðZ'ð 'ð 'ð 'ð 'ñ 'ô 'ð 'ðð ð ð"ð "ð "ð "ð "ñ "ô "ð "ð2	"ð 	"ð 	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"r0   