Ë
    1Ò^j”i  ã            	       óF  — 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 jB                  jE                  dg d	¢«      d
„ «       Z#e jB                  jE                  dddg«      d„ «       Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,e jB                  jE                  d e- ej\                  e/e0fgdz  Ž «      «      d„ «       Z1d„ Z2d„ Z3d„ Z4d„ Z5d„ Z6d„ Z7d„ Z8e jB                  jE                  d g d!¢«      d"„ «       Z9d#„ Z:d$„ Z;d%„ Z<d&„ Z=d'„ Z> G d(„ d)«      Z? G d*„ d+«      Z@e jB                  jE                  d,g d-¢g d.¢g«      d/„ «       ZAd0„ ZB G d1„ d2«      ZC G d3„ d4«      ZDd5„ ZE G d6„ d7«      ZF G d8„ d9«      ZGy):é    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                 óP   — t        j                  | |||«      }t        |||¬«       y ©N©Úrtol)r   Úcdfr   ©ÚkÚMÚnÚNÚexpectedr%   Úps          úq/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/stats/tests/test_discrete_distns.pyÚtest_hypergeom_cdfr/      s$   € ô 	�‰�a˜˜A˜qÓ!€AÜ�A�x dÖ+ó    )é   r   r   r    gäûòÿÿÿï?r   )é}   r   r   r    g«™Çö!˜:<r!   c                 óP   — t        j                  | |||«      }t        |||¬«       y r#   )r   Úsfr   r'   s          r.   Útest_hypergeom_sfr5   $   s$   € ô 	�‰�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¬«       y )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€GÜ×Ñ˜q 1™u a¨¨A°©EÓ2€GÜ×Ñ˜q ! Q¨Ó*€GÜ˜ °"Õ5Ü˜ °"Õ5Ü˜ °"Õ5ð 	
€AØ
€AØ	€AØ	€AÜ ×'Ñ'¨¨1¨a°Ó3ÐÜ ×'Ñ'¨¨1¨Q©3Ó/ÐÜÐ(Ð*:ÀBÖGr0   c                  óÌ   — d\  } }}d}t        j                  || ||«      }t        j                  || |||z   dz
  «      | |z
  |dz
  z
  z  | ||z   dz
  z
  z  }t        ||d¬«       y )N)é-   é   é   é   r:   ç»½×Ùß|Û=r$   )r   Úpmfr   r   )r)   r*   Úrr(   ÚNHGÚHGs         r.   Útest_nhypergeom_pmfrO   H   sp   € à�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¬«       y )	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   sd   € à	€AØ	€AØ	€AÜ�i‰i˜˜!™‹n€GÜ
�.‰.˜ ! Q¨Ó
*€CÜ
�.‰.˜ ! Q¨Ó
*€CÜ�CÒ1¸Õ>Ü�CÒ0°uÖ=r0   c                  ót   — d} d}d}t        j                  g d¢g d¢g| ||«      }t        |g d¢g d¢gd¬	«       y )
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ÖBr0   c                  ód   — t        j                  dg d¢dgdggd¬«      } | j                  dk(  sJ ‚y )Né   )r;   rH   é	   r8   rG   ©r   r:   r[   r   ©Úsize)r   ÚrvsÚshape)Úxs    r.   Útest_nhypergeom_rvs_shaperf   f   s2   € ô 	�‰�rš9¨ t¨b¨T l¸ÔF€AØ�7‰7�lÒ"Ð"Ñ"r0   c                  ó   — t         j                  j                  d«      } t        j                  dddd| ¬«      }t         j                  j                  d«      } | j                  d¬«      }t        j                  |ddd«      }t        ||«       y )Nr   r^   r;   é   éd   ©rb   Úrandom_statera   )rV   ÚrandomÚRandomStater   rc   ÚuniformÚppfr   )Úrngre   r-   Úys       r.   Útest_nhypergeom_accuracyrr   n   sp   € ô �)‰)×
Ñ
 Ó
"€CÜ�‰�r˜1˜b s¸Ô=€AÜ
�)‰)×
Ñ
 Ó
"€CØ�‰˜ˆÓ€AÜ�‰�q˜"˜a Ó$€AÜ��AÕr0   c                  óV  — 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	¬
«       y )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«      j                  |«      }t        j                  d| dz   z  | dz   «      }t        ||«       y )Né   r:   )rV   rW   r   rK   Úrepeatr   )r*   r(   r-   r,   s       r.   Útest_betabinom_a_and_b_unityr}   Œ   sZ   € ð 	€AÜ
�	‰	�!�a‘%Ó€AÜ�!�Q˜Ó×Ñ˜qÓ!€AÜ�y‰y˜˜a !™e™ a¨!¡eÓ,€HÜ˜˜8Õ$r0   Údtypesr   c                 ó†   — | \  }}} |d«       |d«       |d«      }}}t        t        j                  |||d¬«      d«       y )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‡   –   sC   € ð $Ñ€FˆF�FÙ�R‹j™& ›)¡V¨A£Yˆ!€q€AÜ”I—O‘O A q¨!°SÔ9Ð;NÕOr0   c                  óÆ   — d} d}t        j                  d«      }t        d| |«      j                  |«      }t	        | | |z   z  «      j                  |«      }t        ||«       y )Ngffffff@g)\�Âõ(ä?r[   r:   )rV   rW   r   rK   r   r   )r…   r†   r(   r-   r,   s        r.   Útest_betabinom_bernoullir‰   Ÿ   sY   € à€AØ€AÜ
�	‰	�!‹€AÜ�!�Q˜Ó×Ñ˜qÓ!€AÜ˜˜a !™e™Ó%×)Ñ)¨!Ó,€HÜ˜˜8Õ$r0   c                  óT   — d\  } }}t        t        j                  | ||¬«      d«       y )N)gÍÌÌÌÌÌì?r   r:   ©Ú
confidencer*   r-   ©r   r   )r   r   Úinterval©Úalphar*   r-   s      r.   Útest_issue_10317r‘   ©   s$   € Ø�K€Eˆ1ˆaÜ”—‘¨E°Q¸!Ô<¸fÕEr0   c                  óT   — d\  } }}t        t        j                  | ||¬«      d«       y )N)gffffffî?r   r   r‹   r�   )r   r   rŽ   r�   s      r.   Útest_issue_11134r“   ®   s$   € Ø�K€Eˆ1ˆaÜ”—‘¨5°A¸Ô;¸VÕDr0   c                  ó&  — t         j                  j                  d«      } t        t	        j
                  | j                  d«      dd«      d«       t        t	        j
                  ddd«      d«       t        t	        j
                  ddd«      d«       y )Nl   <UÎ7 r   r   ç      à?éÿÿÿÿr:   )rV   rl   Údefault_rngr   r   ro   )rp   s    r.   Útest_issue_7406r˜   ³   se   € Ü
�)‰)×
Ñ
 
Ó
+€CÜ”—‘˜3Ÿ:™: b›>¨1¨cÓ2°AÔ6ô ”—‘˜1˜a Ó% rÔ*Ü”—‘˜1˜a Ó% qÕ)r0   c                  ót  — t         j                  j                  d«      } d}| j                  dd¬«      }d}t	        j
                  |||«      }t        |d«       t        j                  ddd«      }t	        j
                  |||«      }t        |d«       d	}t	        j
                  |||«      }t        ||«       y )
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            	      óv   — t        t        dt        j                  dd«      «      j	                  d«      d«       y )Néè  rt   iœÿÿÿrš   r   )r   r   rV   Úlogspacero   © r0   r.   Útest_issue_1603r£   Î   s)   € Ü”�tœRŸ[™[¨¨TÓ2Ó3×7Ñ7¸Ó=¸qÕAr0   c                  ó‚   — d} t        j                  ddd«      }t        t        j                  |d|z  | «      dd¬«       y )Nr•   r   é   r8   r[   rš   )Úatol)rV   r¡   r   r   r&   )r-   re   s     r.   Útest_issue_5503r§   Ò   s6   € Ø€AÜ
�‰�A�r˜2Ó€AÜ”E—I‘I˜a  1¡ aÓ(¨#°DÖ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                 óF   — t        t        j                  | ||«      |«       y ©N©r   r   r&   )re   r*   r-   Úcdf_desireds       r.   Útest_issue_5503pt2r°   Ø   s   € ô ”E—I‘I˜a  AÓ&¨Õ4r0   c                  óF   — t        t        j                  ddd«      d«       y )Nr[   l    J)£gê-�™—q=gB.¸Ã+ní?r®   r¢   r0   r.   Útest_issue_5503pt3r²   é   s   € ä”E—I‘I˜a ¨Ó1Ð3IÕJr0   c                  óF   — t        t        j                  ddd«      d«       y )Néú   r7   gAAà?g_[CË®i³8)r   r   r4   r¢   r0   r.   Útest_issue_6682rµ   î   s   € ô ”F—I‘I˜c 2 wÓ/Ð1FÕGr0   c                  óv   — t        j                  g d¢dd«      } dt        j                   dg}t	        | |«       y )N)r   r–   r:   r   r•   g¬¥ÂÐÑGÞ¿g1DÊ&+´À)r   ÚlogcdfrV   Úinfr   )ÚresultÚ	references     r.   Útest_issue_19747r»   õ   s0   € ä�]‰]š: q¨#Ó.€FØœrŸv™v˜g {Ð3€IÜ�F˜IÕ&r0   c                  óR   — d} d}d}t        t        j                  || |«      d«       y )Nr    rš   iä  ç        )r   r   rK   )r*   r-   r(   s      r.   Ú%test_boost_divide_by_zero_issue_15101r¾   ü   s(   € Ø€AØ€AØ€AÜ”E—I‘I˜a  AÓ&¨Õ,r0   c                  óZ   — g d¢} t        j                  d| | «      }g d¢}t        ||«       y )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Ã     s-   € â	9€BÜ
�+‰+�a˜˜RÓ
 €CòP€Lô �C˜Õ&r0   c                   ó
  — e Zd Zd„ Zd„ Zd„ Zej                  j                  d«      Z	 ej                   ej                  ddd«      e	j                  dd	d«      f«      j                  Zej                   j#                  d
 ee«      «      d„ «       Zd„ Zej                   j#                  dddg«      d„ «       Zej                   j#                  dg d¢«      d„ «       Zej                   j#                  dg d¢«      d„ «       Zd„ Zy)Ú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¬«      «       y )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‰I�a˜ÓˆÜœŸ™ A q¨!Ó,¬d¯h©h°q¸!«nÔ=ÜœŸ™ A q¨!Ó,¬d¯h©h°q¸!«nÔ=ÜœŸ
™
 1 a¨Ó+¬T¯W©W°Q¸«]Ô;ÜœŸ™ a¨°FÔ;ÜŸ
™
 1¨fÔ5õ	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¬«       y )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‰I�a˜˜Q™ÓˆÜœŸ™ A t¨QÓ/´·±¸QÀÀaÓ1HØ!õ	#äœŸ™ A t¨QÓ/´·±¸QÀÀaÓ1HØ!õ	#äœŸ
™
 1 d¨AÓ.´·
±
¸1¸dÀAÓ0FØ!õ	#äœŸ™ d¨A°vÔ>ÜŸ™ d¨A°vÔ>ÀTö	Kr0   c                 ót  — t         j                  j                  d«      }|j                  ddd¬«      }|j	                  d«      dz  dz   }|j                  ddd¬«      }g d¢}g d¢}t        t        j                  |||«      dd  |dd  d	¬
«       t        t        j                  |||«      dd  |dd  d¬
«       y )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‰i×#Ñ# AÓ&ˆØ�K‰K˜˜2 BˆKÓ'ˆØ�H‰H�R‹L˜‰O˜aÑˆØ�K‰K˜˜3 RˆKÓ(ˆò+ˆòFˆô 	œŸ™ A q¨!Ó,¨Q¨RÐ0°#°a°b°'ÀÕEÜœŸ™ A q¨!Ó,¨Q¨RÐ0°#°a°b°'ÀÖ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«       y )Nc                 ó\   — dt        j                  d| dz   «      |z  z  j                  «       S )z$Naive implementation of harmonic sumr:   )rV   rW   Úsum)r*   Úss     r.   ÚHnsz+TestZipfian.test_zipfian_naive.<locals>.HnsM  s,   € ð ”b—i‘i  1 Q¡3Ó'¨Ñ*Ñ*×/Ñ/Ó1Ð1r0   c                 ó>   •— | dk  s| |kD  ry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  s.   ø€ ð �1Šu˜˜AšØà˜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  s!  ø€ ô 
�‰ñ	2ó 
ð	2ô 
�‰ó	,ó 
ð	,ô �I‰I�a˜‘c‹NˆÙ�1�a˜‹mˆÜ�i‰i˜‹nˆÜ�z‰z˜! SÔ)ˆÜ�j‰j˜!˜d™( Q™°Ô4ˆØ�3‰hˆÜ�z‰z˜A˜d™F C™<¨!Ñ+°SÔ9ˆÜ—:‘:  $¡¨™|¨aÑ/¸Ô=ÀÑAˆÜœŸ™ A q¨!Ó,¨cÔ2ÜœŸ™ A q¨!Ó,¨cÔ2ÜœŸ™ a¨°FÔ;Ø˜s D¨(Ð3õ	5r0   c                 óâ   — t        j                  dd«      }|j                  t         j                  «      }t	        dd«      }|j                  |«      }|j                  |«      }t        ||«       y )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  sU   € Ü�I‰I�a˜ÓˆØ—(‘(œ2Ÿ8™8Ó$ˆÜ�s˜BÓˆØ�h‰h�q‹kˆØ—h‘h˜wÓ'ˆÜ�S˜+Õ&r0   zk, a, n, ref)r   g˜    ð?r   gdA_"½?)iã  ç0¸D   ð?r    gáÔ:"™!?c                 óL   — t        j                  |||«      }t        ||d«       y )NgVçž¯Â<)r   rK   r   )rÉ   r(   r…   r*   Úrefr-   s         r.   Útest_pmf_against_mpmathz#TestZipfian.test_pmf_against_mpmathp  s"   € ô �K‰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                 óN   — t        j                  |||«      }t        ||d¬«       y ©NgVçž¯=r$   )r   r4   r   )rÉ   r(   r…   r*   rô   r4   s         r.   Útest_sf_against_mpmathz"TestZipfian.test_sf_against_mpmathz  s"   € ô �Z‰Z˜˜1˜aÓ ˆÜ˜˜C eÖ,r0   z	a, n, ref))rò   ri   g�ªègG3@)g›ò×  ð?r©   gI„äã˜'À@)gj¼t“ð?r   gÒÞÍû%-ú?c                 óL   — t        j                  ||«      }t        ||d¬«       y rú   )r   rã   r   )rÉ   r…   r*   rô   Úms        r.   Útest_mean_against_mpmathz$TestZipfian.test_mean_against_mpmath‡  s    € ô �L‰L˜˜AÓˆÜ˜˜3 UÖ+r0   c                 ón   — d}d}t        j                  d||«      }t        |t        j                  «       y )Ng      @g}Ã”%­I²Tr   )r   rK   r   rV   Únan)rÉ   r…   r*   r-   s       r.   Útest_ridiculously_large_nz%TestZipfian.test_ridiculously_large_n‘  s,   € àˆØˆÜ�K‰K˜˜A˜qÓ!ˆÜ�QœŸ™Õr0   N)Ú__name__Ú
__module__Ú__qualname__rÊ   rÏ   rÔ   rV   rl   rm   rp   Úvstackr¡   r   ÚTÚnaive_testsÚpytestÚmarkÚparametrizeÚlistrè   rñ   rõ   rû   rþ   r  r¢   r0   r.   rÅ   rÅ     s"  „ ò	7òKòFð0 �)‰)×
Ñ
 Ó
"€CØ�"—)‘)˜[˜RŸ[™[¨¨Q°Ó3Ø Ÿ[™[¨¨B°Ó3ð5ó 6ß67±að ð ‡[�[×Ñ˜V¡T¨+Ó%6Ó7ñ5ó 8ð5ò:'ð ‡[�[×ÑØØ	0Ø	5ð	7óñ
'óð
'ð
 ‡[�[×ÑØò	0óñ-óð-ð
 ‡[�[×ÑØò	)óñ,óð,ó r0   rÅ   c                   ó´   — e Zd Zd„ Zej
                  j                  dddg«      d„ «       Zd„ Zd„ Z	d„ Z
ej
                  j                  dddg«      d	„ «       Zy
)ÚTestNCHc                 ó  — t         j                  j                  d«      }d}d}|j                  d||¬«      }|j                  d||¬«      }||z   }t	        j
                  d||j                  |¬«      }t        j                  d||z
  «      }t        j                  ||«      }	t	        j
                  ||	|j                  |¬«      }
|j                  |
j                  «      dz  }|
||||f\  | _	        | _
        | _        | _        | _        y )	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‰i×#Ñ# JÓ/ˆØˆØˆØ�\‰\˜!˜U¨ˆ\Ó/ˆØ�\‰\˜!˜U¨ˆ\Ó/ˆØ�‰GˆÜ�K‰K˜˜1 1§7¡7¸Ô=ˆÜ�Z‰Z˜˜1˜R™4Ó ˆÜ�Z‰Z˜˜2ÓˆÜ�K‰K˜˜B R§X¡X¸CÔ@ˆØ�z‰z˜!Ÿ'™'Ó" 1Ñ$ˆØ56¸¸2¸qÀ$Ð5FÑ2ˆŒ�”˜œ ¤¨­r0   Ú	dist_namer   r   c           	      óú   — t         t        dœ}||   }| j                  | j                  | j                  | j
                  f\  }}}}t        |j                  ||||d¬«      t        j                  ||||«      «       y )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©  sq   € ô
 (:Ü*?ñAˆà�YÑˆØ—f‘f˜dŸf™f d§g¡g¨t¯v©vÐ5‰ˆˆ1ˆb�!Ü˜Ÿ™  A r¨1°1˜Ó5Ü!Ÿ™ a¨¨B°Ó2õ	4r0   c           	      ó¤  — | j                   | j                  | j                  | j                  | j                  f\  }}}}}t
        j                  d„ «       } ||||||«      \  }}}	t        t        j                  |||||«      |«       t        t        j                  ||||d¬«      |«       t        t        j                  ||||d¬«      |	«       y )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                 óP   •— 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À  s1   ø€ Ü" 2 qÓ)�Ü" 2 q¨1¡uÓ-�Ø˜B‘w  A¡‘~Ð%r0   c                 óJ   •‡ — t        ˆˆ fd„t        ‰‰dz   «      D «       «      S )Nc              3   ó:   •K  — | ]  } ‰|«      |‰z  z  –— Œ y ­wr­   r¢   )Ú.0rq   r%  r(   s     €€r.   ú	<genexpr>zYTestNCH.test_nchypergeom_fisher_naive.<locals>.pmf_mean_var.<locals>.P.<locals>.<genexpr>Æ  s   øè ø€ Ò@¨™1˜Q›4  1¡�9Ñ@ùs   ƒr:   )rÙ   Úrange)r(   r%  r  r  s   `€€€r.   ÚPzFTestNCH.test_nchypergeom_fisher_naive.<locals>.pmf_mean_var.<locals>.PÅ  s   ù€ ÜÔ@¬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ñ �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  r0  rK   rã   rä   s
             r.   Útest_nchypergeom_fisher_naivez%TestNCH.test_nchypergeom_fisher_naiveµ  sÁ   € à ŸF™F D§F¡F¨D¯G©G°T·V±V¸T¿Y¹YÐFÑˆˆ1ˆb�!�Tä	�‰ñ	"ó 
ð	"ñ, & a¨¨B°°4Ó8‰ˆˆT�3ÜÔ*×.Ñ.¨q°!°R¸¸DÓAÀ3ÔGÜÔ*×0Ñ0°°B¸¸4ÈÔMØô	äÔ*×0Ñ0°°B¸¸4ÈÔMØõ	r0   c           
      óŠ  ‡‡— t         j                  j                  d«      }d}d}|j                  d||¬«      }|j                  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 «       t         j                  ˆfd„«       }t        j                  «       5  t        j                  d
t        d¬«       t        t        j"                  ||||d¬«       |||||«      d¬«       d d d «       t         j                  ˆfd„«       } ||
||||«      }t        j$                  |
||||«      }d\  }}t        j&                  ||z
  «      ||t        j&                  |«      z  z   k  }|j)                  «       t        j*                  |«      dz  kD  sJ ‚t-        ||    ||    ||    ||    «      D ]ƒ  \  }}}}||z
  } ‰||||«      \  }}	t        j.                  ||	dz   «      }
 ||
||||«      j)                  «       dk  sJ ‚t        t        j$                  |
||||«      j)                  «       d«       Œ… y # 1 sw Y   �ŒÐxY w# 1 sw Y   �Œ]xY w)Nr[   r  ri   r:   ra   r   rj   c                 ór   — | |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æ  s8   € Ø�R‘ˆBÜ—‘˜A˜q ™tÓ$ˆBÜ—‘˜A˜rÓ"ˆBØ�r�6ˆMr0   c                 ót   •‡‡‡‡— | ‰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  r9  r  rX   s	    ```   @€r.   rã   z6TestNCH.test_nchypergeom_wallenius_naive.<locals>.meanì  s>   ü€ à�R‘ˆBÙ˜Q  A qÓ)‰FˆB�÷4ô ˜s¨R°¨HÔ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 r7  r¢   )	r+   r  r*   r$  r  r8  r…   r†   rã   s	           €r.   Úvariancez:TestNCH.test_nchypergeom_wallenius_naive.<locals>.varianceü  sg   ø€ à�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   r1  r€   gš™™™™™©?c                 óh   •‡ ‡‡‡‡‡	— |‰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 r7  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                 óp   •— t        ‰| «      }t        ‰‰| z
  «      }t        ‰dddd¬«      }||z  |d   z  S )Nr   r:   g¼‰Ø—²Òœ<)ÚepsrelÚepsabs)r!  r   )re   r"  r#  Úthe_integralrF  r  r  r*   s       €€€€r.   r%  z@TestNCH.test_nchypergeom_wallenius_naive.<locals>.pmf.<locals>.f  sH   ø€ Ü" 2 qÓ)�Ü" 2 q¨1¡uÓ-�Ü# I¨q°!Ø+0¸ô @�à˜B‘w ¨a¡Ñ0Ð0r0   r¢   )re   r+   r  r*   r$  r  r  r%  rF  r  rX   s   ` ```   @@€r.   rK   z5TestNCH.test_nchypergeom_wallenius_naive.<locals>.pmf  s:   þ€ à�R‘ˆBÙ˜Q  A qÓ)‰FˆB�÷ð ÷
1ñ �Q“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‰i×#Ñ# AÓ&ˆØˆØˆØ�[‰[˜˜E¨ˆ[Ó.ˆØ�[‰[˜˜E¨ˆ[Ó.ˆØ�‰GˆÜ�K‰K˜˜1 1§7¡7¸Ô=ˆÜ�Z‰Z˜˜1˜R™4Ó ˆÜ�Z‰Z˜˜2ÓˆÜ�K‰K˜˜B R§X¡X¸CÔ@ˆØˆC�H‰H�a—g‘gÐ˜qÑ ˆò	ô 
�‰ó	;ó 
ð	;ô ×$Ñ$Ó&ñ 	:Ü×#Ñ# H´~ØBõDäÔ1×6Ñ6°q¸"¸aÀÓCÙ   B¨¨1Ó-°Dõ:÷	:ô 
�‰ó	3ó 
ð	3ô ×$Ñ$Ó&ñ 	Ü×#Ñ# H´~ØBõDäÜ%×+Ñ+¨A¨r°1°aÀÔEÙ˜˜B  1Ó%Øõ÷	ô 
�‰ó	ó 
ð	ñ$ �1�a˜˜Q Ó"ˆÜ$×(Ñ(¨¨A¨r°1°aÓ8ˆà‰
ˆˆdÜ�F‰F�4˜$‘;Ó $¨¬b¯f©f°T«lÑ):Ñ":Ñ:ˆØ�u‰u‹wœŸ™ ›¨!Ñ+Ò+Ð+Ð+ô ˜q ! ™u b¨!¨¡f¨a°°©e°Q¸°r±UÓ;ò 		P‰KˆAˆr�1�aà�R‘ˆBÙ˜Q  A qÓ)‰FˆB�Ü—	‘	˜"˜b 1™fÓ%ˆAñ �q˜!˜R  AÓ&×*Ñ*Ó,¨rÒ1Ð1Ð1ÜÔ1×5Ñ5°a¸¸BÀÀ1ÓE×IÑIÓKÈQÕOñ		P÷e	:ñ 	:ú÷	ñ 	ús   ÄA
L+ÆAL8Ì+L5Ì8Mc           	      óP  — 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¬«       y )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‰i˜‹mˆÜ�h‰hò /ó 0ˆð* "ˆØ ˆô 	Ô-×1Ñ1°#°q¸!¸QÀÓEÀsØ"¨õ	0äÔ-×2Ñ2°1°a¸¸DÓAØ 5õ	*äÔ-×1Ñ1°!°Q¸¸4Ó@Ø %ö	)r0   c                 ó‚   — t         t        dœ}||   }|j                  dddgdggg d¢d¬«      }|j                  dk(  sJ ‚y )	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]  sN   € ô (:Ü*?ñAˆà�YÑˆØ�H‰H�R˜˜r˜d R D˜\ª?ÀˆHÓNˆØ�w‰w˜,Ò&Ð&Ñ&r0   N)r  r  r  r  r  r	  r
  r  r2  rU  rY  r[  r¢   r0   r.   r  r  ™  s|   „ òGð ‡[�[×Ñ˜[Ø2Ð4KÐLóNñ4óNð4ò òDZPòx()ðT ‡[�[×Ñ˜[Ø2Ð4KÐLóNñ'óNñ'r0   r  zmu, q, expected)r   éx   g@	›#á¸)iÜ  r   g"q³V§UÀc                 ó^   — d}|||| z   z  }}t        t        j                  |||«      |«       y )Nr{   )r   r   r·   )rÁ   Úqr,   rb   r*   r-   s         r.   Útest_nbinom_11465r_  j  s3   € ð
 €DØ��t˜B‘w‘€q€Aô ”F—M‘M ! Q¨Ó*¨HÕ5r0   c                  óÜ   — t        j                  ddd«      } d}t        |«      j                  | «      }| dz  dk(  }t	        |d   |«       t	        |d   d|z
  «       t        ||    d«       y )Nr   r:   rh   gš™™™™™é?r–   )rV   r�   r   rK   r   r   )re   r-   rK   rT  s       r.   Útest_gh_17146ra  w  sl   € ô 	�‰�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                  j                  dg d¢g d¢g d¢g«      d„ «       Zej                  j                  dg d¢g d¢g d	¢g«      d
„ «       Zy)ÚTestBetaNBinomzx, n, a, b, ref)r   g    ÐSAr   r{   g:[Y³³»))ri   r7   r   r{   g ôÍødg?)r   r    r   r{   gL&¸[šô>c                 óL   — t        t        j                  ||||«      |d¬«       y )NrJ   r$   )r   r   rK   )rÉ   re   r*   r…   r†   rô   s         r.   Útest_betanbinom_pmfz"TestBetaNBinom.test_betanbinom_pmf„  s   € ô  	œ
Ÿ™ q¨!¨Q°Ó2°C¸eÖDr0   zn, a, b, ref)r   rÀ   r7   g—Í:ÑèoÀ?)r   r_   r_   gÍ>["”°@)ri   r    r   gÑ Å>ÿ[ù?c                 óN   — t        t        j                  |||d¬«      |d¬«       y )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
  re  rg  r¢   r0   r.   rc  rc  ƒ  so   „ Ø‡[�[×ÑÐ.ÚEÚBÚHðJóKñEó	KðEð ‡[�[×Ñ˜^ÚCÚ:Ú?ðAóBñ)ó	Bñ)r0   rc  c                   ó   — e Zd Zd„ Zy)ÚTestZipfc                 óà   — t        j                  dd«      }|j                  t         j                  «      }t	        d«      }|j                  |«      }|j                  |«      }t        ||«       y )Nr   r    r_   )rV   rW   rë   rì   r   rK   r   rí   s         r.   Útest_gh20692zTestZipf.test_gh20692±  sR   € ä�I‰I�a˜ÓˆØ—(‘(œ2Ÿ8™8Ó$ˆÜ�A‹wˆØ�h‰h�q‹kˆØ—h‘h˜wÓ'ˆÜ�S˜+Õ&r0   N)r  r  r  rk  r¢   r0   r.   ri  ri  °  s   „ ó'r0   ri  c                  óê   —  G d„ dt         j                  «      }  | t        j                  ¬«      }d}t	        j
                  t        |¬«      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zy)ú#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  rq  r¢   r0   r.   Útest_dist_genrn  ¾  s   „ ó	&r0   rr  )r†   zArguments that bracket...)Úmatchg+‡ÙÎ÷ï?)r   Úrv_discreterV   r¸   r  ÚraisesÚRuntimeErrorro   )rr  Ú	test_distr>  s      r.   Útest_gh20048rx  »  sX   € ô&œ×)Ñ)ô &ñ ¤§¡Ô'€Ià)€GÜ	�‰”|¨7Ô	3ñ Ø�‰�eÔ÷÷ ñ ús   ÁA)Á)A2c                   ó   — e Zd Zd„ Zy)ÚTestPoissonBinomialc                 ó  — t         j                  j                  d«      }|j                  d«      }t        j                  |dz   «      }|j                  |«      }t        j                  ||«      }g d¢}t        ||«       y )Nl   ®zb}ñ r   r:   )gc«¡µÆ™¡?g!)@*ç—ä?gŒ/_“èÊÒ?g§?TxY^œ?gg–	ÎSUH?)rV   rl   r—   rœ   rW   r   rK   r   )rÉ   rp   r*   r(   r-   rE  rô   s          r.   Útest_pmfzTestPoissonBinomial.test_pmfÊ  sh   € ô �i‰i×#Ñ# LÓ1ˆØ�L‰L˜ÓˆÜ�I‰I�a˜!‘eÓˆØ�J‰J�q‹Mˆä×Ñ  1Ó%ˆò=ˆä˜˜SÕ!r0   N)r  r  r  r|  r¢   r0   r.   rz  rz  É  s   „ ó"r0   rz  c                   ó   — e Zd Zd„ Zy)ÚTestRandIntc                 ó*  — d}t        |«      }t        |«      D �cg c]
  }|dz   |z   ‘Œ }}t        j                  d||«      }|dkD  j	                  «       sJ ‚dt        j                  |t
        j                  ¬«      |z
  z  }t        ||«       y c c}w )Nižþÿÿl        iE  r   r:   )Údtype)	rO  r*  r   rK   ÚallrV   ÚasarrayÚfloat64r   )rÉ   r…   Ú	max_rangerT  Úall_b_1rE  rô   s          r.   Útest_gh19759zTestRandInt.test_gh19759ã  s�   € àˆÜ˜“Fˆ	Ü,1°)Ó,<Ö= q�1�w‘; “?Ð=ˆÐ=Ü�k‰k˜#˜q 'Ó*ˆØ�a‘�}‰}ŒÐˆØ”2—:‘:˜g¬R¯Z©ZÔ8¸1Ñ<Ñ=ˆÜ˜˜SÕ!ùò	 >s   ›BN)r  r  r  r†  r¢   r0   r.   r~  r~  â  s   „ ó"r0   r~  )Hr  Ú	itertoolsrK  Ú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}   r  ÚproductÚintÚfloatr‡   r‰   r‘   r“   r˜   rž   r£   r§   r°   r²   rµ   r»   r¾   rÃ   rÅ   r  r_  ra  rc  ri  rx  rz  r~  r¢   r0   r.   ú<module>r’     sþ  ðÛ Û Û å ÷1÷ 1÷ 1÷ 1ñ 1ó
 ÷ñ õ 1Ý &Ý  ð
 ‡�×ÑÐ5ò:ó;ñ,ó;ð,ð ‡�×ÑÐ5ð6ð:ð;ó<ñ
,ó<ð
,ò
Hò4)ò	>òCò#òò-ò&%ð ‡�×Ñ˜¡4Ð(9¨	×(9Ñ(9¸SÀ%¸L¸>È!Ñ;KÐ(LÓ#MÓNñPó OðPò%òFò
Eò
*òò$Bò:ð ‡�×ÑÐ/ò 2ó ñ5óð5òKò
Hò'ò-ò'÷D ñ D ÷NN'ñ N'ðb ‡�×ÑÐ*Ú;Ú7ð9ó:ñ6ó:ð6ò	÷*)ñ *)÷Z'ñ 'ò÷"ñ "÷2	"ò 	"r0   