Ë
    âQ(h~å ã                   ó$  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZmZ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mZmZm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' d dl(m)Z) d dl*m)c m+Z, d dl-m.Z.m/Z/m0Z0 d dl-m1Z1m2Z2m3Z3m4Z4m5Z5 d dl-m6Z6 d d	l-m7Z7m8Z8m9Z9 d d
l-m:Z:m;Z;m<Z< d dl=m>Z>m?Z? d dl@mAZAmBZBmCZC d dlDmEZEmFZFmGZG d dlHmIZImJZJmKZK d dlLZLej                  dk(  s ejš                  «       d    dk(  rejœ                  nejž                  ZP G d„ d«      ZQ G d„ d«      ZR G d„ d«      ZS G d„ d«      ZT G d„ d«      ZU G d„ d«      ZV G d„ d«      ZW G d„ d «      ZX G d!„ d"«      ZY G d#„ d$«      ZZ G d%„ d&«      Z[ G d'„ d(«      Z\ G d)„ d*«      Z] G d+„ d,«      Z^ G d-„ d.«      Z_ G d/„ d0«      Z` G d1„ d2«      Zadwd3„Zb G d4„ d5«      Zc G d6„ d7«      Zd G d8„ d9«      Ze G d:„ d;«      Zf G d<„ d=«      Zg G d>„ d?«      Zh G d@„ dA«      Zi G dB„ dC«      Zj G dD„ dE«      Zk G dF„ dG«      Zl G dH„ dI«      Zm G dJ„ dK«      Zn G dL„ dM«      Zo G dN„ dO«      Zp G dP„ dQ«      Zq G dR„ dS«      Zr G dT„ dU«      Zs G dV„ dW«      Zt G dX„ dY«      Zu G dZ„ d[«      Zvd\„ Zwd]„ Zx G d^„ d_«      Zyd`„ Zzda„ Z{db„ Z|dc„ Z}dd„ Z~de„ Ze�j                   df„ «       Z�eIdg„ «       Z‚dh„ Zƒdi„ Z„dj„ Z…dk„ Z†dl„ Z‡dm„ Zˆdn„ Z‰do„ ZŠdp„ Z‹dq„ ZŒe�j                  �j                  dr„ «       Z� G ds„ dt«      Z� G du„ dv«      Z‘y)xé    N)ÚarrayÚisnanÚr_ÚarangeÚfinfoÚpiÚsinÚcosÚtanÚexpÚlogÚzerosÚsqrtÚasarrayÚinfÚ
nan_to_numÚrealÚarctanÚdoubleÚarray_equal)Úraises)	Úassert_equalÚassert_almost_equalÚassert_array_equalÚassert_array_almost_equalÚassert_approx_equalÚassert_Úassert_allcloseÚassert_array_almost_equal_nulpÚsuppress_warnings)Úspecial)ÚellipeÚellipkÚellipkm1)ÚelliprcÚelliprdÚelliprfÚelliprgÚelliprj)Úsoftplus)Úmathieu_odd_coefÚmathieu_even_coefÚ	stirling2)ÚlpnÚlpmnÚclpmn)Únp_longÚnp_ulong)Úxp_assert_closeÚxp_assert_equalÚSCIPY_ARRAY_API)Ú_FACTORIALK_LIMITS_64BITSÚ_FACTORIALK_LIMITS_32BITSÚ_is_subdtype)Úwith_special_errorsÚassert_func_equalÚFuncDataÚwin32Ú32bitc                   ó†  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/e0jb                  je                  d.¬/«      d0„ «       Z3d1„ Z4d2„ Z5d3„ Z6e0jb                  je                  d4¬/«      d5„ «       Z7d6„ Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=d<„ Z>d=„ Z?d>„ Z@d?„ ZAd@„ ZBdA„ ZCdB„ ZDdC„ ZEdD„ ZFdE„ ZGdF„ ZHdG„ ZIdH„ ZJdI„ ZKdJ„ ZLdK„ ZMdL„ ZNdM„ ZOdN„ ZPdO„ ZQdP„ ZRdQ„ ZSdR„ ZTdS„ ZUdT„ ZVdU„ ZWdV„ ZXdW„ ZYdX„ ZZdY„ Z[dZ„ Z\d[„ Z]d\„ Z^d]„ Z_d^„ Z`d_„ Zad`„ Zbda„ Zcdb„ Zddc„ Zedd„ Zfde„ Zgdf„ Zhdg„ Zidh„ Zjdi„ Zkdj„ Zldk„ Zmdl„ Zndm„ Zodn„ Zpdo„ Zqdp„ Zrdq„ Zsdr„ Ztds„ Zudt„ Zvdu„ Zwdv„ Zxdw„ Zydx„ Zzdy„ Z{dz„ Z|d{„ Z}d|„ Z~d}„ Zd~„ Z€d„ Z�d€„ Z‚d�„ Zƒd‚„ Z„e0jb                  je                  dƒ¬/«      d„„ «       Z…e0jb                  je                  d…¬/«      d†„ «       Z†e0jb                  je                  d‡¬/«      dˆ„ «       Z‡d‰„ ZˆdŠ„ Z‰d‹„ ZŠdŒ„ Z‹d�„ ZŒdŽ„ Z�d�„ ZŽd�„ Z�d‘„ Z�d’„ Z‘d“„ Z’d”„ Z“d•„ Z”d–„ Z•d—„ Z–d˜„ Z—d™„ Z˜dš„ Z™d›„ Zšdœ„ Z›d�„ Zœdž„ Z�dŸ„ Zžd „ ZŸd¡„ Z d¢„ Z¡d£„ Z¢d¤„ Z£d¥„ Z¤d¦„ Z¥d§„ Z¦d¨„ Z§d©„ Z¨dª„ Z©d«„ Zªd¬„ Z«d­„ Z¬d®„ Z­d¯„ Z®d°„ Z¯d±„ Z°d²„ Z±d³„ Z²d´„ Z³dµ„ Z´d¶„ Zµd·„ Z¶d¸„ Z·d¹„ Z¸dº„ Z¹d»„ Zºd¼„ Z»y½)¾Ú
TestCephesc                 ó.   — t        j                  d«       y ©Nr   )ÚcephesÚairy©Úselfs    ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/special/tests/test_basic.pyÚ	test_airyzTestCephes.test_airy@   ó   € Ü�‰�A�ó    c                 ó.   — t        j                  d«       y rA   )rB   ÚairyerD   s    rF   Ú
test_airyezTestCephes.test_airyeC   s   € Ü�‰�Q�rI   c           	      ó¨  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  t        j                  |d d …d f   |d d d …f   «      «      j                  dd«      j                  }t        j                  g d¢g d¢g d¢g d¢g«      }t        t        j                  |j                  «       |d	¬
«       t         j                  j                  d«      }t         j                  t        j                  dd«      d|j                  d«      z  dz
  f   }t        j                  dd«      }t        j                  t        j                  |d d …d f   |d d d …f   «      «      j                  dd«      j                  }t        t        j                  t        j                  |d d …df   |d d …df   dz  «      |dd¬«       y )N)gL7‰A`åÐ?é   gÍÌÌÌÌÌ@é   )é   çš™™™™™Ù?é   gffffff
@rP   éÿÿÿÿ)g§±½ôÞ¸¿g	TÕ·J¤í?g®	7ÿ¾“?geL¼F¿)é   g¥*è+ @r   g­M{á£Ü@)g×£p=
×%@gÏ”“>èÖ@g©<² Íýw¿gúü†ð$@)éˆ   g³,y¥3@iøK  gà–Êô5�@ç‚vIhÂ%<=©ÚrtoléÒ  iùÿÿÿé   éè  éô  r   éf   é   ç     ð?ç»½×Ùß|Û=©ÚatolrX   )Únpr   Úbroadcast_arraysÚreshapeÚTr:   rB   ÚbinomÚravelÚrandomÚRandomStater   r   Úrand)rE   ÚnÚkÚnkÚrknownÚrngs         rF   Ú
test_binomzTestCephes.test_binomF   sl  € Ü�H‰HÒ(Ó)ˆÜ�H‰HÒ%Ó&ˆÜ�X‰X”b×)Ñ)¨!ªA¨d¨F©)°Q°tºA°v±YÓ?ó ß™  2›§q¡qð 	ä—‘ò #Ú#QÚFÚ@ðBó Cˆô 	œ&Ÿ,™,¨¯©«¸ÀÕGô �i‰i×#Ñ# DÓ)ˆÜ�E‰E”"—)‘)˜B Ó# T¨#¯(©(°2«,Ñ%6¸Ñ%<Ð<Ñ=ˆÜ�I‰I�a˜ÓˆÜ�X‰X”b×)Ñ)¨!ªA¨d¨F©)°Q°tºA°v±YÓ?ó ß™  2›§q¡qð 	ô 	œ&Ÿ,™,Ü Ÿ,™, rª!¨A¨#¡w°²1°Q°3±¸9Ñ0EÓFØØ$¨5ö	2rI   c           	      óæ  — t         j                  j                  d«       t         j                  t        j                  ddd«         }t        j
                  dd«      }t        j                  t        j                  |d d …d f   |d d d …f   «      «      j                  dd«      j                  }t        t        j                  t        j                  |d d …df   |d d …df   d	z  «      |d
d
¬«       y )NrY   r^   é,  é   r   r]   rP   rS   r_   r`   ra   )rc   ri   Úseedr   Úlogspacer   r   rd   re   rf   r:   rB   rg   )rE   rl   rm   rn   s       rF   Útest_binom_2zTestCephes.test_binom_2]   s·   € ä
�	‰	�‰�tÔÜ�E‰E”"—+‘+˜a  bÓ)Ñ*ˆÜ�I‰I�a˜ÓˆÜ�X‰X”b×)Ñ)¨!ªA¨d¨F©)°Q°tºA°v±YÓ?ó ß™  2›§q¡qð 	ô 	œ&Ÿ,™,Ü Ÿ,™, rª!¨A¨#¡w°²1°Q°3±¸9Ñ0EÓFØØ$¨5ö	2rI   c           	      óú  — t         j                  d„ «       }t         j                  j                  d«       t        j                  dd«      }t        j                  dd«      }t        j
                  t        j                  |d d …d f   |d d d …f   «      «      j                  dd«      j                  }||d d …df   |d d …df   k\     }t        t        j                   ||d d …df   |d d …df   «      |dd¬«       y )	Nc                 óš   — t        | «      } t        |«      }d}d}t        d|dz   «      D ]  }||| z   |z
  z  }||z  }Œ t        ||z  «      S ©Nr^   )ÚintÚrangeÚfloat)rl   rm   ÚnumÚdenÚis        rF   Ú	binom_intz.TestCephes.test_binom_exact.<locals>.binom_intk   sb   € ä�A“ˆAÜ�A“ˆAØˆCØˆCÜ˜1˜a ™c“]ò �Ø�q˜1‘u˜q‘yÑ �Ø�q‘‘ðô ˜˜S™“>Ð!rI   rY   r^   é   r   rP   rS   ra   )rc   Ú	vectorizeri   ru   r   r   rd   re   rf   r:   rB   rg   )rE   r�   rl   rm   rn   s        rF   Útest_binom_exactzTestCephes.test_binom_exactj   sØ   € Ü	�‰ñ	"ó 
ð	"ô 	�	‰	�‰�tÔÜ�I‰I�a˜ÓˆÜ�I‰I�a˜ÓˆÜ�X‰X”b×)Ñ)¨!ªA¨d¨F©)°Q°tºA°v±YÓ?ó ß™  2›§q¡qð 	à�’1�Q�3‘˜2ša ˜c™7Ñ"Ñ#ˆÜœ&Ÿ,™,Ù# B¢q¨ s¡G¨R²°!°©WÓ5ØØ  qö	*rI   c                 óŽ   — g d¢}t        j                  |«      }t        t        j                  |ddd¬«      j                  «        y )N))r[   r\   gìßwP–Ô~)iê  iõ  giióÞüÍ9~)iì  iö  g´ÁyhÇY~)iî  i÷  gèpvÙÀy~)ið  iø  gz¼°ºNº™~)iò  iù  gGTÉ³¹~)iô  iú  g@íjàH­Ù~)iö  iû  gF:aYÍ¦ù~)iø  iü  gè²É¸V )iú  iý  g
{øä™9)iü  iþ  gyÇVx“Y)iþ  éÿ  gù*I �y)i   i   g¯I¼¬†™)i  i  gõþW@N€¹)i  i  g5¿�†ôyÙ)r   r^   rP   çê-�™—q=rW   )rc   r   r;   rB   rg   Úcheck)rE   Údatasets     rF   Útest_binom_nooverflow_8346z%TestCephes.test_binom_nooverflow_8346�   s6   € ò
ˆô" —*‘*˜WÓ%ˆÜ”—‘˜w¨°¸Ô>×DÑDÕFrI   c                 óF   — t        t        j                  ddd«      d«       y )Nr^   ç      à?ç      ð?)r   rB   ÚbdtrrD   s    rF   Ú	test_bdtrzTestCephes.test_bdtr—   s   € Ü”V—[‘[  1 SÓ)¨#Õ.rI   c                 óF   — t        t        j                  ddd«      d«       y ©Nr^   é   rŒ   )r   rB   ÚbdtrirD   s    rF   Ú
test_bdtrizTestCephes.test_bdtriš   ó   € Ü”V—\‘\ ! A cÓ*¨3Õ/rI   c                 óF   — t        t        j                  ddd«      d«       y r‘   )r   rB   ÚbdtrcrD   s    rF   Ú
test_bdtrczTestCephes.test_bdtrc�   r•   rI   c                 óF   — t        t        j                  ddd«      d«       y ©Nr^   r   ç      @)r   rB   ÚbdtrinrD   s    rF   Útest_bdtrinzTestCephes.test_bdtrin    ó   € Ü”V—]‘] 1 Q qÓ)¨#Õ.rI   c                 ó2   — t        j                  ddd«       y r‘   )rB   ÚbdtrikrD   s    rF   Útest_bdtrikzTestCephes.test_bdtrik£   s   € Ü�‰�a˜˜#ÕrI   c                 óB   — t        t        j                  d«      d«       y ©Nr   ç        )r   rB   ÚbeirD   s    rF   Útest_beizTestCephes.test_bei¦   ó   € Ü”V—Z‘Z “] 3Õ'rI   c                 óB   — t        t        j                  d«      d«       y r£   )r   rB   ÚbeiprD   s    rF   Ú	test_beipzTestCephes.test_beip©   ó   € Ü”V—[‘[ “^ CÕ(rI   c                 óB   — t        t        j                  d«      d«       y ©Nr   r�   )r   rB   ÚberrD   s    rF   Útest_berzTestCephes.test_ber¬   r§   rI   c                 óB   — t        t        j                  d«      d«       y r£   )r   rB   ÚberprD   s    rF   Ú	test_berpzTestCephes.test_berp¯   r«   rI   c                 óF   — t        t        j                  ddd«      d«       y r­   )r   rB   Ú
besselpolyrD   s    rF   Útest_besselpolyzTestCephes.test_besselpoly²   s   € Ü”V×&Ñ& q¨¨1Ó-¨cÕ2rI   c                 óF   — t        t        j                  ddd«      d«       y ©Nr^   r›   )r   rB   ÚbtdtriarD   s    rF   Útest_btdtriazTestCephes.test_btdtriaµ   ó   € Ü”V—^‘^ A a¨Ó*¨3Õ/rI   c                 óF   — t        t        j                  ddd«      d«       y r·   )r   rB   ÚbtdtribrD   s    rF   Útest_btdtribzTestCephes.test_btdtrib¸   rº   rI   c                 óB   — t        t        j                  d«      d«       y ©Nr^   r�   )r   rB   ÚcbrtrD   s    rF   Ú	test_cbrtzTestCephes.test_cbrt»   s   € ÜœFŸK™K¨›N¨3Õ/rI   c                 óD   — t        t        j                  dd«      d«       y ©Nr^   r   r¤   )r   rB   ÚchdtrrD   s    rF   Ú
test_chdtrzTestCephes.test_chdtr¾   s   € Ü”V—\‘\ ! AÓ& sÕ+rI   c                 óD   — t        t        j                  dd«      d«       y ©Nr^   r   r�   )r   rB   ÚchdtrcrD   s    rF   Útest_chdtrczTestCephes.test_chdtrcÁ   ó   € Ü”V—]‘] 1 QÓ'¨Õ,rI   c                 óD   — t        t        j                  dd«      d«       y ©Nr^   r¤   )r   rB   ÚchdtrirD   s    rF   Útest_chdtrizTestCephes.test_chdtriÄ   rÊ   rI   c                 óD   — t        t        j                  dd«      d«       y )Nr   r›   )r   rB   ÚchdtrivrD   s    rF   Útest_chdtrivzTestCephes.test_chdtrivÇ   s   € Ü”V—^‘^ A aÓ(¨Õ-rI   c                 óž  — t        t        j                  ddd«      d«       t        j                  g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  |d d …df   |d d …df   |d d …df   «      }t        ||d d …df   d¬«       t        t        j                  t        j                  t        j                  d«      d«       t        t        j                  ddt        j                  «      d«       t        t        j                  t        j                  t        j                  dd«      «      «       t        t        j                  t        j                  dt        j                  d«      «      «       t        t        j                  t        j                  ddt        j                  «      «      «       y )Nr   r^   r¤   )ç      9@ç      4@é�  g¢ÚLÞ94)rÓ   ç       @éú   g7ÅF�hþ9)gü©ñÒMbP?rÖ   ç      D@g‰gÃ¥cÿ;)ç{®Gáz„?rÖ   rØ   g	®¼åð;)rÔ   ç       @ék   g8»x@xò>)g     €6@rÚ   rÛ   g—÷g1\’>>)rÓ   rÚ   rÛ   g‘ÎÜë²`>)ç      @rÚ   r�   gpˆ!PÜã?)g     àu@g     Àr@ç      $@g jû¨
î?)ç      Y@ç      +@rÝ   g]þÿÿï?)g     à…@rÔ   rÕ   g4Û™ÿÿÿï?)g     Àb@rß   rÝ   gþÿÿÿÿÿï?)g      d@rß   rÝ   r�   rP   r’   r‡   rW   rÚ   é   )r   rB   Úchndtrrc   r   r   r   r   r   r   Únan)rE   ÚvaluesÚcdfs      rF   Útest_chndtrzTestCephes.test_chndtrÊ   s5  € Ü”V—]‘] 1 Q qÓ)¨#Ô.ô
 —‘Ú9Ú9Ú9Ú:Ú9Ú9Ú9Ú6Ú6Ú6Ú6Ú6Ú6ð
ó ˆô �m‰m˜F¢1 a 4™L¨&²°A°©,¸ºqÀ!¸t¹ÓEˆÜ˜˜V¢A q D™\°Õ6äœFŸM™M¬"¯&©&´"·&±&¸!Ó<¸cÔBÜœFŸM™M¨!¨Q´·±Ó7¸Ô=Ü”—‘œŸ™¤r§v¡v¨q°!Ó4Ó5Ô6Ü”—‘œŸ™ q¬"¯&©&°!Ó4Ó5Ô6Ü”—‘œŸ™ q¨!¬R¯V©VÓ4Ó5Õ6rI   c                 óF   — t        t        j                  ddd«      d«       y ©Nr   r^   r›   )r   rB   Ú	chndtridfrD   s    rF   Útest_chndtridfzTestCephes.test_chndtridfè   ó   € Ü”V×%Ñ% a¨¨!Ó,¨SÕ1rI   c                 óF   — t        t        j                  ddd«      d«       y rç   )r   rB   Ú	chndtrincrD   s    rF   Útest_chndtrinczTestCephes.test_chndtrincë   rê   rI   c                 óF   — t        t        j                  ddd«      d«       y ©Nr   r^   r¤   )r   rB   ÚchndtrixrD   s    rF   Útest_chndtrixzTestCephes.test_chndtrixî   ó   € Ü”V—_‘_ Q q¨Ó+¨CÕ0rI   c                 óB   — t        t        j                  d«      d«       y r­   )r   rB   ÚcosdgrD   s    rF   Ú
test_cosdgzTestCephes.test_cosdgñ   ó   € Ü”V—\‘\ !“_ SÕ)rI   c                 óB   — t        t        j                  d«      d«       y r£   )r   rB   Úcosm1rD   s    rF   Ú
test_cosm1zTestCephes.test_cosm1ô   rö   rI   c                 óB   — t        t        j                  d«      d«       y ©Né-   r�   )r   rB   ÚcotdgrD   s    rF   Ú
test_cotdgzTestCephes.test_cotdg÷   s   € ÜœFŸL™L¨Ó,¨SÕ1rI   c                 ó€   — t        t        j                  d«      d«       t        t        j                  d«      d«       y )Nr   r¤   g®Gáz®ó?gâ¨Àfà?)r   rB   Údawsnr   rD   s    rF   Ú
test_dawsnzTestCephes.test_dawsnú   s(   € Ü”V—\‘\ !“_ SÔ)ÜœŸ™ TÓ*Ð,?Õ@rI   c                 ó$  — g d¢}t        j                  dt         j                  z  dz   «      j                  t         j                  «      }t        t        j                  ||«      dd¬«       t        j                  dt         j                  z  dz   «      j                  t         j                  «      }t        t        j                  ||«      dd¬«       t        j                  dt         j                  z  d	z   «      j                  t         j                  «      }t        t        j                  ||«      dd¬«       t        t         d
«      rht        j                  dt         j                  z  dz   «      j                  t         j                  «      }t        t        j                  ||«      dd¬«       g d¢}t        j                  dt         j                  z  dz   «      j                  t         j                  «      }t        t        j                  ||«      dd¬«       t        j                  dt         j                  z  dt         j                  z  dt         j                  z  «      }g d¢}t        t        j                  |d«      |d¬«       y )N)r^   rà   é   rP   g-Cëâ6
?r�   rR   ©Údecimalç•Ö&è.>r‚   çVçž¯Ò<Úfloat128r‡   é   )rP   rN   é   ç      ð¿çš™™™™™É?)g£ºgúìë?gsø½OBá?g”saLÀ?g
7•I”^Ê¿r’   )rc   r   r   ÚastypeÚfloat32r   r!   ÚdiricÚfloat64Úhasattrr  r   )rE   Ún_oddÚxÚn_evenÚoctave_results        rF   Ú
test_diriczTestCephes.test_diricþ   s£  € ò ˆÜ�H‰H�Q”r—u‘u‘W˜t‘^Ó$×+Ñ+¬B¯J©JÓ7ˆÜœGŸM™M¨!¨UÓ3°SÀ!ÕDÜ�H‰H�Q”r—u‘u‘W˜t‘^Ó$×+Ñ+¬B¯J©JÓ7ˆÜœGŸM™M¨!¨UÓ3°SÀ"ÕEÜ�H‰H�Q”r—u‘u‘W˜u‘_Ó%×,Ñ,¬R¯Z©ZÓ8ˆÜœGŸM™M¨!¨UÓ3°SÀ"ÕEÜ”2�zÔ"ä—‘˜œ2Ÿ5™5™ 5™Ó)×0Ñ0´·±Ó=ˆAÜ¤§¡¨a°Ó 7¸ÀbÕIâˆÜ�H‰H�Q”r—u‘u‘W˜t‘^Ó$×+Ñ+¬B¯J©JÓ7ˆÜœGŸM™M¨!¨VÓ4°dÀBÕGô �I‰I�cœ"Ÿ%™%‘i ¤R§U¡U¡¨C´·±©IÓ6ˆò@ˆäœGŸM™M¨!¨QÓ/°ÈÖKrI   c                 ó
  — t        j                  d«      }t        j                  g d¢«      }t        t	        j
                  |d d …t         j                  f   |«      j                  |j                  |j                  fk(  «       y )Nrà   )r^   r’   rR   )	rc   r   r   r   r!   r  ÚnewaxisÚshapeÚsize)rE   r  rl   s      rF   Útest_diric_broadcastingz"TestCephes.test_diric_broadcasting  sU   € Ü�I‰I�a‹LˆÜ�H‰H’YÓˆÜ”—‘˜a¢¤2§:¡: Ñ.°Ó2×8Ñ8¸Q¿V¹VÀQÇVÁVÐ<LÑLÕMrI   c                 óB   — t        t        j                  d«      d«       y r¿   )r   rB   r"   rD   s    rF   Útest_ellipezTestCephes.test_ellipe  ó   € Ü”V—]‘] 1Ó% cÕ*rI   c                 óD   — t        t        j                  dd«      d«       y rï   )r   rB   Ú	ellipeincrD   s    rF   Útest_ellipeinczTestCephes.test_ellipeinc  ó   € Ü”V×%Ñ% a¨Ó*¨3Õ/rI   c                 ó0   — t        j                  dd«       y ©Nr   r^   )rB   ÚellipjrD   s    rF   Útest_ellipjzTestCephes.test_ellipj"  s   € Ü�‰�a˜ÕrI   c                 ó<   — t        t        d«      t        dz  «       y )Nr   rP   )r   r#   r   rD   s    rF   Útest_ellipkzTestCephes.test_ellipk%  s   € Üœ˜q›	¤2 a¡4Õ(rI   c                 óD   — t        t        j                  dd«      d«       y r£   )r   rB   Ú	ellipkincrD   s    rF   Útest_ellipkinczTestCephes.test_ellipkinc(  r"  rI   c                 óB   — t        t        j                  d«      d«       y r£   ©r   rB   ÚerfrD   s    rF   Útest_erfzTestCephes.test_erf+  s   € Ü”V—Z‘Z “] CÕ(rI   c                 ót   — d}t        t        j                  |«      t        j                  | «      z   d«       y )Ng ¡#8xŸ@r¤   r-  ©rE   r  s     rF   Útest_erf_symmetryzTestCephes.test_erf_symmetry.  s(   € ØˆÜ”V—Z‘Z “]¤V§Z¡Z°°£^Ñ3°SÕ9rI   c                 óB   — t        t        j                  d«      d«       y r­   )r   rB   ÚerfcrD   s    rF   Ú	test_erfczTestCephes.test_erfc2  s   € Ü”V—[‘[ “^ SÕ)rI   c                 óB   — t        t        j                  d«      d«       y )NrP   rÞ   )r   rB   Úexp10rD   s    rF   Ú
test_exp10zTestCephes.test_exp105  s   € ÜœFŸL™L¨›O¨EÕ2rI   c                 óB   — t        t        j                  d«      d«       y )NrP   ç      @)r   rB   Úexp2rD   s    rF   Ú	test_exp2zTestCephes.test_exp28  r«   rI   c                 óŠ  — t        t        j                  d«      d«       t        t        j                  t        j                  «      t        j                  «       t        t        j                  t        j                   «      d«       t        t        j                  t        j
                  «      t        j
                  «       y )Nr   r¤   rS   )r   rB   Úexpm1rc   r   râ   rD   s    rF   Ú
test_expm1zTestCephes.test_expm1;  sc   € Ü”V—\‘\ !“_ SÔ)Ü”V—\‘\¤"§&¡&Ó)¬2¯6©6Ô2Ü”V—\‘\¤2§6¡6 'Ó*¨BÔ/Ü”V—\‘\¤"§&¡&Ó)¬2¯6©6Õ2rI   c                 ó´	  — t         j                  }t         |d«      d«       t         |t        t        j
                  d«      «      t        t        j
                  d«      «       t         |t        t        j
                  d«      «      t        t        j
                  t        j
                  «      «       t         |t        t        j
                  d«      «      t        t        j
                   t        j
                  «      «       t         |t        t        j
                  d«      «      t        t        j
                   t        j
                   «      «       t         |t        t        j
                  d«      «      t        t        j
                  t        j
                   «      «       t         |t        dt        j
                  «      «      t        t        j                  t        j                  «      «       t         |t        dt        j
                  «      «      t        t        j                  t        j                  «      «       t         |t        t        j
                  t        j
                  «      «      t        t        j
                  t        j                  «      «       t         |t        t        j
                   t        j
                  «      «      t        dd«      «       t         |t        t        j
                   t        j                  «      «      t        dd«      «       t         |t        t        j
                  t        j                  «      «      t        t        j
                  t        j                  «      «       t         |t        dt        j                  «      «      t        t        j                  t        j                  «      «       t         |t        dt        j                  «      «      t        t        j                  t        j                  «      «       t         |t        t        j                  d«      «      t        t        j                  t        j                  «      «       t         |t        t        j                  t        j                  «      «      t        t        j                  t        j                  «      «       y )Nù                r   r^   rP   rN   rà   rS   )rB   r>  r   Úcomplexrc   r   râ   )rE   r>  s     rF   Útest_expm1_complexzTestCephes.test_expm1_complexA  sŠ  € Ü—‘ˆÜ‘U˜6“] FÔ+Ü‘Uœ7¤2§6¡6¨1Ó-Ó.´¼¿¹ÀÓ0BÔCÜ‘Uœ7¤2§6¡6¨1Ó-Ó.´¼¿¹ÄÇÁÓ0GÔHÜ‘Uœ7¤2§6¡6¨1Ó-Ó.´¼¿¹¸ÄÇÁÓ0HÔIÜ‘Uœ7¤2§6¡6¨1Ó-Ó.´¼¿¹¸Ä"Ç&Á&ÀÓ0IÔJÜ‘Uœ7¤2§6¡6¨1Ó-Ó.´¼¿¹ÄÇÁÀÓ0HÔIÜ‘Uœ7 1¤b§f¡fÓ-Ó.´¼¿¹ÄÇÁÓ0GÔHÜ‘Uœ7 1¤b§f¡fÓ-Ó.´¼¿¹ÄÇÁÓ0GÔHÜ‘Uœ7¤2§6¡6¬2¯6©6Ó2Ó3´W¼R¿V¹VÄRÇVÁVÓ5LÔMÜ‘Uœ7¤B§F¡F 7¬B¯F©FÓ3Ó4´g¸bÀ!³nÔEÜ‘Uœ7¤B§F¡F 7¬B¯F©FÓ3Ó4´g¸bÀ!³nÔEÜ‘Uœ7¤2§6¡6¬2¯6©6Ó2Ó3´W¼R¿V¹VÄRÇVÁVÓ5LÔMÜ‘Uœ7 1¤b§f¡fÓ-Ó.´¼¿¹ÄÇÁÓ0GÔHÜ‘Uœ7 1¤b§f¡fÓ-Ó.´¼¿¹ÄÇÁÓ0GÔHÜ‘Uœ7¤2§6¡6¨1Ó-Ó.´¼¿¹ÄÇÁÓ0GÔHÜ‘Uœ7¤2§6¡6¬2¯6©6Ó2Ó3´W¼R¿V¹VÄRÇVÁVÓ5LÕMrI   z-The real part of expm1(z) bad at these points©Úreasonc                 óp  — t        j                  g d¢«      }t        j                  t        j                  |«      «       }|d|z  z   }t        j                  g d¢«      }t	        j
                  |«      }t        |j                  |j                  d«       t        |j                  |j                  d«       y )N)çš™™™™™¹?r  ç333333Ó?rà   é   rt   ù              ð?)y”­á=…ÿ�¼Cwˆ¯¹?yC7gg)gF<ëUŠgòÉ?yŠQØá”Š<—™âD*ÌÓ?yg:>¬Œ–<»›sKÀy>ñûÕñ¸£¼$	‹Um>lÀy;VÃél ™<„«£´å@r’   rt   )	rc   r   r   r
   rB   r>  r   Úimagr   )rE   Úyr  ÚzÚexpectedÚfounds         rF   Útest_expm1_complex_hardz"TestCephes.test_expm1_complex_hardT  s‡   € ô �H‰HÒ/Ó0ˆÜ�V‰V”B—F‘F˜1“IÓÐˆØ��1‘‰Hˆô —8‘8ò Jó Kˆô —‘˜Q“ˆä& u§z¡z°8·=±=À!ÔDä& u§z¡z°8·=±=À"ÕErI   c                 óŒ   — t        t        j                  ddd«      d«       t        t        j                  ddd«      dd¬	«       y )
Nr^   r   r¤   ç�íµ ÷Æ°>rà   é
   g£�2•óÿï?r‡   rW   )r   rB   Úfdtrr   rD   s    rF   Ú	test_fdtrzTestCephes.test_fdtri  s6   € Ü”V—[‘[  A qÓ)¨3Ô/äœŸ™ D¨!¨RÓ0Ð2DØ"ö	$rI   c                 óŒ   — t        t        j                  ddd«      d«       t        t        j                  ddd«      dd¬	«       y )
Nr^   r   r�   rP   rG  g    _ BgDô�IXlÑ?r‡   rW   )r   rB   Úfdtrcr   rD   s    rF   Ú
test_fdtrczTestCephes.test_fdtrco  s8   € Ü”V—\‘\ ! Q¨Ó*¨CÔ0ô 	œŸ™ Q¨¨TÓ2Ð4GØ"ö	$rI   c                 ó®   — t        t        j                  ddddg«      t        ddg«      d¬«       d}t        t        j                  d	d|«      d
d¬«       y )Nr^   gV-²�ïß?gÕxé&1à?gší
}°Ìï?g<zO'Ñð?rR  rW   g°×€í‡ì?rG  r’   r‡   )r   rB   Úfdtrir   )rE   Úps     rF   Ú
test_fdtrizTestCephes.test_fdtriv  sM   € ÜœŸ™ Q¨¨E°5¨>Ó:Ü˜y¨*Ð5Ó6¸Tõ	Cð %ˆÜœŸ™ S¨!¨QÓ/°¸Ö?rI   zReturns nan on i686.c                 óF   — t        t        j                  ddd«      d«       y )Nr^   rŒ   )r   rB   rZ  rD   s    rF   Útest_fdtri_mysterious_failurez(TestCephes.test_fdtri_mysterious_failure~  s   € äœŸ™ Q¨¨3Ó/°Õ3rI   c                 óF   — t        t        j                  ddd«      d«       y rš   )r   rB   ÚfdtridfdrD   s    rF   Útest_fdtridfdzTestCephes.test_fdtridfd‚  rò   rI   c                 óB   — t        t        j                  d«      d«       y ©Nr   ©r¤   r¤   )r   rB   ÚfresnelrD   s    rF   Útest_fresnelzTestCephes.test_fresnel…  s   € Ü”V—^‘^ AÓ& yÕ1rI   c                 óB   — t        t        j                  d«      d«       y ©Nrà   ç      8@)r   rB   ÚgammarD   s    rF   Ú
test_gammazTestCephes.test_gammaˆ  s   € Ü”V—\‘\ !“_ TÕ*rI   c                 óD   — t        t        j                  dd«      d«       y )Nrà   r^   r¤   )r   rB   ÚgammainccinvrD   s    rF   Útest_gammainccinvzTestCephes.test_gammainccinv‹  s   € Ü”V×(Ñ(¨¨1Ó-¨cÕ2rI   c                 ó.   — t        j                  d«       y )NrS  )rB   ÚgammalnrD   s    rF   Útest_gammalnzTestCephes.test_gammalnŽ  s   € Ü�‰�rÕrI   c                 óh  — t        j                  t         j                   dddddddt         j                  g	t         j                  «      }t        j                  t         j                  t         j                  dd	d	ddddg	t         j                  «      }t        t        j                  |«      |«       y )
Néüÿÿÿç      ÀgffffffÀç       €r¤   r^   gÍÌÌÌÌÌ@r�   r  )rc   r   r   r  râ   r   rB   Úgammasgn)rE   ÚvalsÚ	references      rF   Útest_gammasgnzTestCephes.test_gammasgn‘  s   € Ü�x‰xÜ�f‰fˆW�b˜$  d¨C°°C¼¿¹Ð@Ä"Ç*Á*ó
ˆô —H‘HÜ�V‰V”R—V‘V˜S $¨¨c°3¸¸SÐAÄ2Ç:Á:ó
ˆ	ô 	œ6Ÿ?™?¨4Ó0°)Õ<rI   c                 óF   — t        t        j                  ddd«      d«       y rÃ   )r   rB   ÚgdtrrD   s    rF   Ú	test_gdtrzTestCephes.test_gdtrš  ó   € Ü”V—[‘[  1 QÓ'¨Õ,rI   c                 ób   — t        t        j                  ddt        j                  «      d«       y r¿   )r   rB   r{  rc   r   rD   s    rF   Útest_gdtr_infzTestCephes.test_gdtr_inf�  s   € Ü”V—[‘[  1¤R§V¡VÓ,¨SÕ1rI   c                 óF   — t        t        j                  ddd«      d«       y rÇ   )r   rB   ÚgdtrcrD   s    rF   Ú
test_gdtrczTestCephes.test_gdtrc   ó   € Ü”V—\‘\ ! A aÓ(¨Õ-rI   c                 óF   — t        t        j                  ddd«      d«       y rï   )r   rB   ÚgdtriarD   s    rF   Útest_gdtriazTestCephes.test_gdtria£  rž   rI   c                 ó2   — t        j                  ddd«       y ©Nr^   r   )rB   ÚgdtribrD   s    rF   Útest_gdtribzTestCephes.test_gdtrib¦  s   € Ü�‰�a˜˜!ÕrI   c                 ó2   — t        j                  ddd«       y ©Nr^   rG  )rB   ÚgdtrixrD   s    rF   Útest_gdtrixzTestCephes.test_gdtrixª  s   € Ü�‰�a˜˜"ÕrI   c                 ó0   — t        j                  dd«       y rz   )rB   Úhankel1rD   s    rF   Útest_hankel1zTestCephes.test_hankel1­  ó   € Ü�‰�q˜ÕrI   c                 ó0   — t        j                  dd«       y rz   )rB   Úhankel1erD   s    rF   Útest_hankel1ezTestCephes.test_hankel1e°  ó   € Ü�‰˜˜!ÕrI   c                 ó0   — t        j                  dd«       y rz   )rB   Úhankel2rD   s    rF   Útest_hankel2zTestCephes.test_hankel2³  r’  rI   c                 ó0   — t        j                  dd«       y rz   )rB   Úhankel2erD   s    rF   Útest_hankel2ezTestCephes.test_hankel2e¶  r–  rI   c                 óÈ   — t        t        j                  ddd«      t        d«      «       t        t        j                  ddd«      d«       t        j                  ddd«       y )Nr^   r�   r’   rN   éúÿÿÿg¹ãˆ®š?)r   rB   Úhyp1f1r   rD   s    rF   Útest_hyp1f1zTestCephes.test_hyp1f1¹  sE   € ÜœFŸM™M¨!¨A¨aÓ0´#°c³(Ô;ÜœFŸM™M¨!¨A¨bÓ1Ð3JÔKÜ�‰�a˜˜!ÕrI   c                 óH   — t        t        j                  dddd«      d«       y rÇ   )r   rB   Úhyp2f1rD   s    rF   Útest_hyp2f1zTestCephes.test_hyp2f1¾  ó   € Ü”V—]‘] 1 Q q¨Ó+¨CÕ0rI   c                 óB   — t        t        j                  d«      d«       y r­   )r   rB   Úi0rD   s    rF   Útest_i0zTestCephes.test_i0Á  ó   € Ü”V—Y‘Y˜q“\ #Õ&rI   c                 óB   — t        t        j                  d«      d«       y r­   )r   rB   Úi0erD   s    rF   Útest_i0ezTestCephes.test_i0eÄ  r§   rI   c                 óB   — t        t        j                  d«      d«       y r£   )r   rB   Úi1rD   s    rF   Útest_i1zTestCephes.test_i1Ç  r¨  rI   c                 óB   — t        t        j                  d«      d«       y r£   )r   rB   Úi1erD   s    rF   Útest_i1ezTestCephes.test_i1eÊ  r§   rI   c                 ó.   — t        j                  d«       y rz   )rB   Úit2i0k0rD   s    rF   Útest_it2i0k0zTestCephes.test_it2i0k0Í  ó   € Ü�‰�qÕrI   c                 ó.   — t        j                  d«       y rz   )rB   Úit2j0y0rD   s    rF   Útest_it2j0y0zTestCephes.test_it2j0y0Ð  rµ  rI   c                 ó.   — t        j                  d«       y rz   )rB   Ú
it2struve0rD   s    rF   Útest_it2struve0zTestCephes.test_it2struve0Ó  s   € Ü×Ñ˜!ÕrI   c                 ó.   — t        j                  d«       y rz   )rB   ÚitairyrD   s    rF   Útest_itairyzTestCephes.test_itairyÖ  ó   € Ü�‰�aÕrI   c                 óB   — t        t        j                  d«      d«       y rc  )r   rB   Úiti0k0rD   s    rF   Útest_iti0k0zTestCephes.test_iti0k0Ù  ó   € Ü”V—]‘] 1Ó% iÕ0rI   c                 óB   — t        t        j                  d«      d«       y rc  )r   rB   Úitj0y0rD   s    rF   Útest_itj0y0zTestCephes.test_itj0y0Ü  rÃ  rI   c                 óB   — t        t        j                  d«      d«       y r£   )r   rB   Úitmodstruve0rD   s    rF   Útest_itmodstruve0zTestCephes.test_itmodstruve0ß  s   € Ü”V×(Ñ(¨Ó+¨CÕ0rI   c                 óB   — t        t        j                  d«      d«       y r£   )r   rB   Ú	itstruve0rD   s    rF   Útest_itstruve0zTestCephes.test_itstruve0â  s   € Ü”V×%Ñ% aÓ(¨Õ-rI   c                 óD   — t        t        j                  dd«      d«       y rÃ   )r   rB   ÚivrD   s    rF   Útest_ivzTestCephes.test_ivå  ó   € Ü”V—Y‘Y˜q “^ CÕ(rI   c                 óD   — t        t        j                  dd«      d«       y rÃ   )r   rB   ÚiverD   s    rF   Útest_ivezTestCephes.test_iveè  ó   € Ü”V—Z‘Z  !“_ SÕ)rI   c                 óB   — t        t        j                  d«      d«       y r­   )r   rB   Új0rD   s    rF   Útest_j0zTestCephes.test_j0ë  r¨  rI   c                 óB   — t        t        j                  d«      d«       y r£   )r   rB   Új1rD   s    rF   Útest_j1zTestCephes.test_j1î  r¨  rI   c                 óD   — t        t        j                  dd«      d«       y r­   )r   rB   ÚjnrD   s    rF   Útest_jnzTestCephes.test_jnñ  rÐ  rI   c                 óD   — t        t        j                  dd«      d«       y r­   )r   rB   ÚjvrD   s    rF   Útest_jvzTestCephes.test_jvô  rÐ  rI   c                 óD   — t        t        j                  dd«      d«       y r­   )r   rB   ÚjverD   s    rF   Útest_jvezTestCephes.test_jve÷  rÔ  rI   c                 ó.   — t        j                  d«       y ©NrP   )rB   Úk0rD   s    rF   Útest_k0zTestCephes.test_k0ú  ó   € Ü�	‰	�!�rI   c                 ó.   — t        j                  d«       y rå  )rB   Úk0erD   s    rF   Útest_k0ezTestCephes.test_k0eý  ó   € Ü�
‰
�1�rI   c                 ó.   — t        j                  d«       y rå  )rB   Úk1rD   s    rF   Útest_k1zTestCephes.test_k1   rè  rI   c                 ó.   — t        j                  d«       y rå  )rB   Úk1erD   s    rF   Útest_k1ezTestCephes.test_k1e  rì  rI   c                 ó.   — t        j                  d«       y rå  )rB   ÚkeirD   s    rF   Útest_keizTestCephes.test_kei  rì  rI   c                 óB   — t        t        j                  d«      d«       y r£   )r   rB   ÚkeiprD   s    rF   Ú	test_keipzTestCephes.test_keip	  r«   rI   c                 ó.   — t        j                  d«       y rå  )rB   ÚkerrD   s    rF   Útest_kerzTestCephes.test_ker  rì  rI   c                 ó.   — t        j                  d«       y rå  )rB   ÚkerprD   s    rF   Ú	test_kerpzTestCephes.test_kerp  rH   rI   c                 ó.   — t        j                  d«       y rå  )rB   ÚkelvinrD   s    rF   Útest_kelvinzTestCephes.test_kelvin  r¿  rI   c                 ó0   — t        j                  dd«       y rz   )rB   ÚknrD   s    rF   Útest_knzTestCephes.test_kn  ó   € Ü�	‰	�!�A�rI   c                 óÀ   — t        t        j                  d«      d«       t        t	        j
                  t        j                  t        j                  «      «      «       y rÌ   )r   rB   Úkolmogir   rc   r   râ   rD   s    rF   Útest_kolmogizTestCephes.test_kolmogi  s3   € Ü”V—^‘^ AÓ& sÔ+Ü”—‘œŸ™¬¯©Ó/Ó0Õ1rI   c                 óB   — t        t        j                  d«      d«       y r­   )r   rB   Ú
kolmogorovrD   s    rF   Útest_kolmogorovzTestCephes.test_kolmogorov  s   € Ü”V×&Ñ& qÓ)¨3Õ/rI   c                 óB   — t        t        j                  d«      d«       y )Nr   ru  )r   rB   Ú_kolmogprD   s    rF   Útest_kolmogpzTestCephes.test_kolmogp  s   € Ü”V—_‘_ QÓ'¨Õ.rI   c                 óB   — t        t        j                  d«      d«       y r£   )r   rB   Ú_kolmogcrD   s    rF   Útest_kolmogczTestCephes.test_kolmogc"  s   € Ü”V—_‘_ QÓ'¨Õ-rI   c                 óÀ   — t        t        j                  d«      d«       t        t	        j
                  t        j                  t        j                  «      «      «       y r£   )r   rB   Ú	_kolmogcir   rc   r   râ   rD   s    rF   Útest_kolmogcizTestCephes.test_kolmogci%  s7   € Ü”V×%Ñ% aÓ(¨#Ô.Ü”—‘œ×)Ñ)¬"¯&©&Ó1Ó2Õ3rI   c                 ó0   — t        j                  dd«       y rz   )rB   ÚkvrD   s    rF   Útest_kvzTestCephes.test_kv)  r  rI   c                 ó0   — t        j                  dd«       y rz   )rB   ÚkverD   s    rF   Útest_kvezTestCephes.test_kve,  ó   € Ü�
‰
�1�Q�rI   c                 ó&  — t         j                  }t         |d«      d«       t         |d«      t        j                   «       t         |d«      t        j
                  «       t         |t        j                  «      t        j                  «       y )Nr   r¤   rS   éþÿÿÿ)rB   Úlog1pr   rc   r   râ   )rE   r  s     rF   Ú
test_log1pzTestCephes.test_log1p/  sU   € Ü—‘ˆÜ‘U˜1“X˜sÔ#Ü‘U˜2“Y¤§¡ Ô(Ü‘U˜2“Y¤§¡Ô'Ü‘Uœ2Ÿ6™6“]¤B§F¡FÕ+rI   c           	      ó"  — t         j                  }t        }t         |d«      d«       t         | |dd«      «       |t        j
                   d«      «       t        «       5 }|j                  t        d«       t         | |dt        j
                  «      «       |t        j
                  t        j                  dz  «      «       t         | |dt        j                  «      «       |t        j                  t        j                  «      «       t         | |t        j
                   d«      «       |t        j
                  t        j                  «      «       t         | |t        j
                  d«      «       |t        j
                  d«      «       t         | |t        j
                   t        j
                  «      «       |t        j
                  dt        j                  z  dz  «      «       t         | |t        j
                  t        j
                  «      «       |t        j
                  t        j                  dz  «      «       t         | |t        j
                  t        j                  «      «       |t        j
                  t        j                  «      «       t         | |t        j
                   t        j                  «      «       |t        j
                  t        j                  «      «       t         | |t        j                  t        j
                  «      «       |t        j
                  t        j                  «      «       t         | |t        j                  d«      «       |t        j                  t        j                  «      «       t         | |t        j                  t        j                  «      «       |t        j                  t        j                  «      «       d d d «       y # 1 sw Y   y xY w)	NrA  rS   r   z%invalid value encountered in multiplyr^   rP   r’   rN   )rB   r  rB  r   rc   r   r    ÚfilterÚRuntimeWarningr   r   râ   )rE   r  ÚcÚsups       rF   Útest_log1p_complexzTestCephes.test_log1p_complex6  sU  € Ü—‘ˆÜˆÜ‘U˜6“] FÔ+Ü‘U™1˜R ›8“_¡a¬¯©¨°£mÔ4ÜÓ ð 	F CØ�J‰J”~Ð'NÔOÜ™E¡! A¤r§v¡v£,Ó/±´2·6±6¼2¿5¹5À¹7Ó1CÔDÜ™™q ¤B§F¡F›|Ó,©a´·±¼¿¹Ó.?Ô@Ü™E¡!¤R§V¡V G¨Q£-Ó0±!´B·F±F¼B¿E¹EÓ2BÔCÜ™™q¤§¡¨›|Ó,©a´·±¸«lÔ;Ü™E¡!¤R§V¡V G¬R¯V©VÓ"4Ó5±q¼¿¹ÀÄ2Ç5Á5ÁÈÁÓ7KÔLÜ™E¡!¤B§F¡F¬B¯F©FÓ"3Ó4±a¼¿¹ÄÇÁÀaÁÓ6HÔIÜ™™q¤§¡¬¯©Ó0Ó1±1´R·V±V¼R¿V¹VÓ3DÔEÜ™™q¤"§&¡& ¬"¯&©&Ó1Ó2±A´b·f±f¼b¿f¹fÓ4EÔFÜ™™q¤§¡¬¯©Ó0Ó1±1´R·V±V¼R¿V¹VÓ3DÔEÜ™™q¤§¡¨›|Ó,©a´·±¼¿¹Ó.?Ô@Ü™™q¤§¡¬¯©Ó0Ó1±1´R·V±V¼R¿V¹VÓ3DÔE÷	F÷ 	Fñ 	Fús   Á"NPÐPc                 óF   — t        t        j                  ddd«      d«       y )Nr   r^   r�   )r   rB   ÚlpmvrD   s    rF   Ú	test_lpmvzTestCephes.test_lpmvI  r}  rI   c                 óD   — t        t        j                  dd«      d«       y rÇ   )r   rB   Ú	mathieu_arD   s    rF   Útest_mathieu_azTestCephes.test_mathieu_aL  r"  rI   c                 óD   — t        t        j                  dd«      d«       y rÇ   )r   rB   Ú	mathieu_brD   s    rF   Útest_mathieu_bzTestCephes.test_mathieu_bO  r"  rI   c           
      óˆ  — t        t        j                  ddd«      d«       t        j                  d„ «       }t        j
                  dd«      }t        j                  dt        j                  ddd«      f   }t        t        j                  |d d …d f   |d d d …f   d	«      d    ||d d …d f   |d d d …f   d	«      d
d¬«       y )Nr^   r   ©r�   r¤   c                 óš  — |t         j                  dz  z  }| dk(  rddd|z  t        d|z  «      z  z
  z  S | dk(  r t        |«      |dz  t        d|z  «      z  z
  S | dk(  r&t        d|z  «      |t        d	|z  «      d
z  dz
  z  z
  S t        | |z  «      |t        | dz   |z  «      d	| dz   z  z  t        | dz
  |z  «      d	| dz
  z  z  z
  z  z
  S )Né´   r   gÍ;fž æ?r^   rŒ   rP   é   r’   rN   é   ç      Ð?)rc   r   r
   ©ÚmÚqrM  s      rF   Ú	ce_smallqz.TestCephes.test_mathieu_cem.<locals>.ce_smallqV  sâ   € à”—‘�s‘‰NˆAØ�AŠvà  A¨¨1©¬S°°1±«X©Ñ$5Ñ6Ð6Ø�a’ä˜1“v  !¡¤c¨!¨A©#£h¡Ñ.Ð.Ø�a’ä˜1˜Q™3“x !¤S¨¨1©£X¨b¡[°3Ñ%6Ñ"7Ñ7Ð7ô ˜1˜Q™3“x !¤S¨!¨A©#¨q©£\°1°a¸±c±7Ñ%;¼cÀ1ÀQÁ3ÈÁ'»lÈAÈqÐQRÉsÉGÑ>TÑ%TÑ"UÑUÐUrI   éd   éâÿÿÿé÷ÿÿÿrS  ç°rh‘í|¿?ç›+¡†›„=©rX   rb   )	r   rB   Úmathieu_cemrc   rƒ   r   r   rv   r   )rE   r9  r7  r8  s       rF   Útest_mathieu_cemzTestCephes.test_mathieu_cemR  s¶   € Ü”V×'Ñ'¨¨!¨AÓ.¨yÔ9ô 
�‰ñ	Vó 
ð	Vô �I‰I�a˜ÓˆÜ�E‰E�!”R—[‘[  b¨"Ó-Ð-Ñ.ˆÜœ×*Ñ*¨1ªQ¨t¨V©9°a¸ºQ¸±iÀÓGÈÑJÙ! !¢A d F¡)¨Q¨t²A¨v©Y¸Ó>Ø"¨ö	,rI   c           
      óˆ  — t        t        j                  ddd«      d«       t        j                  d„ «       }t        j
                  dd«      }t        j                  dt        j                  ddd«      f   }t        t        j                  |d d …d f   |d d d …f   d	«      d    ||d d …d f   |d d d …f   d	«      d
d¬«       y )Nr^   r   ©r¤   r�   c                 óV  — |t         j                  dz  z  }| dk(  r t        |«      |dz  t        d|z  «      z  z
  S | dk(  r#t        d|z  «      |t        d|z  «      z  dz  z
  S t        | |z  «      |t        | dz   |z  «      d| dz   z  z  t        | dz
  |z  «      d| dz
  z  z  z
  z  z
  S )Nr2  r^   r3  r’   rP   rN   r4  )rc   r   r	   r6  s      rF   Ú	se_smallqz.TestCephes.test_mathieu_sem.<locals>.se_smallqo  sµ   € à”—‘�s‘‰NˆAØ�AŠvä˜1“v  !¡¤c¨!¨A©#£h¡Ñ.Ð.Ø�a’ä˜1˜Q™3“x !¤C¨¨!©£H¡*¨R¡-Ñ/Ð/ô ˜1˜Q™3“x !¤S¨!¨A©#¨q©£\°1°a¸±c±7Ñ%;¼cÀ1ÀQÁ3ÈÁ'»lÈAÈqÐQRÉsÉGÑ>TÑ%TÑ"UÑUÐUrI   r:  r;  r<  rS  r=  r>  r?  )	r   rB   Úmathieu_semrc   rƒ   r   r   rv   r   )rE   rE  r7  r8  s       rF   Útest_mathieu_semzTestCephes.test_mathieu_semk  s¶   € Ü”V×'Ñ'¨¨!¨AÓ.¨yÔ9ô 
�‰ñ
	Vó 
ð
	Vô �I‰I�a˜ÓˆÜ�E‰E�!”R—[‘[  b¨"Ó-Ð-Ñ.ˆÜœ×*Ñ*¨1ªQ¨t¨V©9°a¸ºQ¸±iÀÓGÈÑJÙ! !¢A d F¡)¨Q¨t²A¨v©Y¸Ó>Ø"¨ö	,rI   c                 óF   — t        t        j                  ddd«      d«       y ©Nr^   r   rd  )r   rB   Úmathieu_modcem1rD   s    rF   Útest_mathieu_modcem1zTestCephes.test_mathieu_modcem1�  ó   € Ü”V×+Ñ+¨A¨a°Ó2°9Õ=rI   c                 óB  — t        j                  ddd«       t        j                  dd«      d d …d d f   }t        j                  t        j
                  ddd«         d d d …d f   }t        j                  ddd«      d d d d …f   }t        j                  ||| «      d   }t        j                  ||d«      d    t        j                  ||d«      d   z  }t        j                  |||«      d    d|z  t        j                  |||«      d   z  z
  }t        ||d¬	«       y )
Nr^   r   rN   r  rP   rS  rR   r`   rW   )	rB   Úmathieu_modcem2rc   r   r   rv   ÚlinspacerJ  r   ©rE   r7  r8  rM  Úy1ÚfrÚy2s          rF   Útest_mathieu_modcem2zTestCephes.test_mathieu_modcem2„  s  € Ü×Ñ˜q  1Ô%ô �I‰I�a˜‹OšA˜d 4˜KÑ(ˆÜ�E‰E”"—+‘+˜b ! RÓ(Ñ)¨$ªq°¨+Ñ6ˆÜ�K‰K˜˜1˜aÓ   dª1 Ñ-ˆä×#Ñ# A q¨1¨"Ó-¨aÑ0ˆä×$Ñ$ Q¨¨1Ó-¨aÑ0Ð0´6×3IÑ3IÈ!ÈQÐPQÓ3RÐSTÑ3UÑUˆÜ×%Ñ% a¨¨AÓ.¨qÑ1Ð1Ø�"‘”V×+Ñ+¨A¨q°!Ó4°QÑ7Ñ7ñ8ˆô 	˜˜B UÖ+rI   c                 óF   — t        t        j                  ddd«      d«       y rI  )r   rB   Úmathieu_modsem1rD   s    rF   Útest_mathieu_modsem1zTestCephes.test_mathieu_modsem1”  rL  rI   c                 ó>  — t        j                  ddd«       t        j                  dd«      d d …d d f   }t        j                  t        j
                  ddd«         d d d …d f   }t        j                  ddd«      d d d d …f   }t        j                  ||| «      d   }t        j                  ||d«      d   t        j                  ||d«      d   z  }t        j                  |||«      d   d|z  t        j                  |||«      d   z  z
  }t        ||d¬	«       y )
Nr^   rN   r  rP   rS  r   rR   r`   rW   )	rB   Úmathieu_modsem2rc   r   r   rv   rO  rV  r   rP  s          rF   Útest_mathieu_modsem2zTestCephes.test_mathieu_modsem2—  s  € Ü×Ñ˜q  1Ô%ô �I‰I�a˜‹OšA˜d 4˜KÑ(ˆÜ�E‰E”"—+‘+˜b ! RÓ(Ñ)¨$ªq°¨+Ñ6ˆÜ�K‰K˜˜1˜aÓ   dª1 Ñ-ˆä×#Ñ# A q¨1¨"Ó-¨aÑ0ˆÜ×#Ñ# A q¨!Ó,¨QÑ/´&×2HÑ2HÈÈAÈqÓ2QÐRSÑ2TÑTˆÜ×$Ñ$ Q¨¨1Ó-¨aÑ0Ø�"‘”V×+Ñ+¨A¨q°!Ó4°QÑ7Ñ7ñ8ˆä˜˜B UÖ+rI   c                 óô  — t        t        j                  ddd«      t        j                  t        j                  f«       t        t        j
                  ddd«      t        j                  t        j                  f«       t        t        j                  ddd«      t        j                  t        j                  f«       t        t        j
                  ddd«      t        j                  t        j                  f«       t        t        j                  ddd«      t        j                  t        j                  f«       t        t        j                  ddd«      t        j                  t        j                  f«       t        t        j                  ddd«      t        j                  t        j                  f«       t        t        j                  ddd«      t        j                  t        j                  f«       y )Né'  r   gÍÌÌÌÌÌô?ç      ø?)
r   rB   r@  rc   râ   rF  rJ  rV  rN  rY  rD   s    rF   Útest_mathieu_overflowz TestCephes.test_mathieu_overflow¥  s2  € ä”V×'Ñ'¨¨q°#Ó6¼¿¹ÄÇÁÐ8HÔIÜ”V×'Ñ'¨¨q°#Ó6¼¿¹ÄÇÁÐ8HÔIÜ”V×'Ñ'¨¨s°CÓ8¼2¿6¹6Ä2Ç6Á6Ð:JÔKÜ”V×'Ñ'¨¨s°CÓ8¼2¿6¹6Ä2Ç6Á6Ð:JÔKÜ”V×+Ñ+¨E°3¸Ó<¼r¿v¹vÄrÇvÁvÐ>NÔOÜ”V×+Ñ+¨E°3¸Ó<¼r¿v¹vÄrÇvÁvÐ>NÔOÜ”V×+Ñ+¨E°3¸Ó<¼r¿v¹vÄrÇvÁvÐ>NÔOÜ”V×+Ñ+¨E°3¸Ó<¼r¿v¹vÄrÇvÁvÐ>NÕOrI   c                 ó–   — t        d«      D ];  }t        j                  ddd«      }t        |d   dd¬«       t        |d	   d
d¬«       Œ= y )Né<   rP   r:  rS   r   g.ød‰SÂ?r`   rW   r^   gà§GcÛì?ç-Cëâ6?)r|   rB   rY  r   )rE   rm   Úvs      rF   Útest_mathieu_ticket_1847z#TestCephes.test_mathieu_ticket_1847°  sO   € ô �r“ò 	GˆAÜ×&Ñ& q¨#¨rÓ2ˆAä˜A˜a™DÐ":ÀÕGÜ˜A˜a™DÐ":ÀÖFñ		GrI   c                 ó.   — t        j                  d«       y rA   )rB   ÚmodfresnelmrD   s    rF   Útest_modfresnelmzTestCephes.test_modfresnelm¹  ó   € Ü×Ñ˜1ÕrI   c                 ó.   — t        j                  d«       y rA   )rB   ÚmodfresnelprD   s    rF   Útest_modfresnelpzTestCephes.test_modfresnelp¼  rg  rI   c                 óD   — t        t        j                  dd«      d«       y rÃ   )r   rB   Ú	modstruverD   s    rF   Útest_modstruvezTestCephes.test_modstruve¿  r"  rI   c                 óF   — t        t        j                  ddd«      d«       y r¿   )r   rB   ÚnbdtrrD   s    rF   Ú
test_nbdtrzTestCephes.test_nbdtrÂ  rƒ  rI   c                 óF   — t        t        j                  ddd«      d«       y rÌ   )r   rB   ÚnbdtrcrD   s    rF   Útest_nbdtrczTestCephes.test_nbdtrcÅ  rž   rI   c                 óF   — t        t        j                  ddd«      d«       y r¿   )r   rB   ÚnbdtrirD   s    rF   Útest_nbdtrizTestCephes.test_nbdtriÈ  rž   rI   c                 ó2   — t        j                  ddd«       y )Nr^   rQ   rŒ   )rB   ÚnbdtrikrD   s    rF   Útest_nbdtrikzTestCephes.test_nbdtrikË  s   € Ü�‰�q˜˜BÕrI   c                 óF   — t        t        j                  ddd«      d«       y rš   )r   rB   ÚnbdtrinrD   s    rF   Útest_nbdtrinzTestCephes.test_nbdtrinÎ  rº   rI   c                 óH   — t        t        j                  dddd«      d«       y rÃ   )r   rB   ÚncfdtrrD   s    rF   Útest_ncfdtrzTestCephes.test_ncfdtrÑ  r¤  rI   c                 óÄ   — t        t        j                  dddd«      d«       g d¢}t        j                  ddd|«      }t	        t        j                  ddd|«      |«       y )Nr^   r   r¤   )rŒ   r^   r]  rP   r’   r]  )r   rB   Úncfdtrir~  r   )rE   Úfr[  s      rF   Útest_ncfdtrizTestCephes.test_ncfdtriÔ  sM   € Ü”V—^‘^ A q¨!¨QÓ/°Ô5ÚˆÜ�M‰M˜!˜Q  QÓ'ˆÜœŸ™ q¨!¨S°!Ó4°aÕ8rI   zpncfdtr uses a Boost math implementation but ncfdtridfdinverts the less accurate cdflib implementation of ncfdtr.c                 ó€   — g d¢}t        j                  d|dd«      }t        t        j                  d|dd«      |«       y )N©r^   rP   r’   rP   r5  r‚   )rB   r~  r   Ú
ncfdtridfd)rE   Údfdr[  s      rF   Útest_ncfdtridfdzTestCephes.test_ncfdtridfdÚ  s8   € ò ˆÜ�M‰M˜!˜S $¨Ó+ˆÜœ×)Ñ)¨!¨Q°°bÓ9¸3Õ?rI   zpncfdtr uses a Boost math implementation but ncfdtridfninverts the less accurate cdflib implementation of ncfdtr.c                 ó„   — g d¢}t        j                  |ddd«      }t        t        j                  |ddd«      |d¬«       y )N)rG  r^   rP   r’   g     ˆÃ@rP   r5  r‚   gñhãˆµøä>rW   )rB   r~  r   Ú
ncfdtridfn)rE   Údfnr[  s      rF   Útest_ncfdtridfnzTestCephes.test_ncfdtridfnå  s:   € ò "ˆÜ�M‰M˜#˜q $¨Ó+ˆÜœ×)Ñ)¨!¨Q°°bÓ9¸3ÀTÖJrI   zoncfdtr uses a Boost math implementation but ncfdtrincinverts the less accurate cdflib implementation of ncfdtr.c                 ó€   — g d¢}t        j                  dd|d«      }t        t        j                  dd|d«      |«       y )N)rŒ   r]  rÚ   rP   r’   r‚   )rB   r~  r   Ú	ncfdtrinc)rE   Úncr[  s      rF   Útest_ncfdtrinczTestCephes.test_ncfdtrincð  s8   € ò ˆÜ�M‰M˜!˜Q  BÓ'ˆÜœ×(Ñ(¨¨A¨q°"Ó5°rÕ:rI   c           	      óN  — t        t        j                  ddd«      d«       t        t        j                  ddd«      d«       t        t        j                  t        j
                  dd«      dd	«       t        t	        j                  t        j                  d
t        j
                  d«      «      «       t        t        j                  d
dt        j
                  «      d«       t        t	        j                  t        j                  t        j                  dd«      «      «       t        t	        j                  t        j                  d
t        j                  d«      «      «       t        t	        j                  t        j                  d
dt        j                  «      «      «       y )Nr^   r   rŒ   é	   i   rü   r¤   r�   rà   rÚ   rÝ   )	r   rB   Únctdtrr   rc   r   r   r   râ   rD   s    rF   Útest_nctdtrzTestCephes.test_nctdtrû  sð   € Ü”V—]‘] 1 Q qÓ)¨#Ô.Ü”V—]‘] 1 e¨RÓ0°#Ô6äœFŸM™M¬"¯&©&°"°bÓ9¸3ÀÔBÜ”—‘œŸ™ r¬2¯6©6°3Ó7Ó8Ô9ÜœFŸM™M¨"¨b´"·&±&Ó9¸2Ô>ä”—‘œŸ™¤r§v¡v¨r°2Ó6Ó7Ô8Ü”—‘œŸ™ r¬2¯6©6°2Ó6Ó7Ô8Ü”—‘œŸ™ r¨2¬r¯v©vÓ6Ó7Õ8rI   c                 ó2   — t        j                  ddd«       y )Nr^   rŒ   r   )rB   Ú	nctdtridfrD   s    rF   Útest_nctdtridfzTestCephes.test_nctdtridf  s   € Ü×Ñ˜˜3˜qÕ!rI   c                 ó2   — t        j                  ddd«       y rˆ  )rB   Ú	nctdtrincrD   s    rF   Útest_nctdtrinczTestCephes.test_nctdtrinc
  s   € Ü×Ñ˜˜1˜QÕrI   c                 ó2   — t        j                  ddd«       y )NrG  r  rŒ   )rB   ÚnctdtritrD   s    rF   Útest_nctdtritzTestCephes.test_nctdtrit  s   € Ü�‰˜˜3˜rÕ"rI   c                 óF   — t        t        j                  ddd«      d«       y )NrŒ   r^   r�   )r   rB   ÚnrdtrimnrD   s    rF   Útest_nrdtrimnzTestCephes.test_nrdtrimn  s   € ÜœFŸO™O¨C°°!Ó4°SÕ9rI   c                 óL   — t        t        j                  ddd«      ddd¬«       y )NrŒ   r¤   r   ra   )r   rB   ÚnrdtrisdrD   s    rF   Útest_nrdtrisdzTestCephes.test_nrdtrisd  s    € ÜœŸ™¨¨C°Ó4°cØ aö	)rI   c                 ó4   — t        j                  dddd«       y rˆ  )rB   Úobl_ang1rD   s    rF   Útest_obl_ang1zTestCephes.test_obl_ang1  ó   € Ü�‰˜˜!˜A˜aÕ rI   c                 ór   — t        j                  ddddd«      }t        |d   d«       t        |d   d«       y )Nr^   r   r�   r¤   )rB   Úobl_ang1_cvr   )rE   Úresults     rF   Útest_obl_ang1_cvzTestCephes.test_obl_ang1_cv  s6   € Ü×#Ñ# A a¨¨!¨AÓ.ˆÜ˜F 1™I cÔ*Ü˜F 1™I cÕ*rI   c                 óF   — t        t        j                  ddd«      d«       y ©Nr^   r   rÚ   )r   rB   Úobl_cvrD   s    rF   Útest_obl_cvzTestCephes.test_obl_cv  rž   rI   c                 ó4   — t        j                  dddd«       y rˆ  )rB   Úobl_rad1rD   s    rF   Útest_obl_rad1zTestCephes.test_obl_rad1"  r§  rI   c                 ó6   — t        j                  ddddd«       y rˆ  )rB   Úobl_rad1_cvrD   s    rF   Útest_obl_rad1_cvzTestCephes.test_obl_rad1_cv%  ó   € Ü×Ñ˜1˜Q˜q  1Õ%rI   c                 ó4   — t        j                  dddd«       y rˆ  )rB   Úobl_rad2rD   s    rF   Útest_obl_rad2zTestCephes.test_obl_rad2(  r§  rI   c                 ó6   — t        j                  ddddd«       y rˆ  )rB   Úobl_rad2_cvrD   s    rF   Útest_obl_rad2_cvzTestCephes.test_obl_rad2_cv+  r¶  rI   c                 óD   — t        t        j                  dd«      d«       y )Nr^   r   rC  )r   rB   ÚpbdvrD   s    rF   Ú	test_pbdvzTestCephes.test_pbdv.  s   € Ü”V—[‘[  1Ó% iÕ0rI   c                 ó0   — t        j                  dd«       y rˆ  )rB   ÚpbvvrD   s    rF   Ú	test_pbvvzTestCephes.test_pbvv1  ó   € Ü�‰�A�aÕrI   c                 ó0   — t        j                  dd«       y rˆ  )rB   ÚpbwarD   s    rF   Ú	test_pbwazTestCephes.test_pbwa4  rÃ  rI   c                 óº   — t        j                  dd«      }t        |t        j                  d«      «       t        j                  g d¢d«      }t        |g d¢«       y )Nr   r^   rS   ©r   r^   rP   )r^   r^   r^   )rB   Úpdtrr   rc   r   r   ©rE   Úvals     rF   Ú	test_pdtrzTestCephes.test_pdtr7  s>   € Ü�k‰k˜!˜QÓˆÜ˜C¤§¡¨£Ô,ä�k‰kš) QÓ'ˆÜ˜3¢	Õ*rI   c                 óÀ   — t        j                  dd«      }t        |dt        j                  d«      z
  «       t        j                  g d¢d«      }t        |g d¢«       y )Nr   r^   rS   rÈ  r¤   )r   r   r   )rB   Úpdtrcr   rc   r   r   rÊ  s     rF   Ú
test_pdtrczTestCephes.test_pdtrc>  sB   € Ü�l‰l˜1˜aÓ ˆÜ˜C ¤R§V¡V¨B£Z¡Ô0ä�l‰lš9 cÓ*ˆÜ˜3¢	Õ*rI   c                 óš   — t        «       5 }|j                  t        d«       t        j                  dd«       d d d «       y # 1 sw Y   y xY w)Nú-floating point number truncated to an integerrŒ   )r    r!  r"  rB   Úpdtri)rE   r$  s     rF   Ú
test_pdtrizTestCephes.test_pdtriE  s<   € ÜÓ ð 	" CØ�J‰J”~Ð'VÔWÜ�L‰L˜˜SÔ!÷	"÷ 	"ñ 	"ús   ‹-AÁA
c                 óð   — t        j                  dd«      }t        t        j                  |dz   d«      d«       t        j                  dgdgdggg d¢«      }t	        |t        j                  d«      «       y )NrŒ   r^   r   r5  çffffffî?)r   ç#B’¡œÇ;rR  )r’   r’   )rB   Úpdtrikr   Ú	gammainccr   rc   r   )rE   rm   s     rF   Útest_pdtrikzTestCephes.test_pdtrikJ  s^   € Ü�M‰M˜#˜qÓ!ˆÜœF×,Ñ,¨Q°©U°AÓ6¸Ô<ä�M‰M˜A˜3  ¨¨Ð/Ò1AÓBˆÜ˜1œbŸh™h vÓ.Õ/rI   c                 ó4   — t        j                  dddd«       y rˆ  )rB   Úpro_ang1rD   s    rF   Útest_pro_ang1zTestCephes.test_pro_ang1Q  r§  rI   c           	      ó\   — t        t        j                  ddddd«      t        d«      «       y )Nr^   r   r0  )r   rB   Úpro_ang1_cvr   rD   s    rF   Útest_pro_ang1_cvzTestCephes.test_pro_ang1_cvT  s'   € Ü!¤&×"4Ñ"4°Q°q¸¸1¸QÓ"?Ü"'¨	Ó"2õ	4rI   c                 óF   — t        t        j                  ddd«      d«       y r­  )r   rB   Úpro_cvrD   s    rF   Útest_pro_cvzTestCephes.test_pro_cvX  rž   rI   c                 ó4   — t        j                  dddd«       y rŒ  )rB   Úpro_rad1rD   s    rF   Útest_pro_rad1zTestCephes.test_pro_rad1[  s   € Ü�‰˜˜!˜A˜cÕ"rI   c                 ó6   — t        j                  ddddd«       y rˆ  )rB   Úpro_rad1_cvrD   s    rF   Útest_pro_rad1_cvzTestCephes.test_pro_rad1_cv^  r¶  rI   c                 ó4   — t        j                  dddd«       y rˆ  )rB   Úpro_rad2rD   s    rF   Útest_pro_rad2zTestCephes.test_pro_rad2a  r§  rI   c                 ó6   — t        j                  ddddd«       y rˆ  )rB   Úpro_rad2_cvrD   s    rF   Útest_pro_rad2_cvzTestCephes.test_pro_rad2_cvd  r¶  rI   c                 ó.   — t        j                  d«       y rz   )rB   ÚpsirD   s    rF   Útest_psizTestCephes.test_psig  rì  rI   c                 óF   — t        t        j                  ddd«      d«       y rA   )r   rB   ÚradianrD   s    rF   Útest_radianzTestCephes.test_radianj  s   € Ü”V—]‘] 1 Q qÓ)¨!Õ,rI   c                 óB   — t        t        j                  d«      d«       y r¿   )r   rB   ÚrgammarD   s    rF   Útest_rgammazTestCephes.test_rgammam  r  rI   c                 óx  — t        t        j                  d«      d«       t        t        j                  d«      d«       t        t        j                  d«      d«       t        t        j                  d«      d«       t        t        j                  d	«      d«       t        t        j                  d
«      d«       y )Nç333333@rÜ   ç333333Àç      ÀgÍÌÌÌÌÌ@r:  gÍÌÌÌÌÌÀg      Àç      @rt  )r   rB   ÚroundrD   s    rF   Ú
test_roundzTestCephes.test_roundp  st   € Ü”V—\‘\ #Ó& sÔ+Ü”V—\‘\ $Ó'¨Ô-Ü”V—\‘\ #Ó& sÔ+Ü”V—\‘\ $Ó'¨Ô-Ü”V—\‘\ #Ó& sÔ+Ü”V—\‘\ $Ó'¨Õ-rI   c                 ó.   — t        j                  d«       y rz   )rB   ÚshichirD   s    rF   Útest_shichizTestCephes.test_shichix  r¿  rI   c                 ó”  — t        j                  d«       t        j                  t        j                  «      \  }}t	        |t        j
                  dz  «       t	        |d«       t        j                  t        j                   «      \  }}t	        |t        j
                   dz  «       t        t        j                  |«      d«       y )Nr^   rŒ   r   z cosine integral(-inf) is not nan)rB   Úsicirc   r   r   r   r   r   )rE   Úsr#  s      rF   Ú	test_sicizTestCephes.test_sici{  s~   € Ü�‰�AŒä�{‰{œ2Ÿ6™6Ó"‰ˆˆ1Ü˜AœrŸu™u s™{Ô+Ü˜A˜qÔ!ä�{‰{œBŸF™F˜7Ó#‰ˆˆ1Ü˜A¤§¡˜v¨™|Ô,Ü”—‘˜“Ð?Õ@rI   c                 óB   — t        t        j                  d«      d«       y ©NéZ   r�   )r   rB   ÚsindgrD   s    rF   Ú
test_sindgzTestCephes.test_sindg†  ó   € Ü”V—\‘\ "Ó% cÕ*rI   c                 óÄ   — t        t        j                  dd«      d«       t        t	        j
                  t        j                  dt        j                  «      «      «       y )Nr^   rG  çÍÌÌÌÌÌì?)r   rB   Úsmirnovr   rc   r   râ   rD   s    rF   Útest_smirnovzTestCephes.test_smirnov‰  s7   € Ü”V—^‘^ A bÓ)¨#Ô.Ü”—‘œŸ™¨¬"¯&©&Ó1Ó2Õ3rI   c                 óD  — t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t	        j
                  t        j                  dt        j                  «      «      «       y )	Nr^   rG  rS   rP   ç      è?ç      à¿r’   g      È¿)r   rB   Ú	_smirnovpr   rc   r   râ   rD   s    rF   Útest_smirnovpzTestCephes.test_smirnovp�  sk   € Ü”V×%Ñ% a¨Ó,¨bÔ1Ü”V×%Ñ% a¨Ó.Ð0@ÔAÜ”V×%Ñ% a¨Ó.Ð0@ÔAÜ”—‘œ×)Ñ)¨!¬R¯V©VÓ4Ó5Õ6rI   c                 ó  — t        t        j                  dd«      d«       t        t	        j
                  t        j                  dt        j                  «      «      «       t	        j                  dddd¬«      }t        t        j                  d|«      dt        j                  d|«      z
  «       t	        j                  dddd¬«      }t        t        j                  d	|«      dt        j                  d	|«      z
  «       y )
Nr^   rG  r   rI  T©Úendpointr’   rà   rN   )
r   rB   Ú	_smirnovcr   rc   r   râ   rO  r   r  )rE   Úx10Úx4s      rF   Útest_smirnovczTestCephes.test_smirnovc“  s±   € Ü”V×%Ñ% a¨Ó+¨CÔ0Ü”—‘œ×)Ñ)¨!¬B¯F©FÓ3Ó4Ô5Ü�k‰k˜!˜Q ¨TÔ2ˆÜœF×,Ñ,¨Q°Ó4°a¼¿¹ÀqÈ#Ó8NÑ6NÔOÜ�[‰[˜˜A˜q¨4Ô0ˆÜœF×,Ñ,¨Q°Ó3°Q´v·~±~ÀaÈÓ7LÑ5LÕMrI   c           	      óT  — t        t        j                  dt        j                  dd«      «      d«       t        t        j                  dt        j                  dd«      «      d«       t	        t        j                  t        j                  dt
        j                  «      «      «       y ©Nr^   rQ   ç333333ã?)r   rB   r  Úsmirnovir   rc   r   râ   rD   s    rF   Útest_smirnovizTestCephes.test_smirnovi›  sb   € ÜœFŸN™N¨1¬V¯_©_¸Q¸sÓ-CÓDÀSÔIÜœFŸN™N¨1¬V¯_©_¸Q¸sÓ-CÓDÀSÔIÜ”—‘œŸ™¨¬2¯6©6Ó2Ó3Õ4rI   c           	      óT  — t        t        j                  dt        j                  dd«      «      d«       t        t        j                  dt        j                  dd«      «      d«       t	        t        j                  t        j                  dt
        j                  «      «      «       y r  )r   rB   r  Ú
_smirnovcir   rc   r   râ   rD   s    rF   Útest_smirnovcizTestCephes.test_smirnovci   sl   € ÜœF×,Ñ,¨Q¬v×/@Ñ/@ÀÀ3Ó/GÓHÈÔMÜœF×,Ñ,¨Q¬v×/@Ñ/@ÀÀ3Ó/GÓHÈÔMÜ”—‘œ×*Ñ*¨1¬R¯V©VÓ4Ó5Õ6rI   c                 óB   — t        t        j                  d«      d«       y rÌ   )r   rB   ÚspencerD   s    rF   Útest_spencezTestCephes.test_spence¥  r  rI   c                 óÄ   — t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       y )Nr^   r   rŒ   r  rP   gMo˜¸þFë?)r   rB   Ústdtrr   rD   s    rF   Ú
test_stdtrzTestCephes.test_stdtr¨  sA   € Ü”V—\‘\ ! AÓ& sÔ+ÜœFŸL™L¨¨1Ó-¨tÔ4ÜœFŸL™L¨¨1Ó-¨~Õ>rI   c                 ó0   — t        j                  dd«       y )Nçffffffæ?r^   )rB   ÚstdtridfrD   s    rF   Útest_stdtridfzTestCephes.test_stdtridf­  s   € Ü�‰˜˜AÕrI   c                 ó0   — t        j                  dd«       y )Nr^   r+  )rB   ÚstdtritrD   s    rF   Útest_stdtritzTestCephes.test_stdtrit°  s   € Ü�‰�q˜ÕrI   c                 óD   — t        t        j                  dd«      d«       y r£   )r   rB   ÚstruverD   s    rF   Útest_struvezTestCephes.test_struve³  rÊ   rI   c                 óB   — t        t        j                  d«      d«       y rû   )r   rB   ÚtandgrD   s    rF   Ú
test_tandgzTestCephes.test_tandg¶  r  rI   c                 óD   — t        t        j                  dd«      d«       y r¿   )r   rB   ÚtklmbdarD   s    rF   Útest_tklmbdazTestCephes.test_tklmbda¹  s   € ÜœFŸN™N¨1¨QÓ/°Õ4rI   c                 ó.   — t        j                  d«       y rz   )rB   Úy0rD   s    rF   Útest_y0zTestCephes.test_y0¼  rè  rI   c                 ó.   — t        j                  d«       y rz   )rB   rQ  rD   s    rF   Útest_y1zTestCephes.test_y1¿  rè  rI   c                 ó0   — t        j                  dd«       y rz   )rB   ÚynrD   s    rF   Útest_ynzTestCephes.test_ynÂ  r  rI   c                 ó0   — t        j                  dd«       y rz   )rB   ÚyvrD   s    rF   Útest_yvzTestCephes.test_yvÅ  r  rI   c                 ó0   — t        j                  dd«       y rz   )rB   ÚyverD   s    rF   Útest_yvezTestCephes.test_yveÈ  r  rI   c                 ó  — t        dd«      t        dd«      t        dd«      t        dd«      t        dd	«      t        dd
«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      g}t        dd«      t        dd «      t        d!d"«      t        d#d$«      t        d%d&«      t        d'd(«      t        d)d*«      t        d+d,«      t        d-d.«      t        d/d«      t        d0d1«      t        d2d3«      t        d4d5«      t        d6d7«      t        d8d9«      t        d:d:«      g}t        t        j                  ||d;¬<«       y )=Ngš™™™™�ƒ@g+û®þ·Ð¿çš™™™™™Ù¿rÜ   r  rÚ   r  r�   g      "Àg      "@g†4×µ/Y¾gï8EGrùñ?rû  gffffff@iËÿÿÿgš™™™™>@r¤   g|ò°Pkš¿?rI  r^   iêÿÿÿr  r’  iäÿÿÿé   ißÿÿÿg     jø@ç  �Ä¼ÖBg¥ï0"¢b™¾gpØªO#žM?g¡MF¦>—Æ?g5-¦®û•¿g`ø×èÙÎ?g±	SÇ+¯?g6UÎÖí€Ó?gÇ—þë¦Ê¿gjD{�?/,Gg`Ó 0Ggú!Ž^†¯?g¬nF5o°{¿gIÛþ\YÙ?g7áf¼8¾g…oC9	µ?gÿyh…¨¿gÈEÖb’ºr?g�Žÿ{€¿gÝ.Å
ýë?ga~gT-s?gÉ¤Å,P&ª?g¸|¸öÿb¿gÞ—ØY3š¿gÍ!Ø‘-�@gõi$‚bgáäÛÀhúgy(ÂV@ß^úgÒ»„ð©Ç>g½¶„ð©Ç>gx\±¼©hé<rV   rW   )rB  r:   rB   Úwofz)rE   rM  Úws      rF   Ú	test_wofzzTestCephes.test_wofzË  s¦  € Ü�U˜8Ó$¤g¨d°2Ó&6¼ÀÀB»Ü�S˜‹_œg c¨#Ó.´¸¸B³ÜÐ% fÓ-¬w°s¸3Ó/?Ü�S˜Ó¤¨¨GÓ 4Ü�R˜‹]œG C¨›O¬W°Q°s«^Ü�R˜‹_œg c¨#Ó.´¸¸TÓ0Bðˆô ÐFØFóHäÐGØIóKäÐGØHóJäÐHØIóKäÐFØFóHäÐGØIóKäÐDØGóIäÐHØIóKäÐHØIóKäÐJØóäÐHØGóIäÐHØGóIäÐFØFóHäÐFØFóHäÐFØFóHäÐFØFóHð?!
ˆôD 	œ&Ÿ+™+ q¨!°%Ö8rI   N)¼Ú__name__Ú
__module__Ú__qualname__rG   rL   rq   rw   r„   rŠ   r�   r”   r˜   r�   r¡   r¦   rª   r¯   r²   rµ   r¹   r½   rÁ   rÅ   rÉ   rÎ   rÑ   rå   ré   rí   rñ   rõ   rù   rþ   r  r  r  r  r!  r&  r(  r+  r/  r2  r5  r8  r<  r?  rC  ÚpytestÚmarkÚxfailrP  rU  rX  r\  r^  ra  rf  rk  rn  rq  ry  r|  r  r‚  r†  rŠ  rŽ  r‘  r•  r™  rœ  r   r£  r§  r«  r®  r±  r´  r¸  r»  r¾  rÂ  rÆ  rÉ  rÌ  rÏ  rÓ  r×  rÚ  rÝ  rà  rã  rç  rë  rï  rò  rõ  rø  rû  rþ  r  r  r  r  r  r  r  r  r  r  r%  r(  r+  r.  rA  rG  rK  rT  rW  rZ  r^  rc  rf  rj  rm  rp  rs  rv  ry  r|  r  rƒ  rˆ  rŒ  r�  r”  r—  rš  r�  r   r£  r¦  r«  r¯  r²  rµ  r¹  r¼  r¿  rÂ  rÆ  rÌ  rÏ  rÓ  rÙ  rÜ  rß  râ  rå  rè  rë  rî  rñ  rô  r÷  rþ  r  r  r
  r  r  r  r   r#  r&  r)  r-  r0  r3  r6  r9  r<  r>  rA  rD  rG  rN  © rI   rF   r?   r?   ?   sa  „ òòò2ò.2ò*ò.Gò,/ò0ò0ò/òò(ò)ò(ò)ò3ò0ò0ò0ò,ò-ò-ò.ò7ò<2ò2ò1ò*ò*ò2òAòLò2Nò
+ò0òò)ò0ò)ò:ò*ò3ò)ò3òNð& ‡[�[×ÑÐMÐÓNñFó OðFò($ò$ò@ð ‡[�[×ÑÐ4ÐÓ5ñ4ó 6ð4ò1ò2ò+ò3òò=ò-ò2ò.ò/òòòòòòòò
1ò'ò(ò'ò(òòòòò1ò1ò1ò.ò)ò*ò'ò'ò)ò)ò*òòòòòò)òòòòò2ò0ò/ò.ò4òòò,òFò&-ò0ò0ò,ò2,ò,>ò,ò >ò,ò	PòGòòò0ò.ò/ò/ò ò0ò1ò9ð ‡[�[×ÑðIð ó ñ@óð@ð
 ‡[�[×ÑðIð ó ñKóðKð
 ‡[�[×ÑðIð ó ñ;óð;ò

9ò"ò ò#ò:ò)ò!ò+ò
/ò!ò&ò!ò&ò1òòò+ò+ò"ò
0ò!ò4ò/ò#ò&ò!ò&òò-ò+ò.òò	Aò+ò4ò7òNò5ò
7ò
+ò?ò
òò-ò+ò5òòòòòó*9rI   r?   c                   ó¨   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  d«      d„ «       Z
ej                  j                  d«      d„ «       Zy)	ÚTestAiryc                 ó  — t        j                  d«      }t        |t        g d¢«      d«       t        j                  d«      }t        |t        g d¢«      d«       t        j                  d«      }t        |t        g d¢«      d«       y )Nç®Gáz®ï?)g*÷é¢…Á?gTk'kP‹Ä¿gñe¢©+ó?gýyC¯ytí?r3  g=
×£p=Ú?)g‚'Ý$'Ð?ge«ªÎ¿g›‰LÐÑé?gæ
ŒHVVà?g
×£p=
×¿)gl@ÆÔD|Ü?gVƒ¬~×­Í¿gU–¬äÂÜ?g¨3{É”ÉÞ?)r!   rC   r   r   r1  s     rF   rG   zTestAiry.test_airyù  sw   € ô �L‰L˜ÓˆÜ!ØÜÒ@ÓAØô	
ô
 �L‰L˜ÓˆÜ!ØÜÒ?Ó@Øô	
ô
 �L‰L˜ÓˆÜ!ØÜÒ@ÓAØõ	
rI   c                 óf  — t        j                  d«      }t        j                  d«      }d gdz  }t        d«      D ]"  }||   t	        dt        d«      z  «      z  ||<   Œ$ t        dd«      D ]5  }||   t	        t        t        dt        d«      z  «      «       «      z  ||<   Œ7 t        ||d«       y )NrÙ   rN   rP   gNè´�N{?rT   )	r!   rK   rC   r|   r   r   Úabsr   r   )rE   ÚaÚbÚb1rl   s        rF   rL   zTestAiry.test_airye  s¬   € Ü�M‰M˜$ÓˆÜ�L‰L˜ÓˆØˆV�A‰XˆÜ�q“ò 	6ˆAØ�a‘Dœ˜\¬$¨t«*Ñ4Ó5Ñ5ˆBˆqŠEð	6ä�q˜“ò 	BˆAØ�a‘Dœœc¤$ |´D¸³JÑ'>Ó"?Ó@Ð@ÓAÑAˆBˆqŠEð	Bä! ! B qÕ)rI   c                 ó®  — t        j                  d«      }t        ddg«      t        ddg«      t        ddg«      t        dd	g«      f}t        ||d
«       t        j                  d«      }t        |d   t        g d¢«      d«       t        |d   t        g d¢«      d«       t        |d   t        g d¢«      d«       t        |d   t        g d¢«      d«       y )NrP   g‘†lƒ‡Çò¿goe‰Î2+
Àg(õá0[Àg Xü*éJÀgõUfÏÝ¿gË°zU¡`Ù?g4Ðc1=Cã?gó¿CîuTè¿rN   rà   r   )g²&„‡Çò¿g(Æ.÷2+
Àg²óÕð¬RÀg}þ`·í­Àg¯%ëÍ�ÀrI  r^   )g7Ç;1[ÀgÛeì*éJÀg”Vw±Àg˜L¸¦ Àg<€É3¾ÂÀrS  )gÌNÏÝ¿g3%IQ¡`Ù?gZy¡†ÎŒ×¿gÊ€1‹1^Ö?gô3þ3t�Õ¿r’   )gq«M0=Cã?g7ëïuTè¿g\ÜG`¡Èê?gþpâ�žvì¿g$ß.mÂí?)r!   Úbi_zerosr   r   )rE   ÚbiÚbias      rF   Útest_bi_zeroszTestAiry.test_bi_zeros  s  € Ü×Ñ˜aÓ ˆÜ�k :Ð.Ó/Ü�k ;Ð/Ó0Ü�k :Ð.Ó/Ü�j +Ð.Ó/ð1ˆô 	" " S¨Ô+ä×Ñ˜aÓ ˆÜ! " Q¡%¬ò /Có )Dð EGô		Hô 	" " Q¡%¬ò /Có )Dð EGô		Hô 	" " Q¡%¬ò /Có )Dð EGô		Hô 	" " Q¡%¬ò /Bó )Cð DFõ		GrI   c           	      ó    — t        j                  d«      }t        |t        dg«      t        dg«      t        dg«      t        dg«      fd«       y )Nr^   gÒác¨q´Àg!·xÛùLð¿gMóŽSt$á?g ‘~û:pæ?rN   )r!   Úai_zerosr   r   )rE   Úais     rF   Útest_ai_zeroszTestAiry.test_ai_zeros:  sK   € Ü×Ñ˜aÓ ˆÜ! "¤e¨[¨MÓ&:Ü%*¨K¨=Ó%9Ü%*¨F¨8£_Ü%*¨F¨8£_ð&6ð 78õ	9rI   rà   c                 óª  — t        j                  d«      \  }}}}t        j                  |«      \  }}}}t        j                  |«      \  }}	}}dt        |«      dz  z  }
t        |«      dz  }t	        ||d¬«       t	        ||d¬«       t	        ||
z  ddd¬«       t	        |	|z  ddd¬«       t	        |d d g d	¢d¬«       t	        |d d g d
¢d¬«       y )NéPÃ  r^   r5  r`   rW   r   ra   rT   )gÞu¨q´Àg‹qHkZÀg4µ¢Àg™é9Î–%ÀgB™~ôÊÆÀgÌL„ä˜"À)g ªæÛùLð¿gQö“Oü	ÀgMQnÈGÀg3þ:§Àg)Ê}Àg¥æîú À)r!   re  rC   r[  r   )rE   rM  ÚzpÚai_zpxÚaip_zxÚai_zÚaip_zÚ_Úai_zpÚaip_zpÚai_envelopeÚaip_envelopes               rF   Útest_ai_zeros_bigzTestAiry.test_ai_zeros_bigA  sß   € ä '× 0Ñ 0°Ó 7Ñˆˆ2ˆv�vÜ#ŸL™L¨›OÑˆˆe�Q˜Ü%Ÿl™l¨2Ó.Ñˆˆv�q˜!àœ˜A› ™Ñ&ˆÜ˜2“w ‘ˆô 	˜ ¨EÕ2Ü˜ ¨EÕ2ô 	˜˜[Ñ(¨!°%¸aÕ@Ü˜˜|Ñ+¨Q°UÀÕCô 	˜˜"˜1˜ò:Ø@Eõ	Gô 	˜˜2˜A˜ò:Ø@Eö	GrI   c                 óª  — t        j                  d«      \  }}}}t        j                  |«      \  }}}}t        j                  |«      \  }}}}	dt        |«      dz  z  }
t        |«      dz  }t	        ||d¬«       t	        ||d¬«       t	        ||
z  ddd¬«       t	        |	|z  ddd¬«       t	        |d d g d	¢d¬«       t	        |d d g d
¢d¬«       y )Nri  r^   r5  r`   rW   r   ra   rT   )gx&„‡Çò¿gg†-÷2+
ÀgÁšÖð¬RÀggÑ`·í­Àgu•%ëÍ�Àg{¸àû À)g K;1[ÀgÂáì*éJÀg¬¯Vw±Àg<w¸¦ Àgd
Ê3¾ÂÀg/{Ô
"À)r!   r`  rC   r[  r   )rE   rM  rj  Úbi_zpxÚbip_zxro  Úbi_zÚbip_zÚbi_zpÚbip_zpÚbi_envelopeÚbip_envelopes               rF   Útest_bi_zeros_bigzTestAiry.test_bi_zeros_bigZ  sß   € ä '× 0Ñ 0°Ó 7Ñˆˆ2ˆv�vÜ#ŸL™L¨›OÑˆˆ1ˆd�EÜ%Ÿl™l¨2Ó.Ñˆˆ1ˆe�Vàœ˜A› ™Ñ&ˆÜ˜2“w ‘ˆô 	˜ ¨EÕ2Ü˜ ¨EÕ2ô 	˜˜[Ñ(¨!°%¸aÕ@Ü˜˜|Ñ+¨Q°UÀÕCô 	˜˜"˜1˜ò:Ø@Eõ	Gô 	˜˜2˜A˜ò:Ø@Eö	GrI   N)rO  rP  rQ  rG   rL   rc  rg  rR  rS  Ú	fail_slowrt  r~  rU  rI   rF   rW  rW  ø  sb   „ ò
ò,*òGòB9ð ‡[�[×Ñ˜1ÓñGó ðGð0 ‡[�[×Ñ˜1ÓñGó ñGrI   rW  c                   ó   — e Zd Zd„ Zy)ÚTestAssocLaguerrec                 óØ   — t        j                  dd«      }t        j                  ddd«      }t        | |d«      d«       t        j                  ddd«      }t        | |d«      d«       y )NrI  r^   r  r3  )r!   ÚgenlaguerreÚassoc_laguerrer   )rE   Úa1Úa2s      rF   Útest_assoc_laguerrez%TestAssocLaguerre.test_assoc_laguerreu  s\   € Ü× Ñ   AÓ&ˆÜ×#Ñ# B r¨!Ó,ˆÜ! "¡R¨£V¨AÔ.Ü×#Ñ# A b¨Ó+ˆÜ! "¡R¨£U¨1Õ-rI   N)rO  rP  rQ  r‡  rU  rI   rF   r�  r�  t  s   „ ó.rI   r�  c                   ó   — e Zd Zd„ Zy)ÚTestBesselpolyc                  ó   — y ©NrU  rD   s    rF   rµ   zTestBesselpoly.test_besselpoly~  ó   € ØrI   N)rO  rP  rQ  rµ   rU  rI   rF   r‰  r‰  }  s   „ órI   r‰  c                   óx   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú
TestKelvinc                 óH   — t        j                  d«      }t        |dd«       y )NrP   gŠ�®Tï?rà   )r!   r¥   r   )rE   Úmbeis     rF   r¦   zTestKelvin.test_beiƒ  s   € Ü�{‰{˜1‹~ˆÜ˜DÐ"4°QÕ7rI   c                 óH   — t        j                  d«      }t        |dd«       y )NrP   gDïî,Xí?rà   )r!   r©   r   )rE   Úmbeips     rF   rª   zTestKelvin.test_beip‡  ó   € Ü—‘˜Q“ˆÜ˜EÐ"5°aÕ8rI   c                 óH   — t        j                  d«      }t        |dd«       y )NrP   g¦PAØ4è?rà   )r!   r®   r   )rE   Úmbers     rF   r¯   zTestKelvin.test_ber‹  s   € Ü�{‰{˜1‹~ˆÜ˜DÐ!4°QÕ7rI   c                 óH   — t        j                  d«      }t        |dd«       y )NrP   gß×iiŽß¿rà   )r!   r±   r   )rE   Úmberps     rF   r²   zTestKelvin.test_berp�  ó   € Ü—‘˜Q“ˆÜ˜EÐ"6°qÕ9rI   c                 ó^   — t        j                  d«      }t        |t        g d¢«      d«       y )Nrà   ©g&jjÙ@gðŠà+é"@g(›r…wÉ+@g¡„™¶U2@gŸ`<ƒÆ6@rN   )r!   Ú	bei_zerosr   r   )rE   ra  s     rF   Útest_bei_zeroszTestKelvin.test_bei_zeros“  s-   € ä×Ñ˜qÓ!ˆÜ! "¤Uò ,6ó &7ð 89õ		:rI   c                 ó^   — t        j                  d«      }t        |t        g d¢«      d«       y )Nrà   )g¼€yWo.@gâ•²£Ý� @g× �Âú{)@g¡K¾„11@g›Wc"¤5@r3  )r!   Ú
beip_zerosr   r   )rE   Úbips     rF   Útest_beip_zeroszTestKelvin.test_beip_zerosœ  s2   € Ü× Ñ  Ó#ˆÜ! #¤eò -Có 'Dð EFõ		GrI   c                 ó^   — t        j                  d«      }t        |t        g d¢«      d«       y )Nrà   ©gÑ\§‘–Ê@gø6ýÙ�ô@gÓŸýHY'@g>"¦D0@ggaO;ü�4@rN   )r!   Ú	ber_zerosr   r   )rE   r®   s     rF   Útest_ber_zeroszTestKelvin.test_ber_zeros¤  s-   € Ü×Ñ Ó"ˆÜ! #¤eò -7ó '8ð 9:õ		;rI   c                 ó^   — t        j                  d«      }t        |t        g d¢«      d«       y )Nrà   ©gÖ ˜£'@g»ÕsÒû%@gÇF ^×ï-@g´vÛ…æj3@gÌîÉÃBÝ7@rN   )r!   Ú
berp_zerosr   r   )rE   Úbrps     rF   Útest_berp_zeroszTestKelvin.test_berp_zeros¬  s-   € Ü× Ñ  Ó#ˆÜ! #¤eò -7ó '8ð 9:õ		;rI   c           
      ó°  — t        j                  d«      }t        |t        j                  d«      t        j                  d«      dz  z   t        j
                  d«      t        j                  d«      dz  z   t        j                  d«      t        j                  d«      dz  z   t        j                  d«      t        j                  d«      dz  z   fd«       y )NrP   rJ  r3  )r!   r   r   r®   r¥   rú  rô  r±   r©   rý  r÷  )rE   Úmkelvs     rF   r  zTestKelvin.test_kelvin´  s›   € Ü—‘˜qÓ!ˆÜ! %¬¯©°Q«¼'¿+¹+Àa».ÈÑ:KÑ)KÜ)0¯©°Q«¼'¿+¹+Àa».ÈÑ:KÑ)KÜ)0¯©°a«¼7¿<¹<È»?È2Ñ;MÑ)MÜ)0¯©°a«¼7¿<¹<È»?È2Ñ;MÑ)Mð)Oð PQõ	RrI   c                 óH   — t        j                  d«      }t        |dd«       y )NrP   g¬øàÓ>èÉ¿rà   )r!   rô  r   )rE   Úmkeis     rF   rõ  zTestKelvin.test_kei»  s   € Ü�{‰{˜1‹~ˆÜ˜DÐ!5°aÕ8rI   c                 óH   — t        j                  d«      }t        |dd«       y )NrP   grß@dª"Ì?rà   )r!   r÷  r   )rE   Úmkeips     rF   rø  zTestKelvin.test_keip¿  r“  rI   c                 óH   — t        j                  d«      }t        |dd«       y )NrP   gÜ™þU¥¿rà   )r!   rú  r   )rE   Úmkers     rF   rû  zTestKelvin.test_kerÃ  s   € Ü�{‰{˜1‹~ˆÜ˜DÐ!6°qÕ9rI   c                 óH   — t        j                  d«      }t        |dd«       y )NrP   gº^.n3J»¿rà   )r!   rý  r   )rE   Úmkerps     rF   rþ  zTestKelvin.test_kerpÇ  r˜  rI   c                 ó^   — t        j                  d«      }t        |t        g d¢«      d«       y )Nrà   ©gþE�>Q@gB•š=° @gÆPN´«�)@gðmú³91@g
�×Ø%ª5@rN   )r!   Ú	kei_zerosr   r   )rE   rô  s     rF   Útest_kei_zeroszTestKelvin.test_kei_zerosË  s-   € Ü×Ñ Ó"ˆÜ! #¤eò -8ó '9ð :;õ		<rI   c                 ó^   — t        j                  d«      }t        |t        g d¢«      d«       y )Nrà   ©gÑW�f,º@gÉå?¤ßÎ"@g�FZ*o·+@gôOp±¢N2@gE¦aøÀ6@rN   )r!   Ú
keip_zerosr   r   )rE   r÷  s     rF   Útest_keip_zeroszTestKelvin.test_keip_zerosÓ  ó-   € Ü×!Ñ! !Ó$ˆÜ! $¤uò .:ó (;ð <=õ		>rI   c                 óÄ  — t        j                  d«      }|\  }}}}}}}}	t        |t        g d¢«      d«       t        |t        g d¢«      d«       t        |t        g d¢«      d«       t        |t        g d¢«      d«       t        |t        g d¢«      d«       t        |t        g d¢«      d«       t        |t        g d	¢«      d«       t        |	t        g d
¢«      d«       y )Nrà   r¢  rN   rš  )ç¬â�Ì#û?çQ½5°U‚@çq8ó«9 %@çol•`.@g‹O0žq3@rµ  r¦  )guÍä›m.@gŽÙëÝ� @gësµû{)@g¶ä „11@gN(DÀ!¤5@©gúòì£S@g8ó«9@°@gÝ^Ò­C'@g¾¤1ZG0@g+¤ü¤Ú‡4@r¹  )r!   Úkelvin_zerosr   r   )
rE   ÚtmpÚberzÚbeizÚkerzÚkeizÚberpzÚbeipzÚkerpzÚkeipzs
             rF   Útest_kelvin_zeroszTestKelvin.test_kelvin_zerosÜ  s  € Ü×"Ñ" 1Ó%ˆØ69Ñ3ˆˆT�$�t˜E %¨¨eÜ! $¤uò .9ó (:ð ;<ô		=ô
 	" $¤uò .9ó (:ð ;<ô		=ô
 	" $¤uò .9ó (:ð ;<ô		=ô
 	" $¤uò .9ó (:ð ;<ô		=ô
 	" %¬ò /:ó );ð <=ô		>ô
 	" %¬ò /:ó );ð <=ô	>ô 	" %¬ò /:ó );ð <=ô		>ô
 	" %¬ò /:ó );ð <=õ		>rI   c                 ó^   — t        j                  d«      }t        |t        g d¢«      d«       y )Nrà   )r¾  r¿  rÀ  rÁ  gD£;ˆ�q3@rN   )r!   Ú	ker_zerosr   r   )rE   rú  s     rF   Útest_ker_zeroszTestKelvin.test_ker_zeros
  s-   € Ü×Ñ Ó"ˆÜ! #¤eò -9ó ':ð ;<õ		=rI   c                 ó^   — t        j                  d«      }t        |t        g d¢«      d«       y )Nrà   rÂ  rN   )r!   Ú
kerp_zerosr   r   )rE   rý  s     rF   Útest_kerp_zeroszTestKelvin.test_kerp_zeros  r¼  rI   N)rO  rP  rQ  r¦   rª   r¯   r²   rœ  r   r¤  r©  r  rõ  rø  rû  rþ  r·  r»  rÍ  rÐ  rÓ  rU  rI   rF   rŽ  rŽ  ‚  s_   „ ò8ò9ò8ò:ò:òGò;ò;òRò9ò9ò:ò:ò<ò>ò,>ò\=ó>rI   rŽ  c                   ó   — e Zd Zd„ Zy)ÚTestBernoullic                 ó^   — t        j                  d«      }t        |t        g d¢«      d«       y )Nrà   )r�   r  g-!ôlVÅ?r¤   g±áé•²¡¿r¤   rN   )r!   Ú	bernoullir   r   )rE   Úbrns     rF   Útest_bernoullizTestBernoulli.test_bernoulli  s-   € Ü×Ñ Ó"ˆÜ! #¤eò -5ó '6ð
 78õ	9rI   N)rO  rP  rQ  rÙ  rU  rI   rF   rÕ  rÕ    s   „ ó9rI   rÕ  c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚTestBetaz
    Test beta and betaln.
    c                 óº  — t        t        j                  dd«      d«       t        t        j                  dd«      t        j                  d«      «       t        t        j                  dd«      ddd	¬
«       t        j                  dd«      }t        j                  d«      t        j                  d«      z  t        j                  d«      z  }t        ||d¬«       y )Nr^   r�   ç33333YÀç¬÷N’~hçßà“©‚¡?é«   g6.8@rV   r   r?  rP   rN   rT   rW   )r   r!   Úbetar   rj  )rE   ÚbetÚbetgs      rF   Ú	test_betazTestBeta.test_beta+  sš   € Ü”W—\‘\ ! QÓ'¨Ô-ÜœŸ™ V¨VÓ4´g·m±mÀFÓ6KÔLÜœŸ™ V¨SÓ1Ð3EØ"¨õ	,ô �l‰l˜1˜aÓ ˆÜ—‘˜aÓ ¤§¡¨qÓ!1Ñ1´7·=±=ÀÓ3CÑCˆÜ˜˜T¨Ö.rI   c                 óh   — t        t        j                  t        j                  dd«      «      «       y )NrS   rP   )r   rc   Úisinfr!   rá  rD   s    rF   Útest_beta_infzTestBeta.test_beta_inf5  s   € Ü”—‘œŸ™ b¨!Ó,Ó-Õ.rI   c                 óˆ  — t        t        j                  dd«      d«       t        t        j                  dd«      t        j                  d«      «       t        t        j                  dd«      ddd	¬
«       t        j                  dd«      }t        t        t        j                  dd«      «      «      }t        ||d¬«       y )Nr^   r¤   rÝ  rÞ  rß  éª   gðIÊÀs	@r>  r   r?  rP   rN   rV   rW   )r   r!   Úbetalnr   rp  r   r[  rá  )rE   Úbetlnrâ  s      rF   Útest_betalnzTestBeta.test_betaln8  s�   € Ü”W—^‘^ A qÓ)¨3Ô/ÜœŸ™ v¨vÓ6ÜŸ™¨Ó/ô	1äœŸ™ v¨sÓ3Ð5GØ"¨õ	,ô —‘˜q !Ó$ˆÜ”#”g—l‘l 1 aÓ(Ó)Ó*ˆÜ˜˜s¨Ö/rI   N)rO  rP  rQ  Ú__doc__rä  rç  rì  rU  rI   rF   rÛ  rÛ  &  s   „ ñò/ò/ó	0rI   rÛ  c                   ó<  — e Zd ZdZd„ Zej                  j                  dg d¢«      d„ «       Zej                  j                  dg d¢«      d„ «       Z	ej                  j                  dg d	¢«      d
„ «       Z
ej                  j                  dej                  ej                  ej                  ej                  g«      ej                  j                  dg d¢«      d„ «       «       Zej                  j                  dej$                  ej&                  g«      d„ «       Zy)ÚTestBetaIncz?
    Tests for betainc, betaincinv, betaincc, betainccinv.
    c                 óF  — t        j                  g d¢«      }t        t        j                  dd|«      |«       t        t        j
                  dd|«      |«       t        t        j                  dd|«      d|z
  «       t        t        j                  dd|«      d|z
  «       y )N)r   r5  r^   r^   )rc   r   r   r!   ÚbetaincÚ
betaincinvÚbetainccÚbetainccinvr1  s     rF   Ú
test_a1_b1zTestBetaInc.test_a1_b1I  sz   € ä�H‰H’\Ó"ˆÜ”W—_‘_ Q¨¨1Ó-¨qÔ1Ü”W×'Ñ'¨¨1¨aÓ0°!Ô4Ü”W×%Ñ% a¨¨AÓ.°°A±Ô6Ü”W×(Ñ(¨¨A¨qÓ1°1°q±5Õ9rI   z
a, b, x, p))rP   rN   gšÐ@wÔ?rŒ   )rß  g     `e@r`   g°î*¶¯á?)rß  rà  g"YxãÃ;r5  )g   `¥ù1?g    Ø¦Ag¯ª\Àa¼Y4g   €ý ï?)rN   i�† gñ-ß‡)?gŽ;¥ƒõÿï?c                 ó˜   — t        j                  |||«      }t        ||d¬«       t        j                  |||«      }t        ||d¬«       y )Nr  rW   gê-�™—a=)r!   rñ  r   rò  ©rE   r\  r]  r  r[  Úp1Úx1s          rF   Útest_betainc_betaincinvz#TestBetaInc.test_betainc_betaincinv`  sB   € ô �_‰_˜Q  1Ó%ˆÜ˜˜A EÕ*Ü×Ñ  1 aÓ(ˆÜ˜˜A EÖ*rI   ))ç      @rÜ   r5  g     ªê?)ç      @g     €*@ç      Ø?gòó&�¶Û?)ç      À?rü  g333333Û?gF­Úo„êE?)rþ  ç      2@rR  gg2$·Zç?)rþ  rÿ  g¬Zd;ßï?g•‡²ˆºœ�6)rþ  ri  r  gâž�Ô`…<)ç      0@r  gè£Ýÿÿÿï?g<dE­A¢>)g’áëßôÚ?g7–ûÃŠÐ@g¼Òô/3·J?çH¯¼šò×z>c                 ó˜   — t        j                  |||«      }t        ||d¬«       t        j                  |||«      }t        ||d¬«       y )Nç›+¡†›„ö<rW   gVçž¯=)r!   ró  r   rô  r÷  s          rF   Útest_betaincc_betainccinvz%TestBetaInc.test_betaincc_betainccinvu  sD   € ô ×Ñ˜a  AÓ&ˆÜ˜˜A EÕ*Ü× Ñ   A qÓ)ˆÜ˜˜A EÖ*rI   za, b, y, ref))ç¢‰c§j,@r  ghHçISOa gÚ­ù  ãY;)g      ,@g      -@g„ë‘¤Íg}äc]ì¶«;)rü  ç      .@gUš¿v \U,gãS²‰^%:)rÝ   g      ô?g´M´›»oigºKB;)r:  g    Ðiø@g1ðúÖ$ÔÏ-g\_±«cp:c                 óN   — t        j                  |||«      }t        ||d¬«       y )Nr>  rW   )r!   rò  r   )rE   r\  r]  rL  Úrefr  s         rF   Útest_betaincinv_tiny_yz"TestBetaInc.test_betaincinv_tiny_y‡  s$   € ô2 ×Ñ˜q ! QÓ'ˆÜ˜˜3 UÖ+rI   ÚfuncÚargs))r  rP   rŒ   )r   rP   rŒ   )r]  ç       ÀrŒ   )r]  r   rŒ   )r]  rÚ   ç333333Ó¿)r]  rÚ   çš™™™™™ñ?c                 óò   — t        j                  d¬«      5  t        j                  t         j                  d¬«      5  t        j
                  |Ž  d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NÚraise)Údomainr  ©Úmatch)r!   ÚerrstaterR  r   ÚSpecialFunctionErrorrñ  )rE   r
  r  s      rF   Útest_betainc_domain_errorsz&TestBetaInc.test_betainc_domain_errors£  sa   € ô ×Ñ WÔ-ñ 	'Ü—‘œw×;Ñ;À8ÔLñ 'Ü—‘ Ñ&÷'÷	'ð 	'÷'ð 'ú÷	'ð 	'ús"   —&A-½A!ÁA-Á!A*	Á&A-Á-A6Údtypec                 óî   — t        j                  dg|¬«      }t        j                  dg|¬«      }t        j                  |||«      }t	        ||dt        j
                  |«      j                  z  ¬«       y )Nr›   ©r  rŒ   rS  rW   )rc   r   r!   rò  r   r   Úeps)rE   r  r\  r  rª  s        rF   Útest_gh21426zTestBetaInc.test_gh21426­  s[   € ô �H‰H�b�T Ô'ˆÜ�H‰H�c�U %Ô(ˆÜ×#Ñ# A q¨!Ó,ˆÜ˜ ¨¬R¯X©X°e«_×-@Ñ-@Ñ(@ÖArI   N)rO  rP  rQ  rí  rõ  rR  rS  Úparametrizerú  r  r	  r!   rñ  rò  ró  rô  r  rc   r  r  r  rU  rI   rF   rï  rï  D  s.  „ ñò:ð. ‡[�[×ÑØò	6ó
7ñ+ó
7ð+ð ‡[�[×Ñ˜\ò
<ó=ñ+ó=ð+ð ‡[�[×ÑØò	7óñ,óð,ð& ‡[�[×Ñ˜V g§o¡o°w×7IÑ7IØ&-×&6Ñ&6¸×8KÑ8Kð&Mó Nà‡[�[×Ñ˜Vò &Ió Jñ'óJóNð
'ð
 ‡[�[×Ñ˜W r§z¡z°2·:±:Ð&>Ó?ñBó @ñBrI   rï  c                   óš   — e Zd Zd„ Zd„ Zd„ Zej                  j                  d„ «       Z	d„ Z
d„ Zej                  j                  d„ «       Zy)	ÚTestCombinatoricsc                 óº  — t        t        j                  ddgddg«      ddg«       t        t        j                  dd«      d«       t        t        j                  ddd¬«      d«       t        t        j                  dddd¬	«      d
«       t        t	        d«      D �cg c]  }t        j                  d|d¬«      ‘Œ c}t        j                  dt        t	        d«      «      «      d¬«       t        j                  t        «      j                  dz   }t        t        j                  ||dz
  d¬«      |«       d}t        j                  ddd¬«      |k(  sJ ‚y c c}w )NrS  r’   rN   ç      ^@g     @j@T©Úexactéx   )r"  Ú
repetitionéÜ   rJ  rt   r  ©rb   r^   l   hU7`�±Së?Q r:  é2   )
r   r!   Úcombr   r|   Úlistrc   Úiinfor{   Úmax)rE   rm   ÚiirN  s       rF   Ú	test_combzTestCombinatorics.test_comb·  s  € ÜœŸ™ b¨" X°°1¨vÓ6¸¸t¸ÔEÜœŸ™ R¨Ó+¨TÔ2Ü”W—\‘\ " a¨tÔ4°cÔ:Ü”W—\‘\ " a¨tÀÔEÀsÔKäÄ%ÈÃ)ÖL¸QœŸ™ b¨!°4Ö8ÒLÜŸ™ R¬¬e°B«i«Ó9Àõ	Gô �X‰X”c‹]×Ñ Ñ"ˆÜ”W—\‘\ " b¨¡d°$Ô7¸Ô<à1ˆÜ�|‰|˜C ¨4Ô0°HÒ<Ð<Ñ<ùò Ms   ÂEc                 óÎ   — d}d}t        j                  |«      }t        j                  |«      }t        j                  ||d¬«      }t        j                  ||d¬«      }||k(  sJ ‚y )NéF   rZ   Tr!  )rc   Úint64r!   r(  )rE   rl   rm   Únp_nÚnp_kÚres_npÚres_pys          rF   Útest_comb_with_np_int64z)TestCombinatorics.test_comb_with_np_int64Æ  sX   € ØˆØˆÜ�x‰x˜‹{ˆÜ�x‰x˜‹{ˆÜ—‘˜d D°Ô5ˆÜ—‘˜a ¨$Ô/ˆØ˜ÒÐÑrI   c                 ó`  — t        t        j                  ddd¬«      d«       t        t        j                  ddd¬«      d«       t        t        j                  ddd¬«      d«       t        t        j                  ddd¬«      d«       t        t        j                  g d¢g d	¢«      g d
¢«       y )NrP   r’   Tr!  r   rS   F©rP   rS   rP   rS  ©r’   r’   rS   r’   )r¤   r¤   r¤   r   )r   r!   r(  r   rD   s    rF   Útest_comb_zerosz!TestCombinatorics.test_comb_zerosÏ  ót   € Ü”W—\‘\ ! Q¨dÔ3°QÔ7Ü”W—\‘\ " a¨tÔ4°aÔ8Ü”W—\‘\ ! R¨tÔ4°aÔ8Ü”W—\‘\ ! R¨uÔ5°qÔ9ÜœŸ™¢^²]ÓCÒEWÕXrI   c                 óŽ   — d}t        j                  |¬«      5  t        j                  ddd¬«       d d d «       y # 1 sw Y   y xY w)Nz`exact=True`r  rù  rN   Tr!  )rR  Údeprecated_callr!   r(  )rE   Úmsgs     rF   Útest_comb_exact_non_int_depz-TestCombinatorics.test_comb_exact_non_int_depÖ  s:   € àˆÜ×#Ñ#¨#Ô.ñ 	-Ü�L‰L˜˜a tÕ,÷	-÷ 	-ñ 	-úó	   ™;»Ac                 óÔ   — t        t        j                  ddgddg«      ddg«       t        t        j                  dd«      d«       t	        t        j                  ddd¬«      d«       y )	NrS  r’   rN   ç     €†@g     °³@Tr!  iÐ  )r   r!   Úpermr   r   rD   s    rF   Ú	test_permzTestCombinatorics.test_permÜ  sO   € ÜœŸ™ b¨" X°°1¨vÓ6¸¸u¸ÔFÜœGŸL™L¨¨QÓ/°Ô6Ü”W—\‘\ " a¨tÔ4°cÕ:rI   c                 ó`  — t        t        j                  ddd¬«      d«       t        t        j                  ddd¬«      d«       t        t        j                  ddd¬«      d«       t        t        j                  ddd¬«      d«       t        t        j                  g d¢g d	¢«      g d
¢«       y )NrP   r’   Tr!  r   rS   Fr7  r8  )r¤   r¤   r¤   rA  )r   r!   rB  r   rD   s    rF   Útest_perm_zerosz!TestCombinatorics.test_perm_zerosá  r:  rI   c                 ó¾  — t        j                  t        d¬«      5  t        j                  ddgddgd¬«       d d d «       t        j
                  d	¬«      5  t        j                  d
dd¬«       d d d «       t        j
                  d	¬«      5  t        j                  ddd¬«       d d d «       t        j
                  d	¬«      5  t        j                  ddd¬«       d d d «       t        j                  t        d	¬«      5  t        j                  dd
d¬«       d d d «       y # 1 sw Y   ŒëxY w# 1 sw Y   ŒÀxY w# 1 sw Y   Œ•xY w# 1 sw Y   ŒjxY w# 1 sw Y   y xY w)Nzscalar integersr  r^   rP   rN   rà   Tr!  zNon-integergffffff@rT   gffffffÀr’   g333333Àç      @)rR  r   Ú
ValueErrorr!   rB  r<  rD   s    rF   Útest_perm_ivzTestCombinatorics.test_perm_ivè  s  € ô �]‰]œ:Ð->Ô?ñ 	5Ü�L‰L˜!˜Q˜ ! Q ¨tÕ4÷	5ô
 ×#Ñ#¨-Ô8ñ 	-Ü�L‰L˜˜a tÕ,÷	-ä×#Ñ#¨-Ô8ñ 	.Ü�L‰L˜˜q¨Õ-÷	.ä×#Ñ#¨-Ô8ñ 	.Ü�L‰L˜˜D¨Õ-÷	.ô
 �]‰]œ:¨]Ô;ñ 	/Ü�L‰L˜˜c¨Õ.÷	/ð 	/÷	5ð 	5ú÷
	-ð 	-ú÷	.ð 	.ú÷	.ð 	.ú÷
	/ð 	/ús;   œD#ÁD/ÂD;ÃEÄEÄ#D,Ä/D8Ä;EÅEÅEN)rO  rP  rQ  r-  r5  r9  rR  rS  Úthread_unsafer>  rC  rE  rI  rU  rI   rF   r  r  ¶  sY   „ ò=ò òYð ‡[�[×Ññ-ó ð-ò
;ò
Yð ‡[�[×Ññ/ó ñ/rI   r  c                   óN   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zy)ÚTestTrigonometricc                 óJ   — t        j                  d«      }d}t        ||«       y )Né   rÜ   )r!   rÀ   r   )rE   ÚcbÚcbrls      rF   rÁ   zTestTrigonometric.test_cbrtþ  s   € Ü�\‰\˜"ÓˆØˆÜ˜B˜tÕ$rI   c                 óL   — t        j                  d«      }d}t        ||d«       y )Ngfffffæ;@géŽ–š…C@r3  )r!   rÀ   r   )rE   Úcb1Úcbrl1s      rF   Útest_cbrtmorezTestTrigonometric.test_cbrtmore  s!   € Ü�l‰l˜4Ó ˆØˆÜ˜C  aÕ(rI   c                 ól   — t        j                  d«      }t        t        dz  «      }t	        ||d«       y )Nr  rÚ   r3  ©r!   rô   r
   r   r   )rE   ÚcdgÚcdgrls      rF   rõ   zTestTrigonometric.test_cosdg  s)   € Ü�m‰m˜BÓˆÜ”B�s‘F“ˆÜ˜C  aÕ(rI   c                 ól   — t        j                  d«      }t        t        dz  «      }t	        ||d«       y ©NrZ   rG  r3  rV  )rE   ÚcdgmÚcdgmrls      rF   Útest_cosdgmorez TestTrigonometric.test_cosdgmore  s)   € Ü�}‰}˜RÓ ˆÜ”R˜‘V“ˆÜ˜D ¨Õ*rI   c                 ó  — t        j                  d«      t        j                  d«      t        j                  t        dz  «      f}t        d«      dz
  t        d«      dz
  t        t        dz  «      dz
  f}t	        ||d«       y )Nr   rH  rS  r^   r3  )r!   rø   r   r
   r   )rE   ÚcsÚcsrls      rF   rù   zTestTrigonometric.test_cosm1  sa   € Ü�m‰m˜AÓœwŸ}™}¨RÓ0´·±¼rÀ"¹uÓ1EÐFˆÜ�A“�q‘œ˜R› ™¤3¤r¨"¡u£:¨a¡<Ð0ˆÜ! " T¨!Õ,rI   c                 ór   — t        j                  d«      }t        t        dz  «      dz  }t	        ||d«       y )NrZ   rG  rS   r3  ©r!   rý   r   r   r   )rE   ÚctÚctrls      rF   rþ   zTestTrigonometric.test_cotdg  s.   € Ü�]‰]˜2ÓˆÜ”2�c‘6‹{˜RÑ ˆÜ˜B˜t AÕ&rI   c                 ór   — t        j                  d«      }t        t        dz  «      dz  }t	        ||d«       y )Nrü   r:  rS   r3  rb  )rE   Úct1Úctrl1s      rF   Útest_cotdgmorez TestTrigonometric.test_cotdgmore  s.   € Ü�m‰m˜BÓˆÜ”B�s‘F“˜bÑ!ˆÜ˜C  aÕ(rI   c                 óD  — t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d	«      dd«       t        t        j                  d
«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       y )Nrü   r�   é   éÓÿÿÿr  r  r¤   i¦ÿÿÿé‡   éyÿÿÿéá   éÿÿÿi  iòþÿÿé;  éÅþÿÿiý  )r   r!   rý   rD   s    rF   Útest_specialpointsz$TestTrigonometric.test_specialpoints!  s  € ÜœGŸM™M¨"Ó-¨s°BÔ7ÜœGŸM™M¨#Ó.°°bÔ9ÜœGŸM™M¨"Ó-¨s°BÔ7ÜœGŸM™M¨#Ó.°°RÔ8ÜœGŸM™M¨#Ó.°°bÔ9ÜœGŸM™M¨$Ó/°°bÔ9ÜœGŸM™M¨#Ó.°°RÔ8ÜœGŸM™M¨$Ó/°°rÔ:ÜœGŸM™M¨#Ó.°°RÔ8ÜœGŸM™M¨$Ó/°°bÔ9ÜœGŸM™M¨#Ó.°°bÔ9ÜœGŸM™M¨$Ó/°°bÔ9ÜœGŸM™M¨#Ó.°°RÕ8rI   c                 ó‚   — t        t        j                  dg«      d«       t        t        j                  d«      d«       y )Nr   r^   r¤   r�   )r   r!   Úsincr   rD   s    rF   Ú	test_sinczTestTrigonometric.test_sinc0  s*   € äœ7Ÿ<™<¨¨Ó,¨aÔ0Ü”W—\‘\ #Ó&¨Õ,rI   c                 óF   — t        j                  d«      }t        |d«       y r  )r!   r	  r   )rE   Úsns     rF   r
  zTestTrigonometric.test_sindg5  s   € Ü�]‰]˜2ÓˆÜ�R˜ÕrI   c                 óÔ   — t        j                  d«      }t        t        dz  «      }t	        ||d«       t        j                  d«      }t        t        dz  «      }t	        ||d«       y )NrZ   rG  r3  rü   r:  )r!   r	  r	   r   r   )rE   ÚsnmÚsnmrlÚsnm1Úsnmrl1s        rF   Útest_sindgmorez TestTrigonometric.test_sindgmore9  óP   € Ü�m‰m˜BÓˆÜ”B�s‘F“ˆÜ˜C  aÔ(Ü�}‰}˜RÓ ˆÜ”R˜‘V“ˆÜ˜D ¨Õ*rI   N)rO  rP  rQ  rÁ   rT  rõ   r]  rù   rþ   rh  rr  ru  r
  r}  rU  rI   rF   rL  rL  ý  s9   „ ò%ò
)ò
)ò
+ò
-ò
'ò
)ò
9ò-ò
ó+rI   rL  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú	TestTandgc                 ól   — t        j                  d«      }t        t        dz  «      }t	        ||d«       y rZ  ©r!   r5  r   r   r   )rE   ÚtnÚtnrls      rF   r6  zTestTandg.test_tandgD  s)   € Ü�]‰]˜2ÓˆÜ”2�c‘6‹{ˆÜ˜B˜t AÕ&rI   c                 óÔ   — t        j                  d«      }t        t        dz  «      }t	        ||d«       t        j                  d«      }t        t        dz  «      }t	        ||d«       y )Nrü   r:  r3  r`  rÜ   r‚  )rE   ÚtnmÚtnmrlÚtnm1Útnmrl1s        rF   Útest_tandgmorezTestTandg.test_tandgmoreI  r~  rI   c                 óÄ  — t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d	«      dd«       t        t        j                  d
«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       t        t        j                  d«      dd«       y )Nr   r¤   rj  rü   r�   rk  r  rl  rm  r2  iLÿÿÿrn  ro  rp  rq  )r   r!   r5  rD   s    rF   rr  zTestTandg.test_specialpointsQ  sé   € ÜœGŸM™M¨!Ó,¨c°2Ô6ÜœGŸM™M¨"Ó-¨s°BÔ7ÜœGŸM™M¨#Ó.°°bÔ9ÜœGŸM™M¨#Ó.°°bÔ9ÜœGŸM™M¨$Ó/°°bÔ9ÜœGŸM™M¨#Ó.°°RÔ8ÜœGŸM™M¨$Ó/°°bÔ9ÜœGŸM™M¨#Ó.°°RÔ8ÜœGŸM™M¨$Ó/°°rÔ:ÜœGŸM™M¨#Ó.°°bÔ9ÜœGŸM™M¨$Ó/°°bÕ9rI   N)rO  rP  rQ  r6  rŠ  rr  rU  rI   rF   r€  r€  B  s   „ ò'ò
+ó:rI   r€  c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)Ú	TestEllipc                 óL   — t        j                  dt        j                  «       y)zRegression test for #912.rŒ   N)r!   r%  rc   râ   rD   s    rF   Útest_ellipj_nanzTestEllip.test_ellipj_nan`  s   € ä�‰�sœBŸF™FÕ#rI   c                 óz   — t        j                  dd«      }t        d«      t        d«      ddg}t	        ||d«       y )Nr  r   r�   é   )r!   r%  r	   r
   r   )rE   ÚelÚrels      rF   r&  zTestEllip.test_ellipjd  s4   € Ü�^‰^˜C Ó"ˆÜ�3‹xœ˜C›  TÐ*ˆÜ! " S¨Õ,rI   c                 óV  — t        j                  d«      }t        |dd«       t        t        j                  d«      t
        j                  «       t        t        j                  d«      t        dz  «       t        t        j                  t
        j                  «      d«       t        t        j                  t
        j                  «      t
        j                  «       t        t        j                  d«      t
        j                  «       t        t        j                  d«      d	«       y )
Nr  g˜;{yÑ�ú?rI  r¤   r�   rP   rS   éöÿÿÿg­Õü�ÒNé?)
r!   r#   r   r   r$   rc   r   r   râ   r   )rE   Úelks     rF   r(  zTestEllip.test_ellipki  s²   € Ü�n‰n˜RÓ ˆÜ˜CÐ 1°"Ô5ä”W×%Ñ% cÓ*¬B¯F©FÔ3Ü”W×%Ñ% cÓ*¬B¨q©DÔ1Ü”W×%Ñ%¤b§f¡fÓ-¨sÔ3Ü”W×%Ñ%¤b§f¡fÓ-¬r¯v©vÔ6Ü”W×%Ñ% bÓ)¬2¯6©6Ô2ÜœŸ™ sÓ+Ð-?Õ@rI   c                 óR  — t        j                  t        dz  d«      }t        j                  d«      }t	        ||d«       dt        z  dz  }dt        z  dz  }t        |«      dz  }t        j                  ||«      }t	        |dd«       t        t        j                  t        dz  d	«      t        dz  «       t        t        j                  t        dz  d
«      t        j                  «       t        t        j                  t        dz  t        j                   «      d	«       t        t        j                  t        dz  t        j                  «      t        j                  «       t        t        j                  t        dz  d«      t        j                  «       t        t        j                  dd«      d	«       t        t        j                  t        j                  d«      t        j                  «       t        t        j                  t        j                   d«      t        j                   «       t        t        j                  t        j                  t        j                  «      t        j                  «       t        t        j                  t        j                  t        j                   «      t        j                  «       t        t        j                  t        j                   t        j                   «      t        j                  «       t        t        j                  t        j                   t        j                  «      t        j                  «       t        t        j                  t        j                  d«      t        j                  «       t        t        j                  t        j                  t        j                  «      t        j                  «       t        t        j                  dd«      dd¬«       t        t        j                  dd«      d«       y )NrP   r  r‚   rt   r2  rü   gëfo¾Khé?r3  r¤   r�   r   rŒ   g–±t½„ñØ?r^   rQ   r>  rW   ç6<½R–!ù?r•  gfäO¨•Né?)r!   r*  r   r#   r   r	   r   rc   r   râ   r   )rE   Úelkincr–  ÚalphaÚphir7  s         rF   r+  zTestEllip.test_ellipkinct  s{  € Ü×"Ñ"¤2 a¡4¨Ó+ˆÜ�n‰n˜SÓ!ˆÜ˜F 3 rÔ*Ø”2‘�c‘	ˆØ”‰e�C‰iˆÜ�‹J˜‰MˆÜ×"Ñ" 3 qÓ)ˆÜ˜F :¨aÔ0ô 	”W×&Ñ&¤r¨!¡t¨SÓ1´2°a±4Ô8Ü”W×&Ñ&¤r¨!¡t¨SÓ1´2·6±6Ô:Ü”W×&Ñ&¤r¨!¡t¬b¯f©f¨WÓ5°sÔ;Ü”W×&Ñ&¤r¨!¡t¬R¯V©VÓ4´b·f±fÔ=Ü”W×&Ñ&¤r¨!¡t¨QÓ/´·±Ô8Ü”W×&Ñ& q¨#Ó.°Ô4Ü”W×&Ñ&¤r§v¡v¨sÓ3´R·V±VÔ<Ü”W×&Ñ&¬¯© w°Ó4´r·v±v°gÔ>Ü”W×&Ñ&¤r§v¡v¬r¯v©vÓ6¼¿¹Ô?Ü”W×&Ñ&¤r§v¡v´·±¨wÓ7¼¿¹Ô@Ü”W×&Ñ&¬¯© w´·±°Ó8¼"¿&¹&ÔAÜ”W×&Ñ&¬¯© w´·±Ó7¼¿¹Ô@Ü”W×&Ñ&¤r§v¡v¨sÓ3´R·V±VÔ<Ü”W×&Ñ&¤r§v¡v¬r¯v©vÓ6¼¿¹Ô?äœ×)Ñ)Ð*=¸qÓAÀ3ÈUÕSÜœ×)Ñ)¨&°#Ó6Ð8KÕLrI   c                 ó”  — d}d}t        j                  |d«      }g }t        d«      D ])  }|j                  |«       t        j                  |d«      }Œ+ t	        j
                  ||«      }t        |t        j                  |d«      d«       t	        j
                  |t        z   |«      }t        |t        j                  |d«      d«       y )	Nç    àå?çP»ag¬í?r   rS  r^   gV»^»8jð?g,j6êÆ„@rP   )	rc   Ú	nextafterr|   Úappendr!   r*  r   Ú	full_liker   ©rE   Úmbadr›  r7  ÚmvalsÚjr‚  Úf1s           rF   Útest_ellipkinc_2zTestEllip.test_ellipkinc_2‘  s¬   € ð #ˆØ ˆÜ�L‰L˜˜qÓ!ˆØˆÜ�r“ò 	#ˆAØ�L‰L˜ŒOÜ—‘˜Q Ó"‰Að	#ô ×Ñ˜c 5Ó)ˆÜ& q¬"¯,©,°qÐ:LÓ*MÈqÔQä×Ñ˜s¤R™x¨Ó/ˆÜ& r¬2¯<©<¸Ð<NÓ+OÐQRÕSrI   c                 ó
  — t        j                  ddd«      }t        j                  ddd«      }t        j                  dt        dz  dd¬«      }t	        t        j                  |d	«      t        j                  t        j                  |«      «      d
¬«       t	        t        j                  |d	«      t        j                  t        j                  |«      «      d
¬«       t	        t        j                  |d	«      t        j                  t        j                  |«      «      d
¬«       t        t        j                  t         j                  dz  d	«      t         j                  «       t	        t        j                  | d	«      t        j                  t        j                  | «      «      d
¬«       t	        t        j                  | d	«      t        j                  t        j                  | «      «      d
¬«       t	        t        j                  | d	«      t        j                  t        j                  | «      «      d
¬«       t        t        j                  t         j                   dz  d	«      t         j                  «       y )NiÔþÿÿiïÿÿÿr  g—ÔFFõg<rG  rP   Fr  r^   rK  rW   )rc   rv   rO  r   r   r!   r*  Úarcsinhr   r   r   )rE   ÚxlogÚxlinÚxlin2s       rF   Útest_ellipkinc_singularz!TestEllip.test_ellipkinc_singular¡  s   € ä�{‰{˜4  bÓ)ˆÜ�{‰{˜5 # rÓ*ˆÜ—‘˜C¤ A¡ r°EÔ:ˆäœ×)Ñ)¨$°Ó2´B·J±J¼r¿v¹vÀd»|Ó4LØ!õ	#äœ×)Ñ)¨$°Ó2´B·J±J¼r¿v¹vÀd»|Ó4LØ!õ	#äœ×)Ñ)¨%°Ó3´R·Z±ZÄÇÁÀuÃÓ5NØ!õ	#ä”W×&Ñ&¤r§u¡u¨Q¡w°Ó2´B·F±FÔ;Üœ×)Ñ)¨4¨%°Ó3´R·Z±ZÄÇÁÈÀuÃÓ5NØ!õ	#äœ×)Ñ)¨4¨%°Ó3´R·Z±ZÄÇÁÈÀuÃÓ5NØ!õ	#äœ×)Ñ)¨5¨&°!Ó4´b·j±jÄÇÁÈÈÃÓ6PØ!õ	#ä”W×&Ñ&¬¯© v¨a¡x°Ó3´R·V±VÕ<rI   c                 óX  — t        j                  d«      }t        |dd«       t        t        j                  d«      t        dz  «       t        t        j                  d«      d«       t        t        j                  t
        j                   «      t
        j                  «       t        t        j                  t
        j                  «      t
        j                  «       t        t        j                  d«      t
        j                  «       t        t        j                  d«      d«       y )	Nr  gèÑlÓ÷?r3  r¤   rP   r�   r•  g?egô@)	r!   r"   r   r   r   rc   r   râ   r   )rE   Úeles     rF   r  zTestEllip.test_ellipe¶  sª   € Ü�n‰n˜RÓ ˆÜ˜CÐ 2°1Ô5ä”W—^‘^ CÓ(¬"¨Q©$Ô/Ü”W—^‘^ CÓ(¨#Ô.Ü”W—^‘^¤R§V¡V GÓ,¬b¯f©fÔ5Ü”W—^‘^¤B§F¡FÓ+¬R¯V©VÔ4Ü”W—^‘^ AÓ&¬¯©Ô/ÜœŸ™ sÓ+Ð-?Õ@rI   c                 ó  — t        j                  t        dz  d«      }t        j                  d«      }t	        ||d«       dt        z  dz  dt        z  dz  }}t        |«      dz  }t        j                  ||«      }t	        |dd«       t        t        j                  t        dz  d	«      t        dz  «       t        t        j                  t        dz  d
«      d
«       t        t        j                  t        dz  t        j                   «      t        j                  «       t        t        j                  t        dz  t        j                  «      t        j                  «       t        t        j                  t        dz  d«      t        j                  «       t        t        j                  dd«      d	«       t        t        j                  t        j                  d«      t        j                  «       t        t        j                  t        j                   d«      t        j                   «       t        t        j                  t        j                  t        j                   «      t        j                  «       t        t        j                  t        j                   t        j                   «      t        j                   «       t        t        j                  t        j                  t        j                  «      t        j                  «       t        t        j                  t        j                   t        j                  «      t        j                  «       t        t        j                  t        j                  d«      t        j                  «       t        t        j                  t        j                  t        j                  «      t        j                  «       t        t        j                  dd«      d«       y )NrP   r  rj  é4   r2  é#   g�'ˆÉÒâ?r3  r¤   r�   r   rŒ   r˜  r•  g¢‚‰çL@)r!   r   r   r"   r   r	   r   rc   r   râ   r   )rE   Úeleincr¯  rš  r›  r7  s         rF   r!  zTestEllip.test_ellipeincÁ  s`  € Ü×"Ñ"¤2 a¡4¨Ó+ˆÜ�n‰n˜SÓ!ˆÜ˜F 3 rÔ*àœ‘U˜3‘Y˜r¤"™u S™yˆsˆÜ�‹J˜‰MˆÜ×"Ñ" 3 qÓ)ˆÜ˜F J°Ô2ä”W×&Ñ&¤r¨!¡t¨SÓ1´2°a±4Ô8Ü”W×&Ñ&¤r¨!¡t¨SÓ1°3Ô7Ü”W×&Ñ&¤r¨!¡t¬b¯f©f¨WÓ5´r·v±vÔ>Ü”W×&Ñ&¤r¨!¡t¬R¯V©VÓ4´b·f±fÔ=Ü”W×&Ñ&¤r¨!¡t¨QÓ/´·±Ô8Ü”W×&Ñ& q¨#Ó.°Ô4Ü”W×&Ñ&¤r§v¡v¨sÓ3´R·V±VÔ<Ü”W×&Ñ&¬¯© w°Ó4´r·v±v°gÔ>Ü”W×&Ñ&¤r§v¡v´·±¨wÓ7¼¿¹Ô@Ü”W×&Ñ&¬¯© w´·±°Ó8¼2¿6¹6¸'ÔBÜ”W×&Ñ&¤r§v¡v¬r¯v©vÓ6¼¿¹Ô?Ü”W×&Ñ&¬¯© w´·±Ó7¼¿¹Ô@Ü”W×&Ñ&¤r§v¡v¨sÓ3´R·V±VÔ<Ü”W×&Ñ&¤r§v¡v¬r¯v©vÓ6¼¿¹Ô?Üœ×)Ñ)¨&°#Ó6Ð8JÕKrI   c                 ó”  — d}d}t        j                  |d«      }g }t        d«      D ])  }|j                  |«       t        j                  |d«      }Œ+ t	        j
                  ||«      }t        |t        j                  |d«      d«       t	        j
                  |t        z   |«      }t        |t        j                  |d«      d	«       y )
Nr�  rž  r   rS  r^   gà%‰¤�ë?rP   gXo«�óÆ
@rN   )	rc   rŸ  r|   r   r!   r   r   r¡  r   r¢  s           rF   Útest_ellipeinc_2zTestEllip.test_ellipeinc_2Û  s­   € ð #ˆØ ˆÜ�L‰L˜˜qÓ!ˆØˆÜ�r“ò 	#ˆAØ�L‰L˜ŒOÜ—‘˜Q Ó"‰Að	#ô ×Ñ˜c 5Ó)ˆÜ& q¬"¯,©,°qÐ:MÓ*NÐPQÔRä×Ñ˜s¤R™x¨Ó/ˆÜ& r¬2¯<©<¸Ð<NÓ+OÐQRÕSrI   N)rO  rP  rQ  r�  r&  r(  r+  r§  r­  r  r!  rµ  rU  rI   rF   r�  r�  _  s5   „ ò$ò-ò
	AòMò:Tò =ò*	AòLó4TrI   r�  c                   ór   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  d¬«      d	„ «       Zy
)ÚTestEllipCarlsonz³Test for Carlson elliptic integrals ellipr[cdfgj].
    The special values used in these tests can be found in Sec. 3 of Carlson
    (1994), https://arxiv.org/abs/math/9409227
    c           	      óà  — t        t        dd«      d«       t        dt        «      dk(  sJ ‚t        t        dd«      «      sJ ‚t        dt	        dt        «      «      dk(  sJ ‚t        ddgddgddgddgdd	gdd
gg«      }t        t        j                  t        j                  d«      ddt        j                  d«      dz  dg«      }t        |«      D ]  \  }}t        t        |Ž ||   «       Œ y )Nr^   r¤   r   r5  g      @rÚ   rJ  ù       €      ð¿r  r  y
cÝƒÅñ?
cÝƒÅñ¿y=‹€Bžó?C†GÀÖ¿rÜ   yæª fŸãè?P×9lµbÉ?)
r   r%   r   r   rB  r   rc   r   r   Ú	enumerate©rE   r  Úexpected_resultsr€   Úarrs        rF   Útest_elliprczTestEllipCarlson.test_elliprcñ  sú   € Üœ  1› qÔ)Ü�qœ#‹ #Ò%Ð%Ð%Ü”W˜Q “]Ô#Ð#Ð#Ü�qœ' !¤S›/Ó*¨cÒ1Ð1Ð1Ü�s˜D�kØ˜S�kØ˜D�kØ˜d�mØ˜T�lØ˜T�lð$ó %ˆô !¤"§%¡%Ü"$§&¡&¨£+Ø">Ø"CÜ"$§&¡&¨£+°Ñ"3Ø"Dð"Fó GÐô   “oò 	@‰FˆAˆsÜœG S˜MÐ+;¸AÑ+>Õ?ñ	@rI   c           
      óü  — t        t        ddd«      d«       t        t        ddd«      dz  d«       t        ddt        «      dk(  sJ ‚t        j                  t        ddd«      «      sJ ‚t        j                  t        ddt        dd«      «      «      sJ ‚t        j                  t        ddt        dd«      «      «      sJ ‚t        t        ddt        j                  t        j                  «      j                   dz  «      «      sJ ‚t        t        ddt        dd«      «      «      sJ ‚t        g d	¢g d
¢g d¢g d¢g d¢g d¢g«      }t        g d¢«      }t        |«      D ]  \  }}t        t        |Ž ||   «       Œ y )Nr^   r   rP   rÜ   gÌ`C•+ã?r¤   rÚ   rS   )r¤   rÚ   r�   ©rÚ   rÜ   r:  ©rJ  r¹  rÚ   ©r¤   rJ  r¹  )r¤   ù      ð¿      ð?rJ  )y       À      ð¿r¹  rÃ  )gfe¤_Áü?gÓÃ×i+"Å?g”P$Må?ytgöFUô?7¨·?@y™¢R<¹ý¿ý8á*Èî¿y{ ÿ6Í2ý?×zä°Œó¿)r   r&   r   rc   ræ  rB  r   r   r  Útinyr   rº  r»  s        rF   Útest_elliprdzTestEllipCarlson.test_elliprd  sT  € Üœ  1 aÓ(¨!Ô,Üœ  1 aÓ(¨3Ñ.Ð0FÔGÜ�q˜!œSÓ! SÒ(Ð(Ð(Ü�x‰xœ  1 aÓ(Ô)Ð)Ð)Ü�x‰xœ  1¤g¨a°£mÓ4Ô5Ð5Ð5Ü�x‰xœ  1¤g¨a°£mÓ4Ô5Ð5Ð5Ü”W˜Q ¤B§H¡H¬R¯Z©ZÓ$8×$=Ñ$=Ð#=ÀÑ#CÓDÔEÐEÐEÜ”W˜Q ¤7¨2¨q£>Ó2Ô3Ð3Ð3Ü’oÚ%Ú(Ú(Ú,Ú3ð5ó 6ˆô !ò "Dó EÐô   “oò 	@‰FˆAˆsÜœG S˜MÐ+;¸AÑ+>Õ?ñ	@rI   c           
      ó6  — t        t        ddd«      d«       t        t        ddd«      d«       t        dt        d«      dk(  sJ ‚t        j                  t        ddd«      «      sJ ‚t        t        ddd«      «      sJ ‚t        t        t        «      dd«      dk(  sJ ‚t        t        ddt        t         d«      «      «      sJ ‚t        g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g«      }t        g d¢«      }t        |«      D ]  \  }}t        t        |Ž ||   «       Œ y )Nr^   r   rP   g°PŸOùùô?r¤   rS   )r�   rÚ   r¤   )rJ  r¹  r¤   )rŒ   r�   r¤   ©rÃ  rJ  r¤   rÀ  rÁ  )rÃ  rJ  ù      ð?      ð¿)geQŸOùùô?çÊžu5Jªý?rÉ  yp\©óÜyé?õª¯øôkó¿g2åÎ°â?gHw‹îÐ´ð?y­‘|pFî?-6Fjá¿)	r   r'   r   rc   ræ  r   rB  r   rº  r»  s        rF   Útest_elliprfzTestEllipCarlson.test_elliprf  s  € Üœ  1 aÓ(¨!Ô,Üœ  1 aÓ(Ð*@ÔAÜ�qœ#˜qÓ! SÒ(Ð(Ð(Ü�x‰xœ  1 aÓ(Ô)Ð)Ð)Ü”W˜Q  2Ó&Ô'Ð'Ð'Ü”wœs“| Q¨Ó*¨cÒ1Ð1Ð1Ü”W˜Q ¤7¬C¨4°Ó#3Ó4Ô5Ð5Ð5Ü’oÚ(Ú%Ú,Ú%Ú(Ú1ð3ó 4ˆô !ò "Fó GÐô   “oò 	@‰FˆAˆsÜœG S˜MÐ+;¸AÑ+>Õ?ñ	@rI   c           	      ó   — t        t        ddd«      d«       t        t        ddd«      d«       t        t        ddd«      d«       t        j                  t        dt        d«      «      sJ ‚t        j                  t        t        t        «      dd«      «      sJ ‚t        g d¢g d¢g d¢g d¢g d¢g d	¢g«      }t        t        j                  d
ddddg«      }t        |«      D ]  \  }}t        t        |Ž ||   «       Œ y )Nr^   r   rŒ   )r¤   r   r   rÀ  rÂ  rÇ  )r¹  rÃ  rJ  )r¤   g8øÂdª`´?r:  gˆL+©›û?g’Þ}�^Û?yæ—®û0•Ü?Ê‹µêW¥æ?yjèN”×?Ó^ßì·ÒÙ?géÈ£tð?)	r   r(   rc   ræ  r   rB  r   r   rº  r»  s        rF   Útest_elliprgzTestEllipCarlson.test_elliprg6  sì   € Üœ  1 aÓ(¨!Ô,Üœ  1 aÓ(¨#Ô.Üœ  1 aÓ(¨!Ô,Ü�x‰xœ ¤3¨Ó*Ô+Ð+Ð+Ü�x‰xœ¤¬£¨a°Ó3Ô4Ð4Ð4ÜÒ'Ú%Ú(Ú,Ú.Ú(ð*ó +ˆô !¤"§%¡%Ø"1Ø"2Ø"DØ"DØ"1ð"3ó 4Ðô   “oò 	@‰FˆAˆsÜœG S˜MÐ+;¸AÑ+>Õ?ñ	@rI   c                 óª  — t        t        dddd«      d«       t        ddt        d«      dk(  sJ ‚t        t        dddd«      «      sJ ‚t        t        dddd«      «      sJ ‚t        dddt        «      dk(  sJ ‚t	        g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g	«      }t	        g d¢«      }t        |«      D ]  \  }}t        t        |Ž ||   «       Œ y )Nr^   r¤   r   rS   )r¤   r�   rÚ   rÜ   )rÚ   rÜ   r:  r›   )rÚ   rÜ   r:  rÃ  )rJ  r¹  r¤   rÚ   )rÃ  ù      ð¿      ð¿r�   rÚ   )rJ  r¹  r¤   rÈ  )rÃ  rÎ  r�   y      À      ð?)rÚ   rÜ   r:  r  )rÚ   rÜ   r:  ç      À)	g ‡@Üè?gÔviéMÂ?yà»ŒmÁ?\�IísØ¿g'4Obú?g›o¾0¢ î?y¨ÏÛW7ý?xfOAªó?y�¸bvš�ã¿˜Ü¶Ÿ.ñ¿g·HQ€¥Ï?gjß¡B7EÀ¿)r   r)   r   r   r   rº  r»  s        rF   Útest_elliprjzTestEllipCarlson.test_elliprjK  sæ   € Üœ  1 a¨Ó+¨QÔ/Ü�q˜!œS !Ó$¨Ò+Ð+Ð+Ü”W˜Q  1 aÓ(Ô)Ð)Ð)Ü”W˜R  A qÓ)Ô*Ð*Ð*Ü�q˜!˜Q¤Ó$¨Ò+Ð+Ð+ÜÒ*Ú*Ú0Ú-Ú6Ú2Ú<Ú+Ú+ð-ó .ˆô !ò "5ó 6Ðô   “oò 	@‰FˆAˆsÜœG S˜MÐ+;¸AÑ+>Õ?ñ	@rI   zInsufficient accuracy on 32-bitrD  c                 óp   — t        t        dddd«      ddd¬«       t        t        d	d
dd«      ddd¬«       y )Ng   €ƒgq>g   `ÐW:g    H¸ÀBg   @Û˜ß?gR€yì|â>r  rÖ  r?  g   àÀ,@g    ¥xÛ=g   @§e•:g   `Ý½Ø>gî(óHœR)A)r   r)   rD   s    rF   Útest_elliprj_hardz"TestEllipCarlson.test_elliprj_hardf  sN   € äœÐ 5Ø 6Ø 3Ø 1ó3ð ;Ø"¨õ	0ô 	œÐ 2Ø 5Ø 4Ø 5ó7ð <Ø"¨ö	0rI   N)rO  rP  rQ  rí  r¾  rÅ  rÊ  rÌ  rÐ  rR  rS  rT  rÒ  rU  rI   rF   r·  r·  ì  sM   „ ñò@ò(@ò0@ò2@ò*@ð6 ‡[�[×ÑÐ?ÐÓ@ñ0ó Añ0rI   r·  c                   ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)Ú"TestEllipLegendreCarlsonIdentitiesz½Test identities expressing the Legendre elliptic integrals in terms
    of Carlson's symmetric integrals.  These identities can be found
    in the DLMF https://dlmf.nist.gov/19.25#i .
    c                 ób  — t        j                  ddd«      | _        t        t        «      j
                  | _        ddt        dt        j                  | j                   «      z   dd«      z  z  | _        t        j                  | j                  g| j                  | j                  f«      | _
        y )Nr  r�   rÙ   rÚ   rS   r¤   )rc   r   Úm_n1_1r   r   ÚminÚmax_negÚlog2Ú
very_neg_mÚconcatenateÚ
ms_up_to_1rD   s    rF   Úsetup_classz.TestEllipLegendreCarlsonIdentities.setup_class|  sŽ   € Ü—i‘i  R¨Ó.ˆŒäœV“}×(Ñ(ˆŒà ¤F¨2Ü+-¯7©7°D·L±L°=Ó+Añ,BØCEØ+.ó%0ñ !0ñ 0ˆŒô Ÿ.™.¨4¯<©<¨.Ø*.¯/©/Ø*.¯+©+ð*7ó 8ˆ�rI   c                 ób   — | j                   }t        t        |«      t        dd|z
  d«      «       y)z5Test identity:
        K(m) = R_F(0, 1-m, 1)
        r¤   r�   N)rÜ  r   r#   r'   ©rE   r7  s     rF   Útest_kz)TestEllipLegendreCarlsonIdentities.test_kˆ  s(   € ð �O‰OˆÜœ˜q›	¤7¨2¨r°!©t°RÓ#8Õ9rI   c                 óÂ   — t        t        «      j                  }|dt        dt	        j
                  |«       «      z  z  }t        t        |«      t        d|d«      «       y)z\Test identity:
        K(m) = R_F(0, 1-m, 1)
        But with the ellipkm1 function
        rÚ   r¤   r�   N)	r   r   rÄ  r   rc   rÙ  r   r$   r'   )rE   rÄ  Úm1s      rF   Útest_km1z+TestEllipLegendreCarlsonIdentities.test_km1�  sJ   € ô ”V‹}×!Ñ!ˆà�Bœ˜r¤B§G¡G¨D£M >Ó2Ñ2Ñ2ˆÜœ ›¤g¨b°"°bÓ&9Õ:rI   c           	      óh   — | j                   }t        t        |«      dt        dd|z
  d«      z  «       y)z9Test identity:
        E(m) = 2*R_G(0, 1-k^2, 1)
        rÚ   r¤   r�   N)rÜ  r   r"   r(   rß  s     rF   Útest_ez)TestEllipLegendreCarlsonIdentities.test_eš  s-   € ð �O‰OˆÜœ˜q›	 2¤g¨b°"°Q±$¸Ó&;Ñ#;Õ<rI   N)rO  rP  rQ  rí  rÝ  rà  rã  rå  rU  rI   rF   rÔ  rÔ  v  s   „ ñò

8ò:ò	;ó=rI   rÔ  c                   ó\   — e Zd Zd„ Zd„ Zdd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zy)ÚTestErfc                 óH   — t        j                  d«      }t        |dd«       y )Nr5  g)‘;âT¯Ñ?r3  )r!   r.  r   )rE   Úers     rF   r/  zTestErf.test_erf¤  s   € Ü�[‰[˜ÓˆÜ˜B˜|¨AÕ.rI   c                 ób   — t        j                  d«      }t        g d¢«      }t        ||d«       y )Nrà   )yTücJ¹5÷?÷=ê¯Wþ?yo²ìõ@ìœnò¾î@yŸÞÖ'Ê·@¦Ž´¯g	@y»"[
¯
@•ç,y]+@y¼ldì&@-;'j'>@rN   )r!   Ú	erf_zerosr   r   )rE   ÚerzÚerzrs      rF   Útest_erf_zeroszTestErf.test_erf_zeros¨  s/   € Ü×Ñ Ó"ˆÜò -ó .ˆô
 	" # d¨1Õ-rI   c                 óL  — t         j                  j                  d«      }d}|j                  d|«      d|j	                  dd|«      z  dz
  z  }|j                  d|«      d|j	                  dd|«      z  dz
  z  }|d|z  z   }	t        j
                  d¬	«      5   ||	«      }
 ||«      j                  }t        j                  |
«      }|
|   }
|	|   }	t        j                  |«      }||   }||   }t        ||
|	||¬
«       t        |||||¬
«       d d d «       y # 1 sw Y   y xY w)NrY   r\  g{®Gáz”?rP   r   r^   rJ  Úignore©Úallr?  )	rc   ri   rj   ÚparetoÚrandintr  r   Úisfiniter:   )rE   r
  Ú
other_funcrX   rb   rp   rl   r  rL  rM  rM  Úw_realÚmasks                rF   Ú_check_variant_funczTestErf._check_variant_func±  s  € Ü�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J�t˜QÓ 1 S§[¡[°°A°qÓ%9Ñ#9¸AÑ#=Ñ>ˆØ�J‰J�t˜QÓ 1 S§[¡[°°A°qÓ%9Ñ#9¸AÑ#=Ñ>ˆØ��1‘‰Hˆä�[‰[˜XÔ&ñ 	EÙ˜1“ˆAÙ “]×'Ñ'ˆFä—;‘;˜q“>ˆDØ�$‘ˆAØ�$‘ˆAä—;‘;˜vÓ&ˆDØ˜D‘\ˆFØ�$‘ˆAô ˜d A q¨t¸$Õ?Ü˜d F¨A°D¸tÕD÷	E÷ 	Eñ 	Eús   ÂA9DÄD#c                 óL   — | j                  t        j                  d„ dd¬«       y )Nc                 ó2   — dt        j                  | «      z
  S rz   ©rB   r.  ©rM  s    rF   ú<lambda>z.TestErf.test_erfc_consistent.<locals>.<lambda>Ë  s   € �aœ&Ÿ*™* Q›-Ñ'€ rI   r‡   r>  r?  )rù  rB   r4  rD   s    rF   Útest_erfc_consistentzTestErf.test_erfc_consistentÈ  s%   € Ø× Ñ Ü�K‰KÙ'ØØð	 	!õ 	rI   c                 óJ   — | j                  t        j                  d„ d¬«       y )Nc                 ó^   — t        j                  | | z  «      t        j                  | «      z  S r‹  )rc   r   rB   r4  rý  s    rF   rþ  z/TestErf.test_erfcx_consistent.<locals>.<lambda>Ó  s   € ”b—f‘f˜Q˜q™S“k¤F§K¡K°£NÑ2€ rI   r‡   rW   )rù  rB   ÚerfcxrD   s    rF   Útest_erfcx_consistentzTestErf.test_erfcx_consistentÐ  s"   € Ø× Ñ Ü�L‰LÙ2Øð 	!õ 	rI   c                 óJ   — | j                  t        j                  d„ d¬«       y )Nc                 ó8   — dt        j                  d| z  «      z  S )Nr¹  rJ  rü  rý  s    rF   rþ  z.TestErf.test_erfi_consistent.<locals>.<lambda>Ú  s   € �cœFŸJ™J r¨!¡tÓ,Ñ,€ rI   r‡   rW   )rù  rB   ÚerfirD   s    rF   Útest_erfi_consistentzTestErf.test_erfi_consistent×  s"   € Ø× Ñ Ü�K‰KÙ,Øð 	!õ 	rI   c                 óJ   — | j                  t        j                  d„ d¬«       y )Nc                 ó†   — t        t        «      dz  t        j                  |  | z  «      z  t	        j
                  | «      z  S rå  )r   r   rc   r   rB   r  rý  s    rF   rþ  z/TestErf.test_dawsn_consistent.<locals>.<lambda>á  s.   € ”dœ2“h˜q‘j¤2§6¡6¨1¨"¨Q©$£<Ñ/´&·+±+¸a³.Ñ@€ rI   r‡   rW   )rù  rB   r   rD   s    rF   Útest_dawsn_consistentzTestErf.test_dawsn_consistentÞ  s"   € Ø× Ñ Ü�L‰LÙ@Øð 	!õ 	rI   c                 óÌ   — t         j                  t         j                   t         j                  g}t         j                  ddg}t        t	        j
                  |«      |d¬«       y )NrS   r^   r  rW   )rc   râ   r   r   r!   r.  ©rE   rw  rN  s      rF   Útest_erf_nan_infzTestErf.test_erf_nan_infå  s@   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘F˜B �?ˆÜœŸ™ DÓ)¨8¸%Ö@rI   c                 óÌ   — t         j                  t         j                   t         j                  g}t         j                  ddg}t        t	        j
                  |«      |d¬«       y )NrP   r   r  rW   )rc   râ   r   r   r!   r4  r  s      rF   Útest_erfc_nan_infzTestErf.test_erfc_nan_infê  s@   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘F˜A˜q�>ˆÜœŸ™ TÓ*¨H¸5ÖArI   c                 óè   — t         j                  t         j                   t         j                  g}t         j                  t         j                  dg}t        t	        j
                  |«      |d¬«       y )Nr   r  rW   )rc   râ   r   r   r!   r  r  s      rF   Útest_erfcx_nan_infzTestErf.test_erfcx_nan_infï  sE   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘FœBŸF™F AÐ&ˆÜœŸ™ dÓ+¨X¸EÖBrI   c                 ó  — t         j                  t         j                   t         j                  g}t         j                  t         j                   t         j                  g}t        t	        j
                  |«      |d¬«       y )Nr  rW   )rc   râ   r   r   r!   r  r  s      rF   Útest_erfi_nan_infzTestErf.test_erfi_nan_infô  sK   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘FœRŸV™V˜G¤R§V¡VÐ,ˆÜœŸ™ TÓ*¨H¸5ÖArI   c                 óÌ   — t         j                  t         j                   t         j                  g}t         j                  ddg}t        t	        j
                  |«      |d¬«       y )Nru  r¤   r  rW   )rc   râ   r   r   r!   r   r  s      rF   Útest_dawsn_nan_infzTestErf.test_dawsn_nan_infù  sA   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘F˜D #Ð&ˆÜœŸ™ dÓ+¨X¸EÖBrI   c                 óô   — t         j                  t         j                   t         j                  g}t         j                  t         j                  dz  z   ddg}t        t	        j
                  |«      |d¬«       y )NrJ  rA  r  rW   )rc   râ   r   r   r!   rL  r  s      rF   Útest_wofz_nan_infzTestErf.test_wofz_nan_infþ  sN   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘FœRŸV™V c™\Ñ)¨6°6Ð:ˆÜœŸ™ TÓ*¨H¸5ÖArI   N)r   )rO  rP  rQ  r/  rî  rù  rÿ  r  r  r
  r  r  r  r  r  r  rU  rI   rF   rç  rç  ¢  sJ   „ ò/ò.óEò.òòòòAò
Bò
Cò
Bò
Có
BrI   rç  c                   ó   — e Zd Zd„ Zy)Ú	TestEulerc                 óR  — t        j                  d«      }t        j                  d«      }t        j                  d«      }t        |dgd¬«       t        |ddgd¬«       t        |g d¢d¬«       t        j                  d«      }g d¢}t        d	d
«      }t	        dd«      D ]1  }|dz  rt        ||   «       |d|z  <   Œt        ||   «      |d|z  <   Œ3 t        j                  d¬«      5  t        ||z
  |z  «      }t        |«      }	d d d «       t        	dd«       y # 1 sw Y   ŒxY w)Nr   r^   rP   r  rW   )r^   r   rS   r
  )r^   r^   rà   é=   ii  iYÅ  i­=) iÕâl   Q~¥ l   10ÿ[¿l   Õ$8gC
 l   í2�¼³l   ¹vö}Ju: )r  Údr‘  rð  rñ  r¤   rj  )r!   Úeulerr   r   r|   r}   rc   r  r   r+  r   )
rE   Úeu0Úeu1Úeu2Úeu24Ú	mathworldÚcorrectrm   ÚerrÚerrmaxs
             rF   Ú
test_eulerzTestEuler.test_euler  s  € Ü�m‰m˜AÓˆÜ�m‰m˜AÓˆÜ�m‰m˜AÓˆÜ˜˜a˜S uÕ-Ü˜˜a ˜V¨%Õ0Ü˜šZ¨eÕ4Ü�}‰}˜RÓ ˆò+ˆ	ô ˜˜cÓ"ˆÜ�q˜“ò 	3ˆAØ�A’Ü % i°¡lÓ 3Ð3�˜˜!™’ä$ Y¨q¡\Ó2�˜˜!™’ð		3ô
 �[‰[˜XÔ&ñ 	Ü˜d 7™l¨GÑ3Ó4ˆCÜ˜“XˆF÷	ô 	˜F C¨Õ,÷	ð 	ús   Ã*DÄD&N)rO  rP  rQ  r&  rU  rI   rF   r  r    s   „ ó-rI   r  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestExpc                 óJ   — t        j                  d«      }d}t        ||«       y )NrP   rN   )r!   r;  r   ©rE   ÚexÚexrls      rF   r<  zTestExp.test_exp2  s   € Ü�\‰\˜!‹_ˆØˆÜ�R˜ÕrI   c                 óL   — t        j                  d«      }d}t        ||d«       y )Nrû  gÍ;fž @r3  )r!   r;  r   ©rE   ÚexmÚexmrls      rF   Útest_exp2morezTestExp.test_exp2more#  s!   € Ü�l‰l˜3ÓˆØˆÜ˜C  aÕ(rI   c                 óJ   — t        j                  d«      }d}t        ||«       y )NrP   r:  )r!   r7  r   r*  s      rF   r8  zTestExp.test_exp10(  s   € Ü�]‰]˜1ÓˆØˆÜ˜B˜tÕ$rI   c                 óL   — t        j                  d«      }d}t        ||d«       y )Nrû  gY—úí¤Ãs@r3  )r!   r7  r   r.  s      rF   Útest_exp10morezTestExp.test_exp10more-  s!   € Ü�m‰m˜CÓ ˆØˆÜ˜C  aÕ(rI   c                 óì   — t        j                  d«      t        j                  d«      t        j                  d«      f}t        d«      dz
  t        d«      dz
  t        d«      dz
  f}t        ||d«       y )NrP   r’   rN   r^   r3  ©r!   r>  r   r   r*  s      rF   r?  zTestExp.test_expm12  sY   € Ü�m‰m˜AÓœwŸ}™}¨QÓ/´·±¸aÓ0@ÐAˆÜ�A“�q‘œ˜Q› ™¤# a£&¨¡(Ð+ˆÜ! " T¨!Õ,rI   c                 óì   — t        j                  d«      t        j                  d«      t        j                  d«      f}t        d«      dz
  t        d«      dz
  t        d«      dz
  f}t        ||d«       y )NrP   çÍÌÌÌÌÌ @çš™™™™™@r^   r3  r6  )rE   Úex1Úexrl1s      rF   Útest_expm1morezTestExp.test_expm1more7  sY   € Ü�}‰}˜QÓ¤§¡¨cÓ 2´7·=±=ÀÓ3EÐFˆÜ�Q“˜‘œ#˜c›( 1™*¤S¨£X¨a¡ZÐ0ˆÜ! # e¨AÕ.rI   N)	rO  rP  rQ  r<  r1  r8  r4  r?  r<  rU  rI   rF   r(  r(    s    „ òò
)ò
%ò
)ò
-ó
/rI   r(  c                 ó4  ‡— ˆfd„}d„ }t        | «      t        |«      u sJ dt        | «      › dt        |«      › �«       ‚t        | t        j                  «      rc| j                  |j                  k(  sJ ‚ || |«       t        | j                  «       |j                  «       «      D ]  \  }}t        ||‰¬«       Œ yt        j                  | «      r?t        j                  |«      r*t        t        | «      d«      r || «      xr
  ||«       y y || |«       y)aÄ  
    Sharper assertion function that is stricter about matching types, not just values

    This is useful/necessary in some cases:
      * dtypes for arrays that have the same _values_ (e.g. element 1.0 vs 1)
      * distinguishing complex from real NaN
      * result types for scalars

    We still want to be able to allow a relative tolerance for the values though.
    The main logic comparison logic is handled by the xp_assert_* functions.
    c                 ó@   •— ‰€t        | |«       y t        | |‰¬«       y )NrW   )r4   r3   )r  rL  rX   s     €rF   Úassert_funcz(assert_really_equal.<locals>.assert_funcI  s   ø€ Ø!% Œ˜˜1Õ´?À1ÀaÈdÖ3SrI   c                 ó„   — t        j                  | j                  «      rt        j                  | j                  «      sJ ‚y r‹  )rc   r   r   rK  ©r  s    rF   Úassert_complex_nanz/assert_really_equal.<locals>.assert_complex_nanL  s*   € Ü�x‰x˜Ÿ™Ô¤B§H¡H¨Q¯V©VÔ$4Ð4Ð4Ð$4rI   ztypes not equal: z, rW   r#  N)
ÚtypeÚ
isinstancerc   Úndarrayr  Úziprh   Úassert_really_equalr   r8   )r  rL  rX   r?  rB  Úelem_xÚelem_ys     `    rF   rG  rG  =  sç   ø€ ôTò5ô �‹7”d˜1“gÑÐGÐ!2´4¸³7°)¸2¼dÀ1»g¸YÐGÓGÐô �!”R—Z‘ZÔ à�w‰w˜!Ÿ'™'Ò!Ð!Ð!á�A�qÔÜ! !§'¡'£)¨Q¯W©W«YÓ7ò 	;‰NˆF�FÜ ¨°TÖ:ñ	;ä	�‰�!ŒœŸ™ !œ¬´d¸1³g¸sÔ)CÙ˜1ÓÒ7Ñ"4°QÕ"7Ñ7ñ 	�A�qÕrI   c                   óþ  — e Zd Zd„ Zej
                  j                  dg d¢«      d„ «       Zej
                  j                  dg d¢«      ej
                  j                  ddd	g«      d
„ «       «       Zej
                  j                  ddd	g«      d„ «       Z	ej
                  j                  dg d¢«      d„ «       Z
ej
                  j                  dddg«      ej
                  j                  dg d¢«      d„ «       «       Zej
                  j                  ddd	g«      ej
                  j                  dddg«      ej
                  j                  dej                   ej                  d«      ej                  ej                  dz  z    ej                  d«      ej                   ej                   dz   ej                    ej                    dz   d ej"                  d«      g
g d¢¬«      ej
                  j                  dej&                  ej(                  ej*                  g«      d„ «       «       «       «       Zej
                  j                  ddd ej                  d!g«      d"„ «       Zej
                  j                  d# ed$d%«      «      ej
                  j                  ddd	g«      d&„ «       «       Zej
                  j                  ddd	g«      ej
                  j                  d'deej6                  ej8                  ej:                  ej<                  ej>                  ej@                  ejB                  ejD                  g
«      ej
                  j                  d( edd%«      «      d)„ «       «       «       Z#ej
                  j                  ddd	g«      ej
                  j                  d* ed$d%«      «      d+„ «       «       Z$ej
                  j                  d'ej>                  ej@                  ejB                  ejD                  g«      ej
                  j                  dg d¢«      d,„ «       «       Z%ej
                  j                  d ed-d.d/«      «      d0„ «       Z&ej
                  j                  d e' edd1«      «       e' ed-d.d/«      «      z   «      d2„ «       Z(d3„ Z)d4„ Z*ej
                  j                  d'ej<                  ej                  ej                  e+g«      ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  d( edd%«      «      ej
                  j                  d5g d$gd gej                  gej                  ej                  dz  z   gej                  d$ggg d6¢¬«      d7„ «       «       «       «       «       Z,ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  dd$d d8ej                  ej                  ej                  dz  z   dgg d9¢¬«      d:„ «       «       «       Z-ej
                  j                  d ed-d.d;«      «      d<„ «       Z.ej
                  j                  d e' edd1«      «       e' ed-d.d;«      «      z   «      d=„ «       Z/d>„ Z0ej
                  j                  d'ej<                  ej                  ej                  e+g«      ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  d( edd%«      «      ej
                  j                  d5g d$gd gej                  gej                  ej                  dz  z   gej                  d$ggg d6¢¬«      d?„ «       «       «       «       «       Z1ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  dd$d d8ej                  ej                  ej                  dz  z   dgg d9¢¬«      d@„ «       «       «       Z2ej
                  j                  dA ed$d%«      «      ej
                  j                  d edBdCdD«      «      dE„ «       «       Z3ej
                  j                  dA e' ed$d%«      «      d/dCgz   «      ej
                  j                  d e' edd1«      «       e' ed1dFd;«      «      z   «      dG„ «       «       Z4dH„ Z5ej
                  j                  d'ej<                  ej                  ej                  e+g«      ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  d( edd%«      «      ej
                  j                  d5g d$gd gej                  gej                  ej                  dz  z   gej                  d$ggg d6¢¬«      dI„ «       «       «       «       «       Z6ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  dA ed$d%«      «      ej
                  j                  dd$d d8ej                  ej                  ej                  dz  z   dgg d9¢¬«      dJ„ «       «       «       «       Z7ej
                  j                  ddd	g«      ej
                  j                  dg d¢«      ej
                  j                  dAdKdLddMdd ej                  g«      dN„ «       «       «       Z8ej
                  j                  ddd	g«      ej
                  j                  dg d¢«      ej
                  j                  dAd! ej"                  d«      gd!dOg¬«      dP„ «       «       «       Z9ej
                  j                  dg d¢«      ej
                  j                  dA ed$dQ«      «      dR„ «       «       Z:dS„ Z;y)TÚTestFactorialFunctionsc                 óJ  — |rt        j                  ||d¬«      S |dk(  rt        j                  ||«      nd}t        j                  |||z
  |z  «      t        j
                  ||z  dz   «      z  t        j                  ||z  dz   «      z  }|t        j                  |d«      z  S )NT©rm   r"  Úzeror^   )r!   Ú
factorialkrc   ÚmodÚpowerrj  rö  Úmaximum)rE   rl   rm   r"  ÚextendÚrrw  s          rF   Úfactorialk_refz%TestFactorialFunctions.factorialk_refb  s‘   € ÙÜ×%Ñ% a¨1°DÔ9Ð9à" fÒ,ŒB�F‰F�1�aŒL°!ˆÜ�x‰x˜˜A ™E 1™9Ó%¬¯©°a¸±c¸A±gÓ(>Ñ>ÄÇÁÐPQÐRSÑPSÐVWÑPWÓAXÑXˆà”b—j‘j  AÓ&Ñ&Ð&rI   zexact,extend))TrN  )FrN  )FrB  c                 ó  — ||dœ}t        j                  t        j                  di |¤Ž«      sJ ‚t        j                  t        j                  di |¤Ž«      sJ ‚t        j                  t        j
                  dddi|¤Ž«      sJ ‚y )N©r"  rS  rm   r’   ©r^   )rc   Úisscalarr!   Ú	factorialÚ
factorial2rO  )rE   r"  rS  Úkws       rF   Ú"test_factorialx_scalar_return_typez9TestFactorialFunctions.test_factorialx_scalar_return_typek  ss   € ð ¨Ñ/ˆÜ�{‰{œ7×,Ñ,Ñ5°"Ñ5Ô6Ð6Ð6Ü�{‰{œ7×-Ñ-Ñ6°2Ñ6Ô7Ð7Ð7Ü�{‰{œ7×-Ñ-Ñ;°1Ð;¸Ñ;Ô<Ð<Ñ<rI   rl   )rS   r  éýÿÿÿr"  TFc                 óÐ   — d|i}t        t        j                  |fi |¤Žd«       t        t        j                  |fi |¤Žd«       t        t        j                  |fddi|¤Žd«       y )Nr"  r   rm   r’   )r   r!   rZ  r[  rO  )rE   r"  rl   r\  s       rF   Ú$test_factorialx_negative_extend_zeroz;TestFactorialFunctions.test_factorialx_negative_extend_zeros  sa   € ð �uÐˆÜ”W×&Ñ& qÑ/¨BÑ/°Ô3Ü”W×'Ñ'¨Ñ0¨RÑ0°!Ô4Ü”W×'Ñ'¨Ñ5¨QÐ5°"Ñ5°qÕ9rI   c                 óF  — d|i}d}g d¢}t        j                  g d¢|rt        nt         j                  ¬«      }t	        t        j                  |fi |¤Ž||¬«       t	        t        j                  |fi |¤Ž||¬«       t	        t        j                  |fddi|¤Ž||¬«       y )	Nr"  r  )éûÿÿÿrs  r   r^   )r   r   r^   r^   r  rW   rm   r’   )	rc   r   Ú
native_intr  rG  r!   rZ  r[  rO  )rE   r"  r\  rX   rl   rN  s         rF   Ú*test_factorialx_negative_extend_zero_arrayzATestFactorialFunctions.test_factorialx_negative_extend_zero_array{  s‡   € à�uÐˆØˆÚˆä—8‘8šL¹eµ
ÌÏÉÔTˆÜœG×-Ñ-¨aÑ6°2Ñ6¸ÀtÕLÜœG×.Ñ.¨qÑ7°BÑ7¸ÈÕMÜœG×.Ñ.¨qÑ<°AÐ<¸Ñ<¸hÈTÖRrI   ©gš™™™™™ñ¿gš™™™™™Àgffffff
Àc                 ó  — ddi}ddddœ}ddd	dœ}d
dddœ}d}t        t        j                  |fi |¤Ž||   |¬«       t        t        j                  |fi |¤Ž||   |¬«       t        t        j                  |fddi|¤Ž||   |¬«       t        t        j                  |gfi |¤Žd   ||   |¬«       t        t        j                  |gfi |¤Žd   ||   |¬«       t        t        j                  |gfddi|¤Žd   ||   |¬«       y )NrS  rB  gRc/a_%Àg:\Oag@g*BZ'÷¿re  go	08G)ñ?goíNb]ÒÀg¢MxcQÞï¿g¡N«yŠç?g†=uÌò?gÙ7ÁKÓÀç [n‡ë<rW   rm   r’   r   )r   r!   rZ  r[  rO  )rE   rl   r\  Úexp_1Úexp_2Úexp_krX   s          rF   Ú'test_factorialx_negative_extend_complexz>TestFactorialFunctions.test_factorialx_negative_extend_complex†  s&  € à˜	Ð"ˆØ-Ø.Ø.ñ0ˆð .Ø-Ø.ñ0ˆð /Ø-Ø-ñ/ˆð ˆÜœ×)Ñ)¨!Ñ2¨rÑ2°E¸!±HÀ4ÕHÜœ×*Ñ*¨1Ñ3°Ñ3°U¸1±XÀDÕIÜœ×*Ñ*¨1Ñ8°Ð8°RÑ8¸%À¹(ÈÕNÜœ×)Ñ)¨1¨#Ñ4°Ñ4°QÑ7¸¸q¹ÈÕMÜœ×*Ñ*¨A¨3Ñ5°"Ñ5°aÑ8¸%À¹(ÈÕNÜœ×*Ñ*¨A¨3Ñ:°!Ð:°rÑ:¸1Ñ=¸uÀQ¹xÈdÖSrI   rK  r   rA  Ún_outerc                 óJ   ‡— ddiŠˆfd„} |||z   «        |d|z  |z   «       y )NrS  rB  c                 ó
  •— t        t        | «      d«      }t        j                  d«      }|rt        j                  d«      nt        j                  d«      }t        t        j                  | fi ‰¤Ž|«       t        t        j                  | dz  fi ‰¤Ž|«       t        t        j                  | dz  fddi‰¤Ž|«       d}t        t        j                  | |z  fd|i‰¤Ž|«       t        t        j                  | gfi ‰¤Žd   |«       t        t        j                  | dz  gfi ‰¤Žd   |«       t        t        j                  | dz  gfddi‰¤Žd   |«       t        t        j                  | |z  gfd|i‰¤Žd   |«       y )	Nr#  únan+nanjrâ   rP   r’   rm   y      ø?       Àr   )
r8   rC  rc   Ú
complex128r  rG  r!   rZ  r[  rO  )rl   Ú
complexifyÚcomplex_nanr   r#  r\  s        €rF   Ú_checkzTTestFactorialFunctions.test_factorialx_negative_extend_complex_poles.<locals>._checkž  sY  ø€ Ü%¤d¨1£g¨sÓ3ˆJäŸ-™-¨
Ó3ˆKÙ/9”"—-‘- 
Ô+¼r¿z¹zÈ%Ó?PˆCä¤× 1Ñ 1°!Ñ :°rÑ :¸CÔ@Ü¤× 2Ñ 2°1°q±5Ñ ?¸BÑ ?ÀÔEÜ¤× 2Ñ 2°1°q±5Ñ D¸AÐ DÀÑ DÀcÔJàˆAÜ¤× 2Ñ 2°1°q±5Ñ D¸AÐ DÀÑ DÀkÔRä¤× 1Ñ 1°1°#Ñ <¸Ñ <¸QÑ ?ÀÔEÜ¤× 2Ñ 2°A¸±E°7Ñ A¸bÑ AÀ!Ñ DÀcÔJÜ¤× 2Ñ 2°A¸±E°7Ñ F¸aÐ FÀ2Ñ FÀqÑ IÈ3ÔOÜ¤× 2Ñ 2°A¸±E°7Ñ F¸aÐ FÀ2Ñ FÀqÑ IÈ;ÕWrI   i † rU  )rE   rl  rK  rs  r\  s       @rF   Ú-test_factorialx_negative_extend_complex_poleszDTestFactorialFunctions.test_factorialx_negative_extend_complex_polesš  s5   ø€ ð ˜	Ð"ˆô	Xñ( 	ˆw˜‰~Ôáˆw˜Ñ  4Ñ'Õ(rI   ÚboxedrS  rN  rB  râ   rJ  ro  NÚnat)
ÚNaNznp.float64('nan')ú	NaN+i*NaNznp.complex128('nan+nanj')r   zinf+0iz-infz-inf+0iÚNoneÚNaT)ÚidsÚ
factorialxc                 ó�  — d|dœ}|t         j                  k(  rd|d<   |rg d¢ndddt        d «      g}|t         j                  k(  rdnddg}t	        t        |«      |«      s3t        j                  t        d	¬
«      5   ||r|gn|fi |¤Ž d d d «       y t	        t        |«      |«      r8|dk7  r3t        j                  t        d¬
«      5   ||r|gn|fi |¤Ž d d d «       y |dk(  xr t	        t        |«      d«      }|rt        j                  d«      nt        j                  d«      }	t	        t        |«      d«      rMt        j                  |«      r8t        j                  |dk(  rdnd«      }
|dkD  rt        j                  d«      n|
}	|r ||gfi |¤Žd   n ||fi |¤Ž}t        ||	«       y # 1 sw Y   y xY w# 1 sw Y   y xY w)NFrW  r’   rm   ©r€   r‚  r#  r€   r‚  r#  úUnsupported data type.*r  rB  úIn order to use non-integer.*ro  râ   rN  r   r   )r!   rO  rC  rZ  r8   rR  r   rH  rc   rp  r  ræ  rG  )rE   r|  rl   rS  ru  r\  Úpermissible_typesÚtypes_need_complex_extrq  rN  Úneg_inf_resultrª  s               rF   Útest_factorialx_inf_nanz.TestFactorialFunctions.test_factorialx_inf_nan¶  s¡  € ð& ¨Ñ/ˆØœ×+Ñ+Ò+ØˆBˆs‰Gñ 05›O¸3ÀÀSÌ$ÈtË*Ð:UÐà(2´g×6GÑ6GÒ(G¡ÈcÐSVÈZÐäœD ›GÐ%6Ô7Ü—‘œzÐ1JÔKñ 6Ù¡%˜A™3¨QÑ5°"Ò5÷6ð 6äœ$˜q›'Ð#9Ô:¸vÈÒ?RÜ—‘œzÐ1PÔQñ 6Ù¡%˜A™3¨QÑ5°"Ò5÷6ð 6ð ! IÑ-ÒM´<ÄÀQÃÈÓ3MˆJñ 5?”r—}‘} ZÔ0ÄBÇJÁJÈuÓDUˆHäœD ›G SÔ)¬b¯h©h°q¬kä!#§¡°&¸FÒ2B©AÈÓ!O�Ø12°Q²œ2Ÿ:™: eÔ,¸^�á16‘Z  Ñ* rÑ*¨1Ò-¹JÀqÑ<OÈBÑ<OˆFÜ ¨Õ1÷%6ð 6ú÷6ð 6ús   Á<F0Ã	F<Æ0F9Æ<Gr  Ústringc                 ó²  — t        j                  t        d¬«      5  t        j                  d|¬«       d d d «       t        j                  t        d¬«      5  t        j
                  d|¬«       d d d «       t        j                  t        d¬«      5  t        j                  ddd|¬«       d d d «       y # 1 sw Y   Œ‚xY w# 1 sw Y   ŒSxY w# 1 sw Y   y xY w)Nzargument `extend` must be.*r  r^   )rS  r’   T©rm   r"  rS  )rR  r   rH  r!   rZ  r[  rO  )rE   rS  s     rF   Útest_factorialx_raises_extendz4TestFactorialFunctions.test_factorialx_raises_extendè  s¬   € ä�]‰]œ:Ð-JÔKñ 	0Ü×Ñ˜a¨Õ/÷	0ä�]‰]œ:Ð-JÔKñ 	1Ü×Ñ˜q¨Õ0÷	1ä�]‰]œ:Ð-JÔKñ 	BÜ×Ñ˜q A¨T¸&ÕA÷	Bð 	B÷		0ð 	0ú÷	1ð 	1ú÷	Bð 	Bús#   œB5ÁCÂCÂ5B>ÃC
ÃCÚlevelsr^   rà   c                 óº  ‡‡— dˆfd„	Šˆˆfd„}t        j                   ‰ddg‰¬«      «      }dt        j                  d«      gdt	        j
                  dd	¬
«      gdt	        j                  ddd	¬
«      gdœ} |t	        j                  ||¬
«      |d   «        |t	        j
                  ||¬
«      |d   «        |t	        j                  |d|¬
«      |d   «       y )Nr^   c                 ó.   •— |dk(  r| S  ‰| | g|dz
  «      S )z¥
            Double x and nest it k times

            For example:
            >>> _nest_me([3, 4], 2)
            [[[3, 4], [3, 4]], [[3, 4], [3, 4]]]
            r   r^   rU  ©r  rm   Ú_nest_mes     €rF   r�  zDTestFactorialFunctions.test_factorialx_array_shape.<locals>._nest_meô  s&   ø€ ð �AŠvØ�á  A ¨¨!©Ó,Ð,rI   c                 óÚ   •— t        j                   ‰|‰¬«      t        ¬«      }t        | j	                  t         j
                  «       |j                  t         j
                  «      «       y )N©rm   r  )rc   r   Úobjectr   r  r  )ÚresÚnucleusr   r�  r‰  s      €€rF   rs  zBTestFactorialFunctions.test_factorialx_array_shape.<locals>._check	  sB   ø€ Ü—(‘(™8 G¨vÔ6¼fÔEˆCô ˜CŸJ™J¤r§z¡zÓ2°J°C·J±J¼r¿z¹zÓ4JÕKrI   rà   r  r�  r#  r‚   Tr!  rS  r’   r…  rP   rX  )rc   r   ÚmathrZ  r!   r[  rO  )rE   r‰  r"  rs  rl   Úexp_nucleusr�  s    `    @rF   Útest_factorialx_array_shapez2TestFactorialFunctions.test_factorialx_array_shapeñ  sÃ   ù€ õ	-õ	Lô �H‰H‘X˜q "˜g¨Ô0Ó1ˆØ¤§¡¨rÓ 2Ð3àœw×1Ñ1°"¸DÔAÐBØœw×1Ñ1°"°a¸tÔDÐEñGˆñ
 	Œw× Ñ  ¨%Ô0°+¸a±.ÔAÙŒw×!Ñ! !¨5Ô1°;¸q±>ÔBÙŒw×!Ñ! ! Q¨eÔ4°kÀ!±nÕErI   r  Údimc                 ó˜  — t        j                  d||¬«      }ddddœ}t        t        j                  ||¬«      t        j                  |d   |¬	«      «       t        t        j
                  ||¬«      t        j                  |d
   |¬	«      «       t        t        j                  |d|¬«      t        j                  |d   |¬	«      «       y )Nrà   )r  Úndminr#  r‚   rS  r…  r!  r^   ©r˜  rP   r’   )rc   r   r   r!   rZ  r[  rO  )rE   r–  r  r"  rl   r   s         rF   Útest_factorialx_array_dimensionz6TestFactorialFunctions.test_factorialx_array_dimension	  sŸ   € ô �H‰H�Q˜e¨3Ô/ˆØ˜" Ñ$ˆÜœ×)Ñ)¨!°5Ô9ÜŸ™  Q¡¨sÔ3ô	5äœ×*Ñ*¨1°EÔ:ÜŸ™  Q¡¨sÔ3ô	5äœ×*Ñ*¨1¨a°uÔ=ÜŸ™  Q¡¨sÔ3õ	5rI   Úlevelc                 óœ  ‡— dˆfd„	Š ‰dg|dz
  ¬«      }ddddœ}|rt         nt        } |t        j                  ||¬	«      t	        j
                  |d   |¬
«      «        |t        j                  ||¬	«      t	        j
                  |d   |¬
«      «        |t        j                  |d|¬	«      t	        j
                  |d   |¬
«      «       y )Nr^   c                 ó,   •— |dk(  r| S  ‰| g|dz
  «      S r$  rU  rŒ  s     €rF   r�  zCTestFactorialFunctions.test_factorialx_array_like.<locals>._nest_me$	  s"   ø€ Ø�AŠvØ�á   Q q¡SÓ)Ð)rI   rà   r�  r#  r‚   rS  r…  r!  r™  rP   r’   rX  )r   r   r!   rZ  rc   r   r[  rO  )rE   r›  r"  rl   r”  r?  r�  s         @rF   Útest_factorialx_array_likez1TestFactorialFunctions.test_factorialx_array_like!	  s¯   ø€ õ	*ñ �a�S˜E !™GÔ$ˆØ "¨Ñ,ˆÙ,1Õ(´ˆÙ”G×%Ñ% a¨uÔ5Ü—H‘H˜[¨™^°5Ô9ô	;á”G×&Ñ& q°Ô6Ü—H‘H˜[¨™^°5Ô9ô	;á”G×&Ñ& q¨!°5Ô9Ü—H‘H˜[¨™^°5Ô9õ	;rI   c                 óê   ‡‡— ||dœŠ|rt         nt        Šˆˆfd„} | |d«      «        | |d«      «        |t        j                  d|¬«      «        |t        j                  ddg|¬«      «       y )NrW  c                 óÐ  •— t        | t        j                  «      r| j                  t        j                  «      nt        j                  | «      } ‰t        j                  | fi ‰¤Žt        j                  |fi ‰¤Ž«        ‰t        j                  | fi ‰¤Žt        j                  |fi ‰¤Ž«        ‰t        j                  | fddi‰¤Žt        j                  |fddi‰¤Ž«       y )Nrm   r’   )	rD  rc   rE  r  r0  r!   rZ  r[  rO  )rl   Ún_refr?  r\  s     €€rF   rs  z;TestFactorialFunctions.test_factorialx_uint.<locals>._check;	  s¹   ø€ Ü*4°Q¼¿
¹
Ô*C�A—H‘HœRŸX™XÔ&ÌÏÉÐRSËˆEÙœ×)Ñ)¨!Ñ2¨rÑ2´G×4EÑ4EÀeÑ4RÈrÑ4RÔSÙœ×*Ñ*¨1Ñ3°Ñ3´W×5GÑ5GÈÑ5TÐQSÑ5TÔUÙœ×*Ñ*¨1Ñ8°Ð8°RÑ8Ü×*Ñ*¨5Ñ<°AÐ<¸Ñ<õ>rI   r   r^   r  )r   r   rc   r   )rE   r"  rS  r  rs  r?  r\  s        @@rF   Útest_factorialx_uintz+TestFactorialFunctions.test_factorialx_uint4	  sb   ù€ ð
 ¨Ñ/ˆÙ,1Õ(´ˆõ	>ñ 	‰u�Q‹xÔÙ‰u�Q‹xÔÙŒr�x‰x˜ Ô'Ô(ÙŒr�x‰x˜˜A˜ eÔ,Õ-rI   rZ   r2  rS  c                 óN  — t         j                  dk(  rdnd}t        t        t	        j
                  |d¬«      «      t	        j
                  |d¬«      |¬«       t        t	        j
                  |gd¬«      j                  t        «      t	        j
                  |gd¬«      |¬«       y )Nr<   ç´àø¤tã0=r  Tr!  FrW   )ÚsysÚplatformr   r}   r!   rZ  r  ©rE   rl   rX   s      rF   Útest_factorial_accuracyz.TestFactorialFunctions.test_factorial_accuracyG	  s~   € ô
 Ÿ™¨Ò/‰u°Uˆäœœg×/Ñ/°¸Ô>Ó?Ü×)Ñ)¨!°5Ô9Àõ	Fäœ×)Ñ)¨1¨#°TÔ:×AÑAÄ%ÓHÜ×)Ñ)¨1¨#°UÔ;À$ö	HrI   é   c                 ó,  — t        j                  |«      }t        |t        j                  |d¬«      «       t        |t        j                  |gd¬«      d   «       t        j
                  dk(  rdnd}t        |«      }t        |t        j                  |d¬«      |¬«       t        |t        j                  |gd¬«      d   |¬«       dd	d
œ}t        |t        j                  |fi |¤Ž|¬«       t        |t        j                  |gfi |¤Žd   |¬«       y )NTr!  r   r<   ç›+¡†›„6=r  FrW   rB  rW  )r“  rZ  r   r!   r¥  r¦  r}   r   ©rE   rl   r#  rX   r\  s        rF   Útest_factorial_int_referencez3TestFactorialFunctions.test_factorial_int_referenceS	  sæ   € ô —.‘. Ó#ˆÜ˜7¤G×$5Ñ$5°a¸tÔ$DÔEÜ˜7¤G×$5Ñ$5°q°cÀÔ$FÀqÑ$IÔJäŸ™¨Ò/‰u°Uˆä˜“.ˆÜ˜¤×!2Ñ!2°1¸EÔ!BÈÕNÜ˜¤×!2Ñ!2°A°3¸eÔ!DÀQÑ!GÈdÕSð ¨	Ñ2ˆÜ˜¤×!2Ñ!2°1Ñ!;¸Ñ!;À$ÕGÜ˜¤×!2Ñ!2°A°3Ñ!=¸"Ñ!=¸aÑ!@ÀtÖLrI   c                 ó¬   — d„ } |dd«        |dd«        |dd«        |dd	«        |d
d«        |dd«        |dd«        |dd«        |dd«       y )Nc                 óÜ  — t         j                  dk(  rdnd}t        t        j                  | «      ||¬«       t        t        j                  | g«      d   ||¬«       t        j                  t        d¬«      5  t        j                  | d¬	«       d d d «       t        j                  t        d¬«      5  t        j                  | gd¬	«       d d d «       y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)
Nr<   r«  r  rW   r   ú`exact=True` only supports.*r  Tr!  )r¥  r¦  r   r!   rZ  rR  r   rH  )rl   rN  rX   s      rF   rs  zETestFactorialFunctions.test_factorial_float_reference.<locals>._checkg	  s¸   € ÜŸL™L¨GÒ3‘5¸ˆDÜœG×-Ñ-¨aÓ0°(ÀÕFÜœG×-Ñ-¨q¨cÓ2°1Ñ5°xÀdÕKä—‘œzÐ1OÔPñ 1Ü×!Ñ! !¨4Õ0÷1ä—‘œzÐ1OÔPñ 3Ü×!Ñ! 1 #¨TÕ2÷3ð 3÷1ð 1ú÷3ð 3ús   Á9CÂ4C"ÃCÃ"C+rÙ   gŒê�r„Ñï?gÃõ(\�Âñ?gö“þ÷cÓð?g333333@g»”ð�4¯s@g333333&@gù¿ÀÞ‰OˆAçfffff¦@@g çÈ	Â²Gg     ÀK@gC$¡ŠÇÓJOgÍÌÌÌÌlS@gæØ á}â³Wgš™™™™ùX@gXÖ>Ü%±`g’\þCúSe@gG=ÂüïrU  ©rE   rs  s     rF   Útest_factorial_float_referencez5TestFactorialFunctions.test_factorial_float_referencef	  sl   € ò	3ñ 	ˆtÐ2Ô3ÙˆtÐ2Ô3ÙˆtÐ2Ô3ÙˆtÐ2Ô3ÙˆtÐ6Ô7ÙˆtÐ6Ô7ÙˆtÐ7Ô8ÙˆtÐ7Ô8áˆxÐ7Õ8rI   c                 ón   — d„ } |dd¬«        |dd¬«        |dd¬«        |d	d
¬«        |dd¬«       y )Nc                 óÌ   — t         j                  dk(  rdnd}dddœ}t        t        j                  | fi |¤Ž||¬«       t        t        j                  | gfi |¤Žd   ||¬«       y )	Nr<   rg  çVçž¯â<FrB  rW  rW   r   )r¥  r¦  r   r!   rZ  ©rl   rN  rX   r\  s       rF   rs  zGTestFactorialFunctions.test_factorial_complex_reference.<locals>._check~	  s]   € ÜŸL™L¨GÒ3‘5¸ˆDØ ¨IÑ6ˆBÜœG×-Ñ-¨aÑ6°2Ñ6¸ÀtÕLÜœG×-Ñ-¨q¨cÑ8°RÑ8¸Ñ;¸XÈDÖQrI   r  gkï´‘ø[ü?©rN  ù      à¿        ykï´‘ø[ü?        ù       @       @y·±B}Û¿æŒçåë?g§èH.ÿï¿gK«	!¶‡Ã@y      ð¿-Cëâ6?yI{�÷Œxâ¿ØQÂüÿ‡ÃÀrU  r²  s     rF   Ú test_factorial_complex_referencez7TestFactorialFunctions.test_factorial_complex_reference}	  sA   € ò	Rñ 	ˆtÐ3Õ4ÙˆyÐ#=Õ>ÙˆvÐ QÕRáˆwÐ!5Õ6Ùˆ|Ð&SÖTrI   Úcontent)z[]z[1]z[1.1]z[NaN]z[NaN+i*NaN]z[NaN, 1]c                 ó:  — |t         u rt        rt        j                  d«       |t        j
                  u r't        d„ |D «       «      rt        j                  d«       |t        j                  k(  r't        d„ |D «       «      rt        j                  d«       ||dœ}|dkD  st        |«      dk7  r|n|d   }t	        j                  |||¬«      }d }|d	k(  r>|r<t        j                  t        d
¬«      5  t        j                  |fi |¤Ž d d d «       �nt        |j                  g d¢«      s;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       n¿t        |j                  d«      r@|d	k7  r;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       ni|rQt        |j                  d«      s;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       nt        j                  |fi |¤Ž}|�À|j!                  «       D �	cg c]  }	t        j                  |	fi |¤Ž‘Œ }
}	t        |
«      dk(  r|
d   n|
}
|j"                  rG|d	k(  xr t        |j                  d«      }|rt        j$                  n|rt&        nt        j                  }t	        j                  |
||¬«      }t)        ||d¬«       y y # 1 sw Y   ŒÌxY w# 1 sw Y   ŒØxY w# 1 sw Y   ŒäxY w# 1 sw Y   ŒðxY wc c}	w )Nz+object arrays unsupported in array API modec              3   óf   K  — | ])  }t        j                  |«      xs |t        |«      k7  –— Œ+ y ­wr‹  ©rc   r   r{   ©Ú.0r  s     rF   ú	<genexpr>zKTestFactorialFunctions.test_factorial_array_corner_cases.<locals>.<genexpr>œ	  ó(   è ø€ Ò$SÀa¤R§X¡X¨a£[Ò%A°Q¼#¸a»&±[Ó%AÑ$Sùó   ‚/1úimpossible combinationc              3   óF   K  — | ]  }t        t        |«      d «      –— Œ y­w©r#  N©r8   rC  rÀ  s     rF   rÂ  zKTestFactorialFunctions.test_factorial_array_corner_cases.<locals>.<genexpr>ž	  ó   è ø€ Ò&SÀa¤|´D¸³G¸S×'AÑ&Sùó   ‚!rW  r   r^   ©r˜  r  rB  úIncompatible options:.*r  r~  r  r#  r€  r€   r°  r  rW   )r�  r5   rR  Úskiprc   r0  Úanyr  Úlenr   r   rH  r!   rZ  r8   r  rh   r  rp  rc  rG  ©rE   r¼  r–  r"  rS  r  r\  rl   rª  r  r  ÚcxrN  s                rF   Ú!test_factorial_array_corner_casesz8TestFactorialFunctions.test_factorial_array_corner_cases�	  s‹  € ð ”F‰?�Ü�K‰KÐEÔFà”B—H‘HÑ¤Ñ$SÈ7Ô$SÔ!SÜ�K‰KÐ0Ô1Ø”B—J‘JÒ¤3Ñ&SÈ7Ô&SÔ#SÜ�K‰KÐ0Ô1à¨Ñ/ˆà! Ašg¬¨W«¸Ò):‘'ÀÈÁˆÜ�H‰H�W C¨uÔ5ˆàˆØ�YÒ¡5Ü—‘œzÐ1JÔKñ +Ü×!Ñ! !Ñ* rÒ*÷+ñ +ä˜aŸg™g¢Ô7Ü—‘œzÐ1JÔKñ +Ü×!Ñ! !Ñ* rÒ*÷+ð +ä˜!Ÿ'™' 3Ô'¨F°iÒ,?Ü—‘œzÐ1PÔQñ +Ü×!Ñ! !Ñ* rÒ*÷+ð +áœ<¨¯©°Ô5Ü—‘œzÐ1OÔPñ +Ü×!Ñ! !Ñ* rÒ*÷+ð +ô ×&Ñ& qÑ/¨BÑ/ˆFàÐà78·w±w³yÖA°!”7×$Ñ$ QÑ-¨"Ó-ÐAˆCÐAä ›H¨šM�#�a’&¨sˆCð �vŠvØ 	Ñ)ÒI¬|¸A¿G¹GÀSÓ/I�Ù)+œŸšÁµ*Ì2Ï:É:�Ü—x‘x ¨3°eÔ<ˆHÜ ¨°uÖ=ð ÷+ð +ú÷+ð +ú÷+ð +ú÷+ð +üò Bs6   Ã2K(ÅK4ÆL Ç/LÈ9LË(K1Ë4K=Ì L	ÌLrº  )Ú1z1.1z2+2jrw  rx  ry  c           	      óf  — ||dœ}|dk(  r=|r;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       y t        t        |«      dddt        d «      g«      s;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       y t        t        |«      d«      r@|dk7  r;t        j                  t        d	¬«      5  t        j                  |fi |¤Ž d d d «       y |�t        j                  |«      ri|dk(  xr t        t        |«      d«      }|rt        j                  d
«      nt        j                  d«      }t        t        j                  |fi |¤Ž|«       y |rPt        t        |«      d«      r;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       y t        t        j                  |fi |¤Žt        j                  |dz   «      «       y # 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   y xY w)NrW  rB  rÌ  r  r€   r‚  r#  r  r€  ro  râ   r°  r^   )rR  r   rH  r!   rZ  r8   rC  rc   r   rp  r  rG  r   rj  ©rE   rl   r"  rS  r\  rq  rN  s          rF   Ú"test_factorial_scalar_corner_casesz9TestFactorialFunctions.test_factorial_scalar_corner_casesÃ	  sÏ  € ð
 ¨Ñ/ˆØ�YÒ¡5Ü—‘œzÐ1JÔKñ +Ü×!Ñ! !Ñ* rÒ*÷+ð +äœd 1›g¨¨S°#´t¸D³zÐ'BÔCÜ—‘œzÐ1JÔKñ +Ü×!Ñ! !Ñ* rÒ*÷+ð +äœ$˜q›' 3Ô'¨F°iÒ,?Ü—‘œzÐ1PÔQñ +Ü×!Ñ! !Ñ* rÒ*÷+ð +àˆYœ"Ÿ(™( 1œ+à  IÑ-ÒM´<ÄÀQÃÈÓ3MˆJÙ4>”r—}‘} ZÔ0ÄBÇJÁJÈuÓDUˆHÜ¤× 1Ñ 1°!Ñ :°rÑ :¸HÕEÙ”|¤D¨£G¨SÔ1Ü—‘œzÐ1OÔPñ +Ü×!Ñ! !Ñ* rÒ*÷+ð +ô œ×*Ñ*¨1Ñ3°Ñ3´W·]±]À1ÀqÁ5Ó5IÕJ÷#+ð +ú÷+ð +ú÷+ð +ú÷+ð +ús/   ¨HÂHÃHÆ,H'ÈHÈHÈH$È'H0rI  c                 óN  — t         j                  dk(  rdnd}t        t        t	        j
                  |d¬«      «      t	        j
                  |d¬«      |¬«       t        t	        j
                  |gd¬«      j                  t        «      t	        j
                  |gd¬«      |¬«       y )Nr<   ç›+¡†›„=r  Tr!  FrW   )r¥  r¦  r   r}   r!   r[  r  r§  s      rF   Útest_factorial2_accuracyz/TestFactorialFunctions.test_factorial2_accuracyÞ	  s~   € ô
 Ÿ™¨Ò/‰u°Uˆäœœg×0Ñ0°¸$Ô?Ó@Ü×*Ñ*¨1°EÔ:Àõ	Gäœ×*Ñ*¨A¨3°dÔ;×BÑBÄ5ÓIÜ×*Ñ*¨A¨3°eÔ<À4ö	IrI   c           
      ó†  — t        j                  t        j                  t	        t        |dd«      «      d«      }t        |t        j                  |d¬«      «       t        |t        j                  |gd¬«      d   «       t        j                  dk(  rdnd}t        |«      }t        |t        j                  |d	¬«      |¬
«       t        |t        j                  |gd	¬«      d   |¬
«       d	ddœ}|dz  dk(  rIt        |t        j                  |fi |¤Ž|¬
«       t        |t        j                  |gfi |¤Žd   |¬
«       y y )Nr   r  r^   Tr!  r<   rØ  r  FrW   rB  rW  rP   )Ú	functoolsÚreduceÚoperatorÚmulr)  r|   r   r!   r[  r¥  r¦  r}   r   r¬  s        rF   Útest_factorial2_int_referencez4TestFactorialFunctions.test_factorial2_int_referenceê	  s  € ô ×"Ñ"¤8§<¡<´´e¸A¸qÀ"³oÓ1FÈÓJˆä˜7¤G×$6Ñ$6°qÀÔ$EÔFÜ˜7¤G×$6Ñ$6¸°sÀ$Ô$GÈÑ$JÔKäŸ™¨Ò/‰u°Uˆä˜“.ˆÜ˜¤×!3Ñ!3°A¸UÔ!CÈ$ÕOÜ˜¤×!3Ñ!3°Q°C¸uÔ!EÀaÑ!HÈtÕTð ¨	Ñ2ˆàˆq‰5�AŠ:Ü˜G¤W×%7Ñ%7¸Ñ%@¸RÑ%@ÀtÕLÜ˜G¤W×%7Ñ%7¸¸Ñ%B¸rÑ%BÀ1Ñ%EÈDÖQð rI   c                 ó’  — d„ } |dd¬«        |dt        j                  d«      t        j                  dt        j                  z  «      z  ¬«        |dt        j                  d«      t        j                  dt        j                  z  «      z  ¬«        |dd¬«        |d	d
¬«        |dd¬«        |dd¬«        |dd¬«       y )Nc                 ó¢   — d}dddœ}t        t        j                  | fi |¤Ž||¬«       t        t        j                  | gfi |¤Žd   ||¬«       y )Nr  FrB  rW  rW   r   )r   r!   r[  r·  s       rF   rs  zHTestFactorialFunctions.test_factorial2_complex_reference.<locals>._check
  sP   € ØˆDØ ¨IÑ6ˆBÜœG×.Ñ.¨qÑ7°BÑ7¸ÈÕMÜœG×.Ñ.°¨sÑ9°bÑ9¸!Ñ<¸hÈTÖRrI   r’   r¸  rN   rP   rt   r  g^D]?JOê?r¹  y^D]?JOê?        y      @      @y­ÄÓ&0ñ¿!›Ÿ:÷?g�St$—ÿÿ¿gtäQä*¿@y       À-Cëâ6?yqƒjí®§?¯xØ*¿À)r!   r[  r“  r   r   r²  s     rF   Ú!test_factorial2_complex_referencez8TestFactorialFunctions.test_factorial2_complex_reference
  s¡   € ò	Sñ 	ˆq˜1ÕÙˆqœ7×-Ñ-¨aÓ0´4·9±9¸QÄÇÁ¹[Ó3IÑIÕJÙˆrœG×.Ñ.¨rÓ2´T·Y±Y¸qÄ4Ç7Á7¹{Ó5KÑKÕLáˆtÐ4Õ5ÙˆyÐ#>Õ?ÙˆvÐ OÕPáˆwÐ!6Õ7Ùˆ|Ð&UÖVrI   c                 ó:  — |t         j                  k(  r't        d„ |D «       «      rt        j                  d«       |t         j
                  k(  r't        d„ |D «       «      rt        j                  d«       ||dœ}|dkD  st        |«      dk7  r|n|d   }t        j                  |||¬«      }d }|dk(  r=|r;t        j                  t        d	¬
«      5  t        j                  |fi |¤Ž d d d «       nÁt        |j                  g d¢«      s;t        j                  t        d¬
«      5  t        j                  |fi |¤Ž d d d «       nnt        |j                  ddg«      r@|dk7  r;t        j                  t        d¬
«      5  t        j                  |fi |¤Ž d d d «       nt        j                  |fi |¤Ž}|�À|j                  «       D �	cg c]  }	t        j                  |	fi |¤Ž‘Œ }
}	t        |
«      dk(  r|
d   n|
}
|j                  rG|dk(  xr t        |j                  d«      }|rt         j                   n|rt"        nt         j
                  }t        j                  |
||¬«      }t%        ||d¬«       y y # 1 sw Y   ŒÌxY w# 1 sw Y   ŒØxY w# 1 sw Y   ŒäxY wc c}	w )Nc              3   óf   K  — | ])  }t        j                  |«      xs |t        |«      k7  –— Œ+ y ­wr‹  r¿  rÀ  s     rF   rÂ  zLTestFactorialFunctions.test_factorial2_array_corner_cases.<locals>.<genexpr>$
  rÃ  rÄ  rÅ  c              3   óF   K  — | ]  }t        t        |«      d «      –— Œ y­wrÇ  rÈ  rÀ  s     rF   rÂ  zLTestFactorialFunctions.test_factorial2_array_corner_cases.<locals>.<genexpr>&
  rÉ  rÊ  rW  r   r^   rË  rB  rÌ  r  r~  r  r‚  r#  r€  r¶  rW   )rc   r0  rÎ  rR  rÍ  r  rÏ  r   r   rH  r!   r[  r8   r  rh   r  rp  rc  rG  rÐ  s                rF   Ú"test_factorial2_array_corner_casesz9TestFactorialFunctions.test_factorial2_array_corner_cases
  s-  € ð ”B—H‘HÒ¤Ñ$SÈ7Ô$SÔ!SÜ�K‰KÐ0Ô1Ø”B—J‘JÒ¤3Ñ&SÈ7Ô&SÔ#SÜ�K‰KÐ0Ô1à¨Ñ/ˆà! Ašg¬¨W«¸Ò):‘'ÀÈÁˆÜ�H‰H�W C¨uÔ5ˆàˆØ�YÒ¡5Ü—‘œzÐ1JÔKñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,ä˜aŸg™g¢Ô7Ü—‘œzÐ1JÔKñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,ä˜!Ÿ'™' C¨ :Ô.°6¸YÒ3FÜ—‘œzÐ1PÔQñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,ô ×'Ñ'¨Ñ0¨RÑ0ˆFàÐà89¿¹»	ÖB°1”7×%Ñ% aÑ.¨2Ó.ÐBˆCÐBä ›H¨šM�#�a’&¨sˆCð �vŠvØ 	Ñ)ÒI¬|¸A¿G¹GÀSÓ/I�Ù)+œŸšÁµ*Ì2Ï:É:�Ü—x‘x ¨3°eÔ<ˆHÜ ¨°uÖ=ð ÷,ð ,ú÷,ð ,ú÷,ð ,üò Cs*   ÃI4Ä#J Å;JÇJÉ4I=Ê J	ÊJc           	      ó°  — ||dœ}|dk(  r=|r;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       y t        t        |«      dddt        d «      g«      s;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       y t        t        |«      ddg«      r@|dk7  r;t        j                  t        d	¬«      5  t        j                  |fi |¤Ž d d d «       y |�t        j                  |«      ri|dk(  xr t        t        |«      d«      }|rt        j                  d
«      nt        j                  d«      }t        t        j                  |fi |¤Ž|«       y  | j                  |fddi|¤Ž}t        t        j                  |fi |¤Ž|d¬«       y # 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   y xY w)NrW  rB  rÌ  r  r€   r‚  r#  r  r€  ro  râ   rm   rP   r  rW   )rR  r   rH  r!   r[  r8   rC  rc   r   rp  r  rG  rU  rÕ  s          rF   Ú#test_factorial2_scalar_corner_casesz:TestFactorialFunctions.test_factorial2_scalar_corner_casesH
  s–  € ð
 ¨Ñ/ˆØ�YÒ¡5Ü—‘œzÐ1JÔKñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,äœd 1›g¨¨S°#´t¸D³zÐ'BÔCÜ—‘œzÐ1JÔKñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,äœ$˜q›' C¨ :Ô.°6¸YÒ3FÜ—‘œzÐ1PÔQñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,àˆYœ"Ÿ(™( 1œ+à  IÑ-ÒM´<ÄÀQÃÈÓ3MˆJÙ4>”r—}‘} ZÔ0ÄBÇJÁJÈuÓDUˆHÜ¤× 2Ñ 2°1Ñ ;¸Ñ ;¸XÕFà*�t×*Ñ*¨1Ñ8°Ð8°RÑ8ˆHÜ¤× 2Ñ 2°1Ñ ;¸Ñ ;¸XÈEÖR÷,ð ,ú÷,ð ,ú÷,ð ,ús#   ¨F4ÂG ÃGÆ4F=Ç G	ÇGrm   ré  rt   iãÿÿÿc           	      óV  — t         j                  dk(  rdnd}t        t        t	        j
                  ||d¬«      «      t	        j
                  ||d¬«      |¬«       t        t	        j
                  |g|d¬«      j                  t        «      t	        j
                  |g|d¬«      |¬«       y )Nr<   r¤  rØ  TrM  FrW   )r¥  r¦  r   r}   r!   rO  r  )rE   rl   rm   rX   s       rF   Útest_factorialk_accuracyz/TestFactorialFunctions.test_factorialk_accuracy`
  s†   € ô Ÿ™¨Ò/‰u°Uˆäœœg×0Ñ0°°a¸tÔDÓEÜ×*Ñ*¨1°¸Ô?Àdõ	Läœ×*Ñ*¨A¨3°!¸4Ô@×GÑGÌÓNÜ×*Ñ*¨A¨3°!¸5ÔAÈö	NrI   r:  c           
      ó–  — t        j                  t        j                  t	        t        |d| «      «      d«      }t        |t        j                  ||d¬«      «       t        |t        j                  |g|d¬«      d   «       t        j                  dk(  rdnd}t        |«      }t        |t        j                  ||d¬«      |¬	«       t        |t        j                  |g|d¬«      d   |¬	«       |dd
dœ}||z  dk(  rKd}t        |t        j                  |fi |¤Ž|¬	«       t        |t        j                  |gfi |¤Žd   |¬	«       y y )Nr   r^   Tr!  r<   g´àø¤tã =r>  FrW   rB  r‡  rØ  )rÛ  rÜ  rÝ  rÞ  r)  r|   r   r!   rO  r¥  r¦  r}   r   )rE   rl   rm   r#  rX   r\  s         rF   Útest_factorialk_int_referencez4TestFactorialFunctions.test_factorialk_int_referenceo
  s  € ô ×"Ñ"¤8§<¡<´´e¸A¸qÀ1À"³oÓ1FÈÓJˆä˜7¤G×$6Ñ$6°q¸!À4Ô$HÔIÜ˜7¤G×$6Ñ$6¸°s¸AÀTÔ$JÈ1Ñ$MÔNäŸ™¨Ò/‰u°Uˆä˜“.ˆÜ˜¤×!3Ñ!3°A°qÀÔ!FÈTÕRÜ˜¤×!3Ñ!3°Q°C¸À%Ô!HÈÑ!KÐRVÕWð ˜u°	Ñ:ˆàˆq‰5�AŠ:ØˆDÜ˜G¤W×%7Ñ%7¸Ñ%@¸RÑ%@ÀtÕLÜ˜G¤W×%7Ñ%7¸¸Ñ%B¸rÑ%BÀ1Ñ%EÈDÖQð rI   c           	      ó€  — d„ } |ddt        j                  ddd¬«      ¬«        |ddd¬«        |d	dd
¬«        |ddd¬«        |ddd¬«        |ddd¬«        |ddd¬«        |ddd¬«        |ddd¬«        |ddd¬«        |ddd¬«        |ddd¬«        |ddd¬«        |ddd ¬«        |d!dd"¬«       y )#Nc                 ó¤   — d}|dddœ}t        t        j                  | fi |¤Ž||¬«       t        t        j                  | gfi |¤Žd   ||¬«       y )Nr>  FrB  r‡  rW   r   )r   r!   rO  )rl   rm   r   rX   r\  s        rF   rs  zHTestFactorialFunctions.test_factorialk_complex_reference.<locals>._checkŒ
  sR   € ØˆDØ 5°IÑ>ˆBÜœG×.Ñ.¨qÑ7°BÑ7¸À4ÕHÜœG×.Ñ.°¨sÑ9°bÑ9¸!Ñ<¸cÈÖMrI   rN   r’   TrM  )rl   rm   r   rà   gD!Áñ)@g      @gNqåÅ5®3@rû  gªGÜ`­@rI  g     ®ž@y       À      @y      À      @y      @      @yRsÁ¶å¿ðÌU#[˜@y      @      Àyõ¼•ú£ÿ?M…,a¢í?y@/Ìn­êÇ?ƒ�'ì?r  gyL_ÇšZç?r¹  yyL_ÇšZç?        g333333@gffffffæ¿y©NVÇÝ?ü†*ÊV7â?g333333ã¿y›ü)k“h²¿»]ýb·¿gÇ):’ËÿÀgÌiß‘·T¾@y      À-Cëâ6?y(“5öEÁ?WùÝ•T¾À)r!   rO  r²  s     rF   Ú!test_factorialk_complex_referencez8TestFactorialFunctions.test_factorialk_complex_referenceŠ
  sÙ   € ò	Nñ 	��aœW×/Ñ/°°Q¸dÔCÕDÙ��aÐ0Õ1Ù�˜Ð2Õ3á��cÐ2Õ3Ù��s Õ'Ù� ¨WÕ5á�˜1Ð"RÕSÙ��fÐ"QÕRÙ�˜6Ð'VÕWá�˜Ð 6Õ7Ù�˜aÐ%@ÕAÙ�˜Ð"RÕSÙ�˜Ð#UÕVá�˜AÐ#8Õ9Ù� Ð(VÖWrI   c                 ó<  — |t         j                  k(  r't        d„ |D «       «      rt        j                  d«       |t         j
                  k(  r't        d„ |D «       «      rt        j                  d«       d||dœ}|dkD  st        |«      dk7  r|n|d   }t        j                  |||¬«      }d }|d	k(  r=|r;t        j                  t        d
¬«      5  t        j                  |fi |¤Ž d d d «       nÁt        |j                  g d¢«      s;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       nnt        |j                  ddg«      r@|d	k7  r;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       nt        j                  |fi |¤Ž}|�À|j                  «       D �	cg c]  }	t        j                  |	fi |¤Ž‘Œ }
}	t        |
«      dk(  r|
d   n|
}
|j                  rG|d	k(  xr t        |j                  d«      }|rt         j                   n|rt"        nt         j
                  }t        j                  |
||¬«      }t%        ||d¬«       y y # 1 sw Y   ŒÌxY w# 1 sw Y   ŒØxY w# 1 sw Y   ŒäxY wc c}	w )Nc              3   óf   K  — | ])  }t        j                  |«      xs |t        |«      k7  –— Œ+ y ­wr‹  r¿  rÀ  s     rF   rÂ  zLTestFactorialFunctions.test_factorialk_array_corner_cases.<locals>.<genexpr>µ
  rÃ  rÄ  rÅ  c              3   óF   K  — | ]  }t        t        |«      d «      –— Œ y­wrÇ  rÈ  rÀ  s     rF   rÂ  zLTestFactorialFunctions.test_factorialk_array_corner_cases.<locals>.<genexpr>·
  rÉ  rÊ  r’   r‡  r   r^   rË  rB  rÌ  r  r~  r  r‚  r#  r€  r¶  rW   )rc   r0  rÎ  rR  rÍ  r  rÏ  r   r   rH  r!   rO  r8   r  rh   r  rp  rc  rG  rÐ  s                rF   Ú"test_factorialk_array_corner_casesz9TestFactorialFunctions.test_factorialk_array_corner_cases¨
  s/  € ð ”B—H‘HÒ¤Ñ$SÈ7Ô$SÔ!SÜ�K‰KÐ0Ô1Ø”B—J‘JÒ¤3Ñ&SÈ7Ô&SÔ#SÜ�K‰KÐ0Ô1à˜u°Ñ7ˆà! Ašg¬¨W«¸Ò):‘'ÀÈÁˆÜ�H‰H�W C¨uÔ5ˆàˆØ�YÒ¡5Ü—‘œzÐ1JÔKñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,ä˜aŸg™g¢Ô7Ü—‘œzÐ1JÔKñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,ä˜!Ÿ'™' C¨ :Ô.°6¸YÒ3FÜ—‘œzÐ1PÔQñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,ô ×'Ñ'¨Ñ0¨RÑ0ˆFàÐà89¿¹»	ÖB°1”7×%Ñ% aÑ.¨2Ó.ÐBˆCÐBä ›H¨šM�#�a’&¨sˆCð �vŠvØ 	Ñ)ÒI¬|¸A¿G¹GÀSÓ/I�Ù)+œŸšÁµ*Ì2Ï:É:�Ü—x‘x ¨3°eÔ<ˆHÜ ¨°uÖ=ð ÷,ð ,ú÷,ð ,ú÷,ð ,üò Cs*   ÃI5Ä$JÅ<JÇJÉ5I>ÊJ
ÊJc           	      ó®  — |||dœ}|dk(  r=|r;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       y t        t        |«      dddt        d «      g«      s;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       y t        t        |«      ddg«      r@|dk7  r;t        j                  t        d	¬«      5  t        j                  |fi |¤Ž d d d «       y |�t        j                  |«      ri|dk(  xr t        t        |«      d«      }|rt        j                  d
«      nt        j                  d«      }t        t        j                  |fi |¤Ž|«       y  | j                  |fi |¤Ž}t        t        j                  |fi |¤Ž|d¬«       y # 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   y xY w)Nr‡  rB  rÌ  r  r€   r‚  r#  r  r€  ro  râ   r  rW   )rR  r   rH  r!   rO  r8   rC  rc   r   rp  r  rG  rU  )rE   rl   rm   r"  rS  r\  rq  rN  s           rF   Ú#test_factorialk_scalar_corner_casesz:TestFactorialFunctions.test_factorialk_scalar_corner_casesÙ
  s“  € ð ˜u°Ñ7ˆØ�YÒ¡5Ü—‘œzÐ1JÔKñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,äœd 1›g¨¨S°#´t¸D³zÐ'BÔCÜ—‘œzÐ1JÔKñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,äœ$˜q›' C¨ :Ô.°6¸YÒ3FÜ—‘œzÐ1PÔQñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,àˆYœ"Ÿ(™( 1œ+à  IÑ-ÒM´<ÄÀQÃÈÓ3MˆJÙ4>”r—}‘} ZÔ0ÄBÇJÁJÈuÓDUˆHÜ¤× 2Ñ 2°1Ñ ;¸Ñ ;¸XÕFà*�t×*Ñ*¨1Ñ3°Ñ3ˆHÜ¤× 2Ñ 2°1Ñ ;¸Ñ ;¸XÈEÖR÷,ð ,ú÷,ð ,ú÷,ð ,ús#   ©F3ÂF?ÃGÆ3F<Æ?GÇGrS   r  r¤   c                 ó¶  — |rdgnd}|||dœ}|dk(  rYd}t        t        |«      d«      r|dk  rd}t        j                  t        |¬«      5  t        j                  |fi |¤Ž d d d «       y |dk(  r;t        j                  t        d	¬«      5  t        j                  |fi |¤Ž d d d «       y t        j                  |fi |¤Ž y # 1 sw Y   y xY w# 1 sw Y   y xY w)
Nr^   r‡  rN  r€  r€   zFor `extend='zero'`.*r  r   zParameter k cannot be zero!)r8   rC  rR  r   rH  r!   rO  )rE   rm   r"  rS  ru  rl   r\  r=  s           rF   Ú test_factorialk_raises_k_complexz7TestFactorialFunctions.test_factorialk_raises_k_complexò
  sÔ   € ñ
 ˆQ‰C˜aˆØ˜u°Ñ7ˆØ�VÒØ1ˆCÜœD ›G SÔ)¨q°1ªuØ-�Ü—‘œz°Ô5ñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,à�!ŠVÜ—‘œzÐ1NÔOñ ,Ü×"Ñ" 1Ñ+¨Ò+÷,ð ,ô ×Ñ˜qÑ' BÓ'÷,ð ,ú÷,ð ,ús   ÁCÂCÃCÃCrz  c                 óª   — |rdgnd}|||dœ}t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       y # 1 sw Y   y xY w)Nr^   r‡  r  r  )rR  r   rH  r!   rO  )rE   rm   r"  rS  ru  rl   r\  s          rF   Útest_factorialk_raises_k_otherz5TestFactorialFunctions.test_factorialk_raises_k_other  sR   € ñ ˆQ‰C˜aˆØ˜u°Ñ7ˆÜ�]‰]œ:Ð-FÔGñ 	(Ü×Ñ˜qÑ' BÒ'÷	(÷ 	(ñ 	(ús   ©A	Á	Ar4  c                 óZ  — |||dœ}|�r¶|t        j                  «       v �rŸt        j                  t        |   g«      }t        t        j                  |fi |¤Žj                  t        «       t        t        j                  |dz   fi |¤Žj                  t        j                  «       t        j                  |dz   fi |¤Žt        j                  t        j                  «      j                  kD  sJ ‚t        j                  t         |   g«      }t        t        j                  |fi |¤Žj                  t        j                  «       t        t        j                  |dz   fi |¤Žj                  t        «       t        j                  |dz   fi |¤Žt        j                  t        j                  «      j                  kD  sJ ‚y t        j                  t        j                  |d«      g«      }|rt        nt        j                   }t        t        j                  |fi |¤Žj                  |«       y )Nr‡  r^   )r6   Úkeysrc   r   r7   r   r!   rO  r  r1   r0  r*  Úint32r+  r�  Úgetr  )rE   rm   r"  rS  r\  rl   r  s          rF   Útest_factorialk_dtypez,TestFactorialFunctions.test_factorialk_dtype  sš  € ð ˜u°Ñ7ˆÚ�QÔ3×8Ñ8Ó:Ò:Ü—‘Ô3°AÑ6Ð7Ó8ˆAÜœ×+Ñ+¨AÑ4°Ñ4×:Ñ:¼GÔDÜœ×+Ñ+¨A°©EÑ8°RÑ8×>Ñ>ÄÇÁÔIä×%Ñ% a¨!¡eÑ2¨rÑ2´R·X±X¼b¿h¹hÓ5G×5KÑ5KÒKÐKÐKä—‘Ô3°AÑ6Ð7Ó8ˆAÜœ×+Ñ+¨AÑ4°Ñ4×:Ñ:¼B¿H¹HÔEÜœ×+Ñ+¨A°©EÑ8°RÑ8×>Ñ>ÄÔGÜ×%Ñ% a¨!¡eÑ2¨rÑ2´R·X±X¼b¿h¹hÓ5G×5KÑ5KÒKÐKÑKä—‘Ô3×7Ñ7¸¸1Ó=Ð>Ó?ˆAñ $•F¬¯©ˆEÜœ×+Ñ+¨AÑ4°Ñ4×:Ñ:¸EÕBrI   c                 ó¬  — t        j                  t         j                  dddt         j                  g«      }t        j                  t         j                  dddt         j                  g«      }t        t	        j
                  |d¬«      |«       t        j                  t        d¬«      5  t	        j
                  |d	¬«       d d d «       y # 1 sw Y   y xY w)
Nr^   rP   r’   rT   Fr!  r°  r  T)	rc   r   râ   r   r!   rZ  rR  r   rH  ©rE   r  rN  s      rF   Útest_factorial_mixed_nan_inputsz6TestFactorialFunctions.test_factorial_mixed_nan_inputs)  s�   € Ü�H‰H”b—f‘f˜a  A¤r§v¡vÐ.Ó/ˆÜ—8‘8œRŸV™V Q¨¨1¬b¯f©fÐ5Ó6ˆÜ”W×&Ñ& q°Ô6¸ÔAÜ�]‰]œ:Ð-KÔLñ 	-Ü×Ñ˜a tÕ,÷	-÷ 	-ñ 	-ús   Â)C
Ã
C)<rO  rP  rQ  rU  rR  rS  r  r]  r`  rd  rk  rt  rc   râ   r  rp  r   Ú
datetime64r!   rZ  r[  rO  r„  rˆ  r|   r•  r{   Úint8Úint16rü  r0  Úuint8Úuint16Úuint32Úuint64rš  rž  r¢  r¨  r)  r­  r³  r»  r�  rÒ  rÖ  rÙ  rß  râ  ræ  rè  rê  rì  rï  ró  rõ  r÷  rù  rþ  r  rU  rI   rF   rK  rK  a  s™  „ ò'ð ‡[�[×Ñ˜^ÚRóTñ=óTð=ð ‡[�[×Ñ˜S¢,Ó/Ø‡[�[×Ñ˜W t¨U mÓ4ñ:ó 5ó 0ð:ð ‡[�[×Ñ˜W t¨U mÓ4ñSó 5ðSð ‡[�[×Ñ˜SÒ"4Ó5ñTó 6ðTð& ‡[�[×Ñ˜V a¨ WÓ-Ø‡[�[×Ñ˜YªÓ5ñ)ó 6ó .ð)ð4 ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜X¨°	Ð':Ó;Ø‡[�[×ÑØà�F‰F�J�B—J‘J˜uÓ% r§v¡v°·±°r±	Ñ'9¸=¸2¿=¹=ÈÓ;TØ�F‰F�B—F‘F˜R‘K "§&¡& ¨2¯6©6¨'°B©,¸¸m¸b¿m¹mÈEÓ>Rð	
ò
ð ó 
ð ‡[�[×ÑØØ	×	Ñ	˜G×.Ñ.°×0BÑ0BÐCóñ2ó	ó
ó <ó 5ð"2ðB ‡[�[×Ñ˜X¨¨3°·±¸Ð'AÓBñBó CðBð ‡[�[×Ñ˜X¡u¨Q°£{Ó3Ø‡[�[×Ñ˜W t¨U mÓ4ñFó 5ó 4ðFð< ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜WØˆc�2—7‘7˜BŸH™H b§h¡h°·±Ø
�‰�"—)‘)˜RŸY™Y¨¯	©	ð'ó ð ‡[�[×Ñ˜U¡E¨!¨Q£KÓ0ñ5ó 1ó	ó 5ð5ð ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜W¡e¨A¨q£kÓ2ñ;ó 3ó 5ð;ð" ‡[�[×Ñ˜W r§x¡x°·±¸B¿I¹IÀrÇyÁyÐ&QÓRØ‡[�[×Ñ˜^ÚRóTñ.óTó Sð.ð  ‡[�[×Ñ˜S¡%¨¨C°Ó"4Ó5ñ	Hó 6ð	Hð ‡[�[×Ñ˜SÙ!¡%¨¨2£,Ó/±$±u¸RÀÀbÓ7IÓ2JÑJóLñMóLðMò"9ò.Uð  ‡[�[×Ñ˜W r§x¡x°·±Ø')§}¡}°fð'>ó ?à‡[�[×Ñ˜X¨°	Ð':Ó;Ø‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜U¡E¨!¨Q£KÓ0à‡[�[×ÑØØ	ˆaˆS�3�%˜"Ÿ&™&˜ B§F¡F¨R¯V©V°b©[Ñ$8Ð#9¸B¿F¹FÀA¸;ÐGÚFð ó ñ
)>óó 1ó 5ó <ó?ð)>ðV ‡[�[×Ñ˜X¨°	Ð':Ó;Ø‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜S 1 c¨6°2·6±6¸2¿6¹6ÀBÇFÁFÈ2ÁIÑ;MÈtÐ"TÚ!Qð ó SñKóSó 5ó <ðKð. ‡[�[×Ñ˜S¡%¨¨C°Ó"4Ó5ñ	Ió 6ð	Ið ‡[�[×Ñ˜SÙ!¡%¨¨2£,Ó/±$±u¸RÀÀbÓ7IÓ2JÑJóLñRóLðRò,Wð* ‡[�[×Ñ˜W r§x¡x°·±Ø')§}¡}°fð'>ó ?à‡[�[×Ñ˜X¨°	Ð':Ó;Ø‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜U¡E¨!¨Q£KÓ0à‡[�[×ÑØØ	ˆaˆS�3�%˜"Ÿ&™&˜ B§F¡F¨R¯V©V°b©[Ñ$8Ð#9¸B¿F¹FÀA¸;ÐGÚFð ó ñ
$>óó 1ó 5ó <ó?ð$>ðL ‡[�[×Ñ˜X¨°	Ð':Ó;Ø‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜S 1 c¨6°2·6±6¸2¿6¹6ÀBÇFÁFÈ2ÁIÑ;MÈtÐ"TÚ!Qð ó SñSóSó 5ó <ðSð( ‡[�[×Ñ˜S¡%¨¨1£+Ó.ð ‡[�[×Ñ˜S¡%¨¨R°Ó"5Ó6ñ	Nó 7ó /ð	Nð ‡[�[×Ñ˜S¡$¡u¨Q°£{Ó"3°r¸2°hÑ">Ó?Ø‡[�[×Ñ˜SÙ!¡%¨¨2£,Ó/±$±u¸RÀÀbÓ7IÓ2JÑJóLñRóLó @ðRò0Xð< ‡[�[×Ñ˜W r§x¡x°·±Ø')§}¡}°fð'>ó ?à‡[�[×Ñ˜X¨°	Ð':Ó;Ø‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜U¡E¨!¨Q£KÓ0à‡[�[×ÑØØ	ˆaˆS�3�%˜"Ÿ&™&˜ B§F¡F¨R¯V©V°b©[Ñ$8Ð#9¸B¿F¹FÀA¸;ÐGÚFð ó ñ
$>óó 1ó 5ó <ó?ð$>ðL ‡[�[×Ñ˜X¨°	Ð':Ó;Ø‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜S¡%¨¨1£+Ó.Ø‡[�[×Ñ˜S 1 c¨6°2·6±6¸2¿6¹6ÀBÇFÁFÈ2ÁIÑ;MÈtÐ"TÚ!Qð ó SñSóSó /ó 5ó <ð
Sð( ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜^ÚRóTà‡[�[×Ñ˜S 2 t¨Q°°V¸SÀ"Ç&Á&Ð"IÓJñ(ó KóTó 5ð(ð  ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜^ÚRóTð ‡[�[×Ñ˜S 8¨]¨R¯]©]¸5Ó-AÐ"BØ"*¨EÐ!2ð ó 4ñ(ó4óTó 5ð(ð ‡[�[×Ñ˜^ÚRóTà‡[�[×Ñ˜S¡%¨¨2£,Ó/ñCó 0óTðCó(-rI   rK  c                   ó®   — e Zd Zej                  j                  ddddddddd	d
ej                  ddfej                   ddfg«      d„ «       Zd„ Z	d„ Z
d„ Zy)ÚTestFresnelzz, s, c)rŒ   çgÌN’°?çÖ�[‘‚ß?)y      à?        r  r  )y       Àš™™™™™¹?y²n<«æÓ¿ÌÆôj¹<C¿yÿ)¬BR;ß¿u´ñx7Q»?)yš™™™™™¹¿      ø¿yÚ¾|Î¤¿}-Ðì2ç?y�ŽÇ/—¸?½�¶!�ëÛ¿)rG  çGæ²M›Ü?çpB¾×Røß?)y      @        r  r  )y              @y       €Gæ²M›Ü¿y        pB¾×Røß?)y      À        gGæ²M›Ü¿gpB¾×Røß¿)y       €      Ày        Gæ²M›Ü?y       €pB¾×Røß¿rŒ   r  c                 óp   — t        t        j                  |«      «      }t        |t        ||g«      d«       y )Nr3  )r   r!   re  r   )rE   rM  r  r#  Úfrss        rF   Útest_fresnel_valueszTestFresnel.test_fresnel_values2  s,   € ô@ ”G—O‘O AÓ&Ó'ˆÜ! #¤u¨a°¨V£}°aÕ8rI   c                 ó(  — t        j                  d«      \  }}t        |t        g d¢«      d«       t        |t        g d¢«      d«       t        j                  |«      d   }t        j                  |«      d   }t        |dd«       t        |dd«       y )Nrà   )y‰ÒÞà @X9´ÈvÒ?y^ºI«@¡Ö4ï8EÏ?y=
×£p½@+‡ÙÎ÷Ë?yßà“©@eâX·É?y„O¯”å@Çº¸�È?r’   )y.� ø1æû?ãÇ˜»–�Ó?yƒÀÊ¡E6@:#J{ƒ/Ð?yqà-�
@yé&1¬Ì?yŒÛh o@¤ß¾œ3Ê?y¨WÊ2Äq@q¬‹ÛhÈ?r   r^   rj  )r!   Úfresnel_zerosr   r   re  )rE   ÚszoÚczoÚvals1Úvals2s        rF   Útest_fresnel_zeroszTestFresnel.test_fresnel_zerosW  s�   € Ü×(Ñ(¨Ó+‰ˆˆSÜ! #Ü"'ò ):ó #;ð <=ô	>ô 	" #Ü"'ò ):ó #;ð <=ô	>ô —‘ Ó$ QÑ'ˆÜ—‘ Ó$ QÑ'ˆÜ! %¨¨"Ô-Ü! %¨¨"Õ-rI   c                 óx   — t        j                  d«      \  }}t        j                  d«      }t        ||d«       y )NrT   r4  )r!   r  Úfresnelc_zerosr   )rE   r  r  Úfrcs       rF   Útest_fresnelc_zeroszTestFresnel.test_fresnelc_zerosj  ó2   € Ü×(Ñ(¨Ó+‰ˆˆSÜ×$Ñ$ QÓ'ˆÜ! # c¨"Õ-rI   c                 óx   — t        j                  d«      \  }}t        j                  d«      }t        ||d«       y )Nrà   r4  )r!   r  Úfresnels_zerosr   )rE   r  r  r  s       rF   Útest_fresnels_zeroszTestFresnel.test_fresnels_zeroso  r  rI   N)rO  rP  rQ  rR  rS  r  rc   r   r  r  r  r   rU  rI   rF   r
  r
  1  sx   „ Ø‡[�[×Ñ˜Yà7Ø=ð	
ð
	
ð 	&Ø,Ø)Ø/Ø*à	�‰��cÐØ
�&‰&ˆ�$˜Ðð;)ó ñ>9ó?ð>9ò.ò&.ó
.rI   r
  c                   óÚ  — e Zd Zd„ Zd„ Zd„ Zed„ «       Zed„ «       Zd„ Z	d„ Z
ej                  j                  dej                   ej                  gej                   ej                  gfd	d
gej                   ej                  gf edd«       ej$                  dej                   «      f eddd«       ej$                  dej                   «      fdgej                   gfg«      d„ «       Zy)Ú	TestGammac                 óF   — t        j                  d«      }t        |d«       y rh  )r!   rj  r   )rE   Úgams     rF   rk  zTestGamma.test_gammav  s   € Ü�m‰m˜AÓˆÜ�S˜ÕrI   c                 ó„   — t        j                  d«      }t        t        j                  d«      «      }t	        ||d«       y )Nr’   r3  )r!   rp  r   rj  r   )rE   ÚgamlnÚlngams      rF   rq  zTestGamma.test_gammalnz  s/   € Ü—‘ Ó"ˆÜ”G—M‘M !Ó$Ó%ˆÜ˜E %¨Õ*rI   c                 óv   — t        j                  dd«      }t        j                  dd«      }t        ||d«       y )NrŒ   r3  )r!   rm  Úgammaincinvr   )rE   ÚgccinvÚgcinvs      rF   rn  zTestGamma.test_gammainccinv  s2   € Ü×%Ñ% b¨Ó,ˆÜ×#Ñ# B rÓ*ˆÜ˜F 5¨Õ+rI   c                 óN  — t        j                  dd«      }t        j                  d|«      }t        |dd«       t        j                  dd«      }t        j                  dd«      }t        d|d¬«       t        |dd¬«       t        j                  dd«      }t        d	|d¬«       y )
NrQ   r^   rS  gš™™™™™©?g`£	í\Þ;r  r'  g¦m�áìb<g      &@)r!   r)  Úgammaincr   ©rE   rL  r  s      rF   Útest_gammaincinvzTestGamma.test_gammaincinv„  s�   € ä×Ñ  2Ó&ˆÜ×Ñ˜R Ó"ˆÜ˜A˜c !Ô$Ü×Ñ˜R Ó&ˆÜ×Ñ Ð$:Ó;ˆÜ˜D !¨RÕ0Ü˜AÐ5¸rÕBÜ×Ñ Ð$JÓKˆÜ˜D !¨RÖ0rI   c                 óä   — dt        j                  dd«      dt        j                  dd«      dg}|D ]<  }t        j                  d|«      }t        j                  d|«      }t        ||d¬«       Œ> y )	Nr5  r   gCsÿÿÿÿÏ?r^   g^F    Ð?rQ   r‡   rW   )rc   rŸ  r!   r)  r-  r   )rE   ÚptsÚxprL  r  s        rF   Útest_975zTestGamma.test_975�  so   € ð
 Ü�|‰|˜D !Ó$ lÜ�|‰|˜D !Ó$ lð4ˆð ò 	/ˆBÜ×#Ñ# B¨Ó+ˆAÜ× Ñ   aÓ(ˆAÜ˜A˜r¨Ö.ñ	/rI   c                 óx   — t        j                  d«      }dt        j                  d«      z  }t        ||d«       y )Nr3  r^   )r!   rö  rj  r   )rE   ÚrgamÚrlgams      rF   r÷  zTestGamma.test_rgamma�  s/   € Ü�~‰~˜aÓ ˆØ”'—-‘- Ó"Ñ"ˆÜ˜D  qÕ)rI   c                 óB   — t        t        j                  d«      d«       y )NrS   r   )r   r!   rö  rD   s    rF   Útest_infinityzTestGamma.test_infinity¢  s   € Ü”W—^‘^ BÓ'¨Õ+rI   z
x,expectedru  r¤   iàÿÿÿr   é    i üÿÿéc   rI  gPÚÂ²ZdbÃc                 óB   — t        t        j                  |«      |«       y r‹  )r   r!   rj  r   s      rF   Ú
test_poleszTestGamma.test_poles¥  s   € ô  	œ7Ÿ=™=¨Ó+¨XÕ6rI   N)rO  rP  rQ  rk  rq  rn  r9   r/  r3  r÷  r8  rR  rS  r  rc   r   râ   r|   Úfullr<  rU  rI   rF   r"  r"  u  s  „ òò+ò
,ð
 ñ	1ó ð	1ð ñ
/ó ð
/ò*ò
,ð ‡[�[×ÑØð �v‰vˆg�r—v‘vÐ §¡¨¯©Ð 0Ð1à�Cˆ[˜BŸF™F˜7 B§F¡FÐ+Ð,á�3˜‹]˜G˜BŸG™G B¨¯©Ó/Ð0á�5˜#˜rÓ" G B§G¡G¨B°·±Ó$7Ð8à$Ð%¨¯© xÐ0ð	
óñ7óñ7rI   r"  c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)Ú
TestHankelc                 óp   — t        t        j                  dd«      t        j                  dd«       d«       y ©Nr^  rP   r’   rj  )r   r!   r�  rD   s    rF   Ú
test_negv1zTestHankel.test_negv1º  ó'   € ÜœGŸO™O¨B¨qÓ1´G·O±OÀAÀaÓ4HÐ3HÈ"ÕMrI   c                 óª   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      dz  z   }t	        ||d«       y ©Nr^   rG  rJ  r3  )r!   r�  rß  rC  r   )rE   Úhank1Úhankrls      rF   r‘  zTestHankel.test_hankel1½  sC   € Ü—‘  "Ó%ˆÜ—*‘*˜Q˜rÓ"¤W§Z¡Z°°"Ó%5°bÑ%8Ñ8ˆÜ˜E &¨Õ+rI   c                 óp   — t        t        j                  dd«      t        j                  dd«       d«       y rA  )r   r!   r”  rD   s    rF   Útest_negv1ezTestHankel.test_negv1eÂ  ó+   € ÜœG×,Ñ,¨R°Ó2´W×5EÑ5EÀaÈÓ5JÐ4JÈBÕOrI   c                 óŽ   — t        j                  dd«      }t        j                  dd«      t        d«      z  }t	        ||d«       y )Nr^   rG  y       €š™™™™™¹¿r3  )r!   r”  r�  r   r   )rE   Úhank1eÚhankrles      rF   r•  zTestHankel.test_hankel1eÅ  s9   € Ü×!Ñ! ! BÓ'ˆÜ—/‘/ ! BÓ'¬¨D«	Ñ1ˆÜ˜F 7¨1Õ-rI   c                 óp   — t        t        j                  dd«      t        j                  dd«       d«       y rA  )r   r!   r˜  rD   s    rF   Ú
test_negv2zTestHankel.test_negv2Ê  rC  rI   c                 óª   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      dz  z
  }t	        ||d«       y rE  )r!   r˜  rß  rC  r   )rE   Úhank2Úhankrl2s      rF   r™  zTestHankel.test_hankel2Í  sC   € Ü—‘  "Ó%ˆÜ—:‘:˜a Ó#¤g§j¡j°°2Ó&6°rÑ&9Ñ9ˆÜ˜E '¨!Õ,rI   c                 óp   — t        t        j                  dd«      t        j                  dd«       d«       y rA  )r   r!   r›  rD   s    rF   Ú
test_neg2ezTestHankel.test_neg2eÒ  rJ  rI   c                 óv   — t        j                  dd«      }t        j                  dd«      }t        ||d«       y )Nr^   rG  r3  )r!   r›  r   )rE   Úhank2eÚhankrl2es      rF   Útest_hankl2ezTestHankel.test_hankl2eÕ  s2   € Ü×!Ñ! ! BÓ'ˆÜ×#Ñ# A bÓ)ˆÜ˜F 8¨AÕ.rI   c                 ó´   — t        j                  dd«      }t        j                  |j                  «      sJ ‚t        j
                  |j                  «      sJ ‚y rA   )r!   r˜  rc   r   r   ÚisposinfrK  ©rE   r‘  s     rF   Útest_hankel2_gh4517zTestHankel.test_hankel2_gh4517Ú  s>   € ä�o‰o˜a Ó#ˆÜ�x‰x˜Ÿ™Ô!Ð!Ð!Ü�{‰{˜3Ÿ8™8Ô$Ð$Ñ$rI   N)rO  rP  rQ  rB  r‘  rI  r•  rO  r™  rT  rX  r\  rU  rI   rF   r?  r?  ¸  s3   „ òNò,ò
Pò.ò
Nò-ò
Pò/ó
%rI   r?  c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)Ú	TestHyperc                 óª   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      dz  z   }t	        ||d«       y rE  )r!   Úh1vpÚjvpÚyvpr   )rE   Úh1Úh1reals      rF   Ú	test_h1vpzTestHyper.test_h1vpâ  óC   € Ü�\‰\˜!˜BÓˆÜ—+‘+˜a Ó#¤g§k¡k°!°BÓ&7¸Ñ&:Ñ:ˆÜ˜B˜v aÕ(rI   c                 óª   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      dz  z
  }t	        ||d«       y rE  )r!   Úh2vpra  rb  r   )rE   Úh2Úh2reals      rF   Ú	test_h2vpzTestHyper.test_h2vpç  rf  rI   c                 ó  — t        t        j                  dd«      dd¬«       t        t        j                  dd«      dd¬«       t        j                  d	g d
¢«      }t        j                  g d¢«      }t        ||d¬«       t        j                  d	t        j                  g d
¢«      dz   «      }t        ||j                  t        «      d¬«       g d¢}g d¢}t        j                  ||«      }g d¢}t        ||d¬«       t        j                  t        j                  |gdz  «      |«      }t        |t        j                  |gdz  «      d¬«       t        t        t        j                  t        j                  |gdz  «      ddg«       y )Nrû  rŒ   çQívîoó?r‡   rW   r   r�   r  rÜ   )g      ø¿rS   r   r^   r]  )gÄñÌ·â?g3|t-Õ”æ?r�   g�ßo�Ýö?g�{hùç¨ù?rA  ©rŒ   r]  rû  )r   r^   rŒ   )r�   gŸá¶cÏý?rm  rP   r’   r^   )
r   r!   Úhyp0f1rc   r   r  rB  ÚvstackÚassert_raisesrH  )rE   r  rN  rù  Úx2s        rF   Útest_hyp0f1zTestHyper.test_hyp0f1ì  s*  € äœŸ™ s¨CÓ0Ð2BÈÕOÜœŸ™ s¨AÓ.°¸%Õ@ô �N‰N˜3Ò 5Ó6ˆÜ—8‘8ò Aó Bˆä˜˜8¨%Õ0ô �N‰N˜3¤§¡Ò)>Ó ?À#Ñ EÓFˆÜ˜˜8Ÿ?™?¬7Ó3¸%Õ@ò ˆÚˆÜ�N‰N˜2˜rÓ"ˆÚ>ˆÜ˜˜8¨%Õ0Ü�N‰Nœ2Ÿ9™9 b T¨A¡XÓ.°Ó3ˆÜ˜œ2Ÿ9™9 h Z°!¡^Ó4¸5ÕAÜ”j¤'§.¡.Ü—i‘i   q¡Ó)¨A¨q¨6õ	3rI   c                 óH   — t        j                  dd«      }t        |d«       y )Nçš™™™™™é?y      à?      à?y;EÊGÔÒù?uMÂâé?)r!   ro  r   r[  s     rF   Útest_hyp0f1_gh5764zTestHyper.test_hyp0f1_gh5764  s   € ô �n‰n˜S ,Ó/ˆä˜CÐ!LÕMrI   c                 ó  — t        j                  ddd«      }t        |dd«       t        g g d¢‘g d¢‘g d¢‘g d¢‘g d	¢‘g d
¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d ¢‘g d!¢‘g d"¢‘g d#¢‘g d$¢‘g d%¢‘g d&¢‘g d'¢‘g d(¢‘g d)¢‘g d*¢‘g d+¢‘g d,¢‘g d-¢‘g d.¢‘g d/¢‘g d0¢‘g d1¢‘g d2¢‘g d3¢‘g d4¢‘g d5¢‘g d6¢‘g d7¢‘g d8¢‘g d9¢‘g d:¢‘g d;¢‘g d<¢‘g d=¢‘g d>¢‘g d?¢‘g d@¢‘g dA¢‘g dB¢‘g dC¢‘g dD¢‘g dE¢‘g dF¢‘g dG¢‘g dH¢‘g dI¢‘g dJ¢‘g dK¢‘g dL¢‘g dM¢‘g dN¢‘g dO¢‘g dP¢‘g dQ¢‘g dR¢‘g dS¢‘g dT¢‘g dU¢‘g dV¢‘g dW¢‘g dX¢‘g dY¢‘g dZ¢‘g d[¢‘g d\¢‘g d]¢‘g d^¢‘g d_¢‘g d`¢‘g da¢‘g db¢‘g dc¢‘g dd¢‘g de¢‘g df¢‘g dg¢‘g dh¢‘«      }|D ];  \  }}}}t        j                  |||«      }t	        t        ||z
  «      |z  dik  «       Œ= y )jNrG  rH  g–ŒŒ™õ?rR   )gÕ{*§=Ã ÀgÀË±aò¯)Àg5æ¯=ÀgÉv¾ŸêXÄ@)g�îÀ)AI@gDA�°ÌhÀgÂ$P³j)Àg•~ÂÙ­¹@)g,qÓUp–,ÀgË@=¸&Ç?gXÍÎý 3@g¬ZžÀø@)gô”îÞ\@gˆ8Œ8£*@g\Ö³Ö!=@g   Æž£A)g•AZ;Àg‰OðFA'ÀgxÅ�Oõ<Àg_DÌc „òD)g‰^g¿Å@g ŸëV*E7Àgíé4à)3@g7-XÌtD)gÎ§ŽU(@g2Tj›‡8Àgº$Ã@g  Lý¦h¥B)gëüÛe¿¼;@gJÎìgoèÿ¿grÑ›è@g `å±«õ»B)gÏ5'Šë.@gqZð¢¯=Àg7ßˆîY·.Àgé8¨²wÀ)gB‰–Ì,@g"î^¬¯#@grTÉ[	R3@g  €¢œÓB)gªºÃý²YÀg�N]ù,ã*@gÑòò*!j,Àg©³¤í1@)gÃ#r¦ @g�q{874*ÀgWs%§o.@g´ÔÿMÀdD)g8˜—|.2@g°*±!î”,Àg?áËÈI(#@gJ
r þß.Ä)g¡ªøu–÷8Àgø#ûÖ=)@g*³÷˜þ'1Àgš™™)ÏˆvA)g%™0õNº:@gUxá1@gžxÎ‚@grÜ),c¾@)g:³Màô8@g˜´óGb+=@g3ÒœV/@gX9Ò™im@)g"d¬xz@gqùöK—ù¿gÙv7ã##@g  ð—Õñ>B)g küxž’-ÀgëD8L+8@gÞó²Üˆÿ2Àg‹72�LU¥@)gtd@Q4h6@gé%ç@æ}Àgr3ýŽ¸b @gu­ß¯Ñ¡Ã)gêçò‹·ºé?g"p$Ð`E2@gY|TÈ3Àgíƒ\DŒá?)gV-é(ë+@g$ø•½[»3@g;/@gEQwÐ²@)g[üfªÀg­ßLL4ÀgQÿ´¬V�@g0#ž.@)g Õ§¤®;@g/áŽ?jvÀgx„.<ŠN&@g©óè^I•èÄ)gŸ‹+­9Àg‹Xþ[íó?gbZåSH%@g£â¤Õ5/)@)g}ÊRgÅ¢	@gïÕ}¶Ä,*@gÎñœ6@g�1w-ØÓ@)g—RAö(Àg_¢“›@g5AÔ} :=Àg   Fª�¬A)gô¬ÿÎQz5@gÊq.#ÐÀgœT��qÀ&Àgõc ™·™Ü?)gÏ†Û%šµ#Àg¨ZV«@
Àgý‰%@¨¾0@g   àSydÁ)gB˜Û½ÜŸ%@gúÝ*>¼8ÀgôV¸@Ý'Àg¶Ö	­Ê¦À)g/HŸûË:ÀgÛn@SÈ ÀgÄÀ)bÇ™9@g  À9�·óÁ)gTì�¹Š3!ÀgŒËD ÀgkëLFr%@g3333»`4A)g:§kƒ™
º¿g\ëæ=)²'Àgi›,ÿkŠ9Àgèbx‘®Þø?)g´iøXòwÀg-Cw¤U5@g'jin…Â9Àg¬ÆÖÆX5@)gb�Ëêãú@g€Tyñ4#/@g]p¿H=ÀgIŒ»Œw�?)gÔ6ÕÅ3ý@g2×XxMü:@g›~?ë^0ÀgœWÊ1ŸŒŸ?)gá¾Ä37Àg R€æ{Ï@gicx.4ï?gµºmÕm’?)gv�Ü�%å7@g9˜M€a%=Àg}êy³ÝÀgG­r™�##@)gG8-xÑ‹.@gÇ‚½@g�åhb(@g  €£’¸ÓA)gþë�û¦w1@gó�Óqëø2@gO]ù,ÏË@g0É·-€ÅX@)gôÍì©å2@gÌ�y# <@gÍ£xï¬á?g’‚]÷?)g];¬Ë„f$@g1é”ì}¯0ÀgƒŠª_éŠ9ÀgÊû8Úƒ„@)gã:!Ï‰ò1Àg†�ˆ)q(@gîåãg2ÀgÉv¾ŸÓ%)A)gYöN»:+Àg”n	È°-õ?g‹¨‰>åÀgZdû|I.A)grøæ/ÛK@g\‡}Lù9@g«‡çìÓ*ÀgßÎ™„£¢?)gQq5V°@gÁ¤�?š)@g'Ó¹¾@0@glìÕÛ­`@)gøºVŒn:ÀgÄ¾‹RQ0Àg—÷ÝT&Àg à›Q¡C¶Â)gîR4 Œ©8ÀgÙüèiú+Àgªù…²K• @g{®G¤Á)g²�t±iq+Àg(¡O?«3ÀgÀ	àÁª1=@g  8çœc‡B)g|>oÏ˜ÒÀg¨\—Ð!<@g"?4VÆ?g%®c\qñî?)gÇ »’ëø¿gp�¹fP!Àg³†AO¹Ü:@g€ª¦,\Ã)gº=RŽŠ8@gÿ%¤;ÀgŒôz®3@gÿ†Å~ž0«G)g.CV–l@gÜáe< ¤.@g§��»­9@g¸…kq1A)g–€ó=~†$Àgpš™ôR°7@g Ä77Àg,œ¤¹Ç†@)g‹à^ðîô¿g”¢•{©)Àg—RAº2@g  dLäú Â)gf=ç4,R@gy…O„Û-Àg#Þ•¸é~8@gËÌ÷ˆ—¸Å)g|´Ý©%P4Àg:<„ñÓö9@gKzsž4Àg$(~ŒO4æ@)gÅñ2y¹Ä3@gæ‰1ú$6Àg&TpxA¬6Àg®G!½ðJA)gf^XH
^;@g7Ãøür:@g±`,…/@gš™™ùi{dA)gihÉxî@g!B·òí8(@g°7Öj´�*@gò˜�Êh�¤@)gæäêlmF<Àg¨Óp€OÜ4@g�’`2"@gÌÚðâ“-¦¾)g¢nV3!º2@gÑ.•m–q1Àgµ!Z†“{.@gr»ûÖÛOµE)g“‹sÌ`m@g“ôzAUŽÀguCÏ=V”#@g  ž\�Â)gŠPLÚ-(@g,›9$µ"9Àg6¹Îu7@g¿ÕeR´ÂF)gúðÆÝw8Àgƒv=5@gÄjâÓRW+ÀgÃõ(\«-æ@)gŠyó§ÏÀg~=—ŠÈ@gç4MÐVÀgw±zÑä:@)g˜^0ò‘ÜÀg+î‰¿7¯%Àg-@Ûj81Àg5¶×‚Þ,jÀ)gj¯ô�ß4ÀgˆÇz0Àg¸­-</Ý;Àg…ºÝ½]
D)gáNØ4ý3@g¤}ˆW6@gLªUS!9ÀgäØÞÉ�F>)g ž€�Q4@g=Ÿàæ}­ÀgÇÕÈ®´5@g¿Ç]nhgF)g—æV«9ÀgÒÐé”9Àgfž9ó,#ÀgF|}fvÑ?)g=^°ee;@gy›’}2Àg¥'Tà> Àg#…�o@)g•÷Ìí¹+5Àg™±�È;ÀgN8CgÓ8@g   Çbk²A)g´ÎSx+26@g™œÚ¦@g‡ÚÛÒI0ÀgéSÀ•M­C¾)gTÝ‹*0@gŸ`<¯6ÀgóWy¹5@gûƒÇŸRjùÆ)gÓ°kÍ
Àg Ïß/:õ?gJLHRË"@g±x ìu-À)gŠKÀuæò@g¬œÁôù6Àg¼t8_‘x7@gdý;Ëõ='Æ)g+:í„ò;@gBªÍ¤ò10@g";Àª²Ãæ¿gK$¼Ó?)gp›ã»Í @g òñd’üÀgœ‰�	�=@g=§6`²¥ F)g²TÍbR.Àg³±·9:g3@gUùà­ÚfÀgRb×öKZ@)gÓâ¥þ¬!Àg%ÏP7«3;ÀgûÀ]‰þ?gr	òyæý?)g)Yóˆvº2ÀgÈ¹¨qÊ@gñ¦¶/û3Àg   ¸ž®A)g©?j/|öá¿g¡š7óò:@g‹#~áoÝ½?g8çpEìï?)g²ÖPj/ÆÀgS�ÄÖ"X)Àg©�Y¬Àgt¢—0N»?)g¤»ìù�Àgo&	xT7@gá-hT@#@g.;Éø%rÓ?)g·Ø'_ @gÉ–@¥¥ç7Àg‘:KÚžÖ$@g ð[™ŠÅB)gØk5Úº9ÀgÑ¼ÒèÄ:ÀgÊk%t—p;@g  .<Ûÿ^Â)gf¶Ð:OI&ÀgžÐëOâ/Àg´#01ñ|2Àg´­f�ñ`YÀ)gqÓv~@g©uÑFdü9@gØz+·S7ÀgÊF1Š/$‰?)gíx¤°3Àg~…[6:Àg;ŠsÔÑ9@gÉÀKºw*1@)gÈP€îì@gvïò¾;K,ÀgÒ¬ÇØd&<@g—!³õºsÆ)gÔÖˆ`|.ÀgOwžxÎø=@gå+ÜMK“<Àg›UŸ«UÃÉ@)gÚ©ÚêI÷@gÂ©jÝG1ÀgÂ4gØƒ66@g(ë4Î½4E)gøS¡‰É>×?gDß-íl¸¿g–SLï,c<ÀgÔ‰åE4î?)gd�?A÷ç Àg�„3$)ÀgùlxÕ^¿ò?gs>Èô|Tó?)g(%ˆãŽá@g:Ä‰ù»$@g~ê³^gv2ÀgJ‹HF&–°?)g}rØ"Š:@g3�Ç\¾z;@go¦ø®÷á)@g+‡h¨A)g©¶@')ý"ÀgùÔV‘vü/@guQ™Uë-ÀgföyŒ2yt@)gM6y%$‘Àg/Œ;Rï#@güšöÞ):@gw%",Å6Ô¿)g¬%xžÓ'Àg¸ª‘°$6ÀgÜÚ­ÅÄ5Àgu$9ŽÄ?)gl¦k»C9Àgâ<œÀtF8ÀgÅpôçÁô?gï¢ õ?ra  )r!   rŸ  r   r   r   r[  )rE   Úhyp1Úref_datar\  r]  r#  rN  rª  s           rF   r   zTestHyper.test_hyp1f1  s°  € Ü�~‰~˜b  BÓ'ˆÜ˜DÐ"4°QÔ7ô ð e
ÚOðe
âNðe
ò Nðe
ò Mð	e
ò
 Pðe
ò Nðe
ò Nðe
ò Nðe
ò Pðe
ò Mðe
ò Oðe
ò Nðe
ò Oðe
ò Oðe
ò Mðe
ò  Mð!e
ò" Nð#e
ò$ Oð%e
ò& Oð'e
ò( Nð)e
ò* Mð+e
ò, Oð-e
ò. Oð/e
ò0 Nð1e
ò2 Mð3e
ò4 Oð5e
ò6 Oð7e
ò8 Pð9e
ò: Pð;e
ò< Pð=e
ò> Oð?e
ò@ PðAe
òB OðCe
òD NðEe
òF NðGe
òH NðIe
òJ OðKe
òL MðMe
òN MðOe
òP MðQe
òR OðSe
òT OðUe
òV OðWe
òX NðYe
òZ Mð[e
ò\ Qð]e
ò^ Pð_e
ò` Oðae
òb Nðce
òd Pðee
òf Nðge
òh Mðie
òj Oðke
òl Pðme
òn Oðoe
òp Oðqe
òr Oðse
òt Mðue
òv Mðwe
òx Oðye
òz Nð{e
ò| Oð}e
ò~ Nðe
ò@ OðAe
òB OðCe
òD QðEe
òF PðGe
òH NðIe
òJ NðKe
òL PðMe
òN OðOe
òP OðQe
òR OðSe
òT OðUe
òV OðWe
òX OðYe
òZ Nð[e
ò\ Nð]e
ò^ Oð_e
ò` Oðae
òb Oðce
òd Nðee
òf Pðge
òh Nðie
òj Nðke
òl Pðme
òn Qðoe
òp Nðqe
òr Oðse
òt Oðue
òv Oðwe
òx Nðye
òz Oð{e
ò| Oð}e
ò~ Nðe
ò@ MðAe
òB OðCe
òD OðEe
òF PðGe
òH OðIe
ó eˆðN 'ò 	<‰NˆAˆa��(Ü—^‘^ A a¨Ó*ˆFÜ”C˜ 6Ñ)Ó*¨8Ñ3°dÑ:Õ;ñ	<rI   c                 óz   — t        j                  ddd«      }t        j                  ddd«      }t        ||d«       y )NrŒ   r]  g7úþB.†Àg|:úþB.†Àr4  ©r!   rŸ  r   )rE   rx  Úhyp2s      rF   Útest_hyp1f1_gh2957zTestHyper.test_hyp1f1_gh2957�  s2   € Ü�~‰~˜c 3¨Ó8ˆÜ�~‰~˜c 3¨Ó8ˆÜ˜D $¨Õ+rI   c                 óL   — t        j                  ddd«      }t        |dd«       y )NrŒ   r]  iüÿÿgÅ<`÷’²œ?r4  r{  )rE   Úhyps     rF   Útest_hyp1f1_gh2282zTestHyper.test_hyp1f1_gh2282†  s!   € Ü�n‰n˜S # uÓ-ˆÜ˜CÐ!5°rÕ:rI   c                 ó*  — dddddt        d«      z  gdddddt        d	«      z  gddd
d	dt        d«      z  gg d¢dddt        d	«      d
z  t        d«      gddddt	        j
                  d«      t	        j
                  d«      z  t	        j
                  d«      z  t	        j
                  d«      z  gdd
d
ddt        t        «      z  t	        j
                  d
«      z  t	        j
                  d«      z  t	        j
                  d«      z  gdd
dddt        t        «      z  t	        j
                  d«      z  t	        j
                  d«      z  t	        j
                  d«      z  gdddddt	        j
                  d«      z  t	        j
                  d«      z  t	        j
                  d«      z  t	        j
                  d«      z  gg d¢g d ¢g d!¢g d"¢g d#¢d$d%g}t        |«      D ]5  \  }\  }}}}}t	        j                  ||||«      }t        ||dd&|z  ¬'«       Œ7 y )(NrŒ   r^   r]  ç|®Gáz¤?rû  gÿÿÿÿÿÿ÷?g|®Gáz¤¿r›   r  rP   rÏ  ru  )r’   rü  r]  r‚  gŒYiô2õ?r^  r’   g433333ó?rN   r3  rà   rS   rþ  rÚ   g       ?rÜ   ç      @g      ÀgUUUUUUÕ¿g  º†@gUUUUUUõ?g«ªªªªªÀ)r]  r  r�   ç      $ÀgEciH!…@)r  r’   r^   rÕ  gáz®Gáæ?)rP   r^  r^   rÕ  gyé&1¬|¿)rž  r’   r^   rÕ  g"nN%@?)rP   rb  r^   rÕ  g!¡JÍþ¾)rS  é|üÿÿç      %@rY  g²z˜SŽ;)rS  r…  g      %ÀrY  g[�B.—VP<útest #%d©Úerr_msg)r   r   r	   r
   r!   rj  r   r   rº  r¢  r   )	rE   rã   r€   r\  r]  r#  r  rb  Úcvs	            rF   r£  zTestHyper.test_hyp2f1Š  s	  € ð �!�S˜& '¬#¨oÓ*>Ñ">Ð?Ø�!�S˜' 6¬&°«+Ñ#5Ð6Ø��1�c˜6¤# e£*Ñ,Ð-ÚMØ��Cœ˜S› 1™¤c¨'£lÐ3Ø��1�aÜ�]‰]˜1Ó¤§¡¨eÓ 4Ñ4Ü�}‰}˜SÓ!ñ"Ü$+§M¡M°#Ó$6ñ7ð8ð ��5˜"Ø”Tœ"“XÑ¤§¡¨eÓ 4Ñ4Ü�}‰}˜YÓ'ñ(Ü*1¯-©-¸	Ó*BñCðDð ��5˜"Ø”Tœ"“XÑ¤§¡¨eÓ 4Ñ4Ü�}‰}˜YÓ'ñ(Ü*1¯-©-¸	Ó*BñCðDð ��w ØœGŸM™M¨$Ó/Ñ/´'·-±-ÀÓ2HÑHÜ�}‰}˜TÓ"ñ#Ü%,§]¡]°8Ó%<ñ=ð>ò
 ;âÚ Ú&Ú&àGØHð9
ˆô< #,¨FÓ"3ò 	BÑˆA‰��1�a˜˜AÜ—‘  1 a¨Ó+ˆBÜ  A q°*¸q±.ÖAñ	BrI   c                 óL  — t        j                  ddd«      }t        |dd«       g d¢g d¢}}t        |«      t        |«      }}d}t        j                  |||«      }t        t        t        |z  «      z  t        j                  |||«      t        j                  d|z   |z
  «      t        j                  |«      z  z  |d|z
  z  t        j                  d|z   |z
  d	|z
  |«      z  t        j                  |«      t        j                  d	|z
  «      z  z  z
  z  }t        ||d
«       y )Nr^   rG  r:  gÑà D„?rR   )rH  r  ç333333ó?gš™™™™™À)r]  gš™™™™™	@rI  gš™™™™™	ÀrŒ   rP   r4  )	r!   Úhyperur   r   r   r	   rŸ  rj  r   )rE   Úval1r\  r]  rM  ÚhypuÚhprls          rF   Útest_hyperuzTestHyper.test_hyperu®  s  € Ü�~‰~˜a  CÓ(ˆÜ˜D ¨1Ô-Ú Ò!4ˆ!ˆÜ�a‹jœ' !›*ˆ!ˆØˆÜ�~‰~˜a  !Ó$ˆÜ”3”r˜!‘t“9‘œwŸ~™~¨a°°!Ó4Ü '§¡¨a°©c°!©eÓ 4´W·]±]À1Ó5EÑ Eñ Gà  1 Q¡3™x¬¯©°q¸±s¸1±u¸Q¸q¹SÀÓ(CÑCÜ")§-¡-°Ó"2´7·=±=ÀÀ1ÁÓ3EÑ"Eñ Gñ Gñ Hˆô 	" $ t¨BÕ/rI   c                 óH   — t        t        j                  ddd«      dd«       y )Nr^   r]  g3333334@g«ð(ÃÂ¨?r4  )r   r!   r�  rD   s    rF   Útest_hyperu_gh2287zTestHyper.test_hyperu_gh2287»  s   € ÜœGŸN™N¨1¨c°4Ó8Ø0°"õ	6rI   N)rO  rP  rQ  re  rk  rs  rv  r   r}  r€  r£  r‘  r“  rU  rI   rF   r^  r^  á  s9   „ ò)ò
)ò
3ò4Nòr<òh,ò
;ò"BòH0ó6rI   r^  c                   óØ  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0d/„ Z1d0„ Z2d1„ Z3dRd3„Z4e5jl                  jo                   e8jr                  «       d4k(  d5¬6«      d7„ «       Z:e5jl                  jo                   e8jr                  «       d4k(  d5¬6«      d8„ «       Z;d9„ Z<d:„ Z=e5jl                  j|                  d;„ «       Z?d<„ Z@d=„ ZAd>„ ZBd?„ ZCd@„ ZDdA„ ZEdB„ ZFdSdC„ZGdD„ ZHdE„ ZIdF„ ZJdG„ ZKdH„ ZLdI„ ZMdJ„ ZNdK„ ZOdL„ ZPdM„ ZQdN„ ZRdO„ ZSdP„ ZTdQ„ ZUy2)TÚ
TestBesselc                 óp   — t        t        j                  d«      «      }t        |t        ddg«      d«       y )Nr  gîb�“ÉƒÉ?gÎ�Jö Ö¿r3  )r   r!   rÅ  r   )rE   Úit0s     rF   rÆ  zTestBessel.test_itj0y0Á  s2   € Ü”G—N‘N 2Ó&Ó'ˆÜ!ØÜÐ&Ð(<Ð=Ó>Øõ	
rI   c                 óp   — t        t        j                  d«      «      }t        |t        ddg«      d«       y )Nr  gbqòÌTtt?g/]ÃooÊÛ¿r3  )r   r!   r·  r   )rE   Úit2s     rF   r¸  zTestBessel.test_it2j0y0É  s2   € Ü”G—O‘O BÓ'Ó(ˆÜ!ØÜÐ(Ð*>Ð?Ó@Øõ	
rI   c                 ól   — t        t        j                  dd«      t        j                  dd«      «       y ©Nr’   rP   r^  )r   r!   rÎ  rD   s    rF   Útest_negv_ivzTestBessel.test_negv_ivÑ  s!   € Ü”W—Z‘Z  !“_¤g§j¡j°°AÓ&6Õ7rI   c                 ót   — t        j                  d«      }t        j                  dd«      }t        ||d«       y ©NrG  r   r3  )r!   rÖ  rÜ  r   ©rE   ÚozÚozrs      rF   r×  zTestBessel.test_j0Ô  ó+   € Ü�Z‰Z˜‹^ˆÜ�j‰j˜˜2ÓˆÜ˜B˜s 1Õ%rI   c                 ót   — t        j                  d«      }t        j                  dd«      }t        ||d«       y ©NrG  r^   r3  )r!   rÙ  rÜ  r   ©rE   Úo1Úo1rs      rF   rÚ  zTestBessel.test_j1Ù  r¢  rI   c                 óJ   — t        j                  dd«      }t        |dd«       y )Nr^   r  çÕ;öâx¹?r3  )r!   rÜ  r   )rE   Újnnrs     rF   rÝ  zTestBessel.test_jnÞ  s   € Ü�z‰z˜!˜BÓˆÜ˜DÐ!5°aÕ8rI   c                 óp   — t        t        j                  dd«      t        j                  dd«       d«       y rA  )r   r!   rß  rD   s    rF   Útest_negv_jvzTestBessel.test_negv_jvâ  ó&   € ÜœGŸJ™J r¨!Ó,¬w¯z©z¸!¸A«Ð.>ÀÕCrI   c                 ó¤   — g d¢g d¢g d¢g d¢g d¢g}t        |«      D ]1  \  }\  }}}t        j                  ||«      }t        ||dd|z  ¬«       Œ3 y )	N)r   rG  g³
Yeˆëï?)çUUUUUUå?ç:Œ0âŽyE>gË¿ÀÀÂ+Ë>)r¯  r`   g)%¡›¹-„>)gÍÌÌÌÌÌ@r`   g5Ôc)Ç!9)r¯  r:  g%²,ÄÍ¿r3  r‡  rˆ  )rº  r!   rß  r   )rE   rã   r€   rb  r  rL  Úycs          rF   rà  zTestBessel.test_jvå  s\   € Ú/Ú5Ú6Ú6Ú2ð	ˆô & fÓ-ò 	B‰LˆA‰y��1�aÜ—‘˜A˜qÓ!ˆBÜ  A q°*¸q±.ÖAñ	BrI   c                 óp   — t        t        j                  dd«      t        j                  dd«       d«       y rA  )r   r!   râ  rD   s    rF   Útest_negv_jvezTestBessel.test_negv_jveð  ó'   € ÜœGŸK™K¨¨1Ó-´·±¸A¸aÓ0@Ð/@À"ÕErI   c                 ó   — t        j                  dd«      }t        |dd«       t        j                  dd«      }d}t        j                  d|«      t	        t        |j                  «       «      z  }t        ||d«       y )Nr^   r  r©  r3  ùš™™™™™É?      ð?)r!   râ  r   rß  r   r[  rK  )rE   ÚjvexpÚjvexp1rM  Újvexprs        rF   rã  zTestBessel.test_jveó  sc   € Ü—‘˜A˜bÓ!ˆÜ˜EÐ"6°qÔ9Ü—‘˜Q˜uÓ%ˆØˆÜ—‘˜A˜a“¤¤c¨!¯&©&£k \Ó!2Ñ2ˆÜ˜F 6¨!Õ,rI   c                 óx  — t        j                  dd«      }t        j                  dd«      }t        |t        g d¢«      d«       t        |t        g d¢«      d«       t        j                  dd«      }t	        |t        g d¢«      d	¬
«       t        j                  dd«      }t	        |t        g d¢«      d	¬
«       y )Nr   rà   r^   )go@—.=@gzj,[�@g“ÆÌlµN!@g5/ƒ D•'@g”hó>¡Ü-@rN   ©gžŽ’W§@g”0Óö@g›¬QÑX$@g ²º¥*@g8„*5{x0@r]   )g’Eèk¹[@g÷~CÅju]@gYrÊ�ìì^@g�Ê,Æ `@gò»f	À`@rV   rW   é-  )g“õ¦t™s@g&»Ç­r3t@gWú¦þ’³t@gæ,‘$Y&u@gëú­…†�u@)r!   Újn_zerosr   r   r   )rE   Újn0Újn1Újn102Újn301s        rF   Útest_jn_zeroszTestBessel.test_jn_zerosû  sÄ   € Ü×Ñ˜q Ó#ˆÜ×Ñ˜q Ó#ˆÜ! #¤eò -=ó '>ð ?@ô		Aô
 	" #¤eò -8ó '9ð :;ô		<ô × Ñ   QÓ'ˆÜ˜œuò &>ó  ?ð FKõ		Lô × Ñ   QÓ'ˆÜ˜œuò &>ó  ?ð FKö		LrI   c                 ó†  — t        j                  dd«      }t        |d   dd¬«       t        |d   dd¬«       t        |d	   d
d¬«       t        j                  dd«      }t        |d   dd¬«       t        |d   dd¬«       t        |d	   dd¬«       t        j                  dd«      }t        |t        g d¢«      d¬«       y )Nr   rs   i  gç¾;€‰@rV   rW   i  g¬8ç¯âv‹@i+  g×‚MŠm�@rS  gíxæÙiý‰@g‡	,ô‹@gÐ¸{>Éê�@iÂ  rà   )gU´DX»¹§@g×ÒÈ!â§@g*±HÄS¨@g¾zú5Á ¨@g@–2�º;¨@r°  )r!   r½  r   r   )rE   r¾  Újn10Újn3010s       rF   Útest_jn_zeros_slowzTestBessel.test_jn_zeros_slow  s¼   € Ü×Ñ˜q #Ó&ˆÜ˜˜E™
Ð$9ÀÕFÜ˜˜E™
Ð$9ÀÕFÜ˜˜E™
Ð$9ÀÕFä×Ñ  CÓ(ˆÜ˜˜U™Ð%:ÀÕGÜ˜˜U™Ð%:ÀÕGÜ˜˜U™Ð%:ÀÕGä×!Ñ! $ qÓ)ˆÜ˜¤ò ':ó !;ð BFö		GrI   c                 ó8  ‡
— t         j                  Š
ˆ
fd„}t        dd«      D ]u  }t        j                  |«      \  }}}}t	        |||«      D ]I  \  }}}	|	dk(  rt         ‰
||«      dd¬«       Œ"|	dk(  rt         |||«      dd¬«       Œ=t        d|z  «      ‚ Œw y )Nc                 ó<   •—  ‰| dz
  |«       ‰| dz   |«      z
  dz  S )Nr^   rP   rU  )rl   r  rÜ  s     €rF   Újnpz(TestBessel.test_jnjnp_zeros.<locals>.jnp,  s'   ø€ Ù�q˜‘s˜1“I¡ 1 Q¡3 q£	Ñ)¨1Ñ,Ð,rI   r^   rZ   r   rR  r&  zInvalid t return for nt=%d)r!   rÜ  r|   Újnjnp_zerosrF  r   ÚAssertionError)rE   rÉ  ÚntrM  rl   r7  ÚtÚzzÚnnÚttrÜ  s             @rF   Útest_jnjnp_zeroszTestBessel.test_jnjnp_zeros)  s¢   ø€ Ü�Z‰Zˆô	-ä˜˜2“,ò 	LˆBÜ ×,Ñ,¨RÓ0‰JˆAˆq�!�QÜ! ! Q¨›lò L‘
��B˜Ø˜’7Ü#¡B r¨2£J°¸Ö=Ø˜1’WÜ#¡C¨¨B£K°¸Ö>ä(Ð)EÈÑ)JÓKÐKñLñ	LrI   c                 óÐ   — t        j                  dd«      }t        |t        g d¢«      d«       t        j                  dd«      }t	        t        j
                  d|«      dd¬«       y )	Nr^   rà   ©gÚÉà(yuý?gOXâeS@g¦aøˆ˜!@g¶óýÔxi'@g'Nîw(º-@rN   é»  r   r  r&  )r!   Ú	jnp_zerosr   r   r   ra  )rE   rÉ  s     rF   Útest_jnp_zeroszTestBessel.test_jnp_zeros8  sZ   € Ü×Ñ  !Ó$ˆÜ! #¤uò .:ó (;ð <=ô		>ô
 ×Ñ  AÓ&ˆÜœŸ™ C¨Ó-¨q°uÖ=rI   c           
      óª   — t        j                  dd«      }t        |t        g d¢«      t        g d¢«      t        g d¢«      t        g d¢«      fd«       y )Nr^   rà   r»  rÓ  )çÞå"¾“@g+û®þ·@gŒ-9(1!@gÈ˜»–�'@g–>tA}Ë-@)g‚”0Óv@gj¼t“Ä@g§èH.?$@gŠ}"O’*@gG¬Å§p0@)r!   Ú
jnyn_zerosr   r   )rE   Újnzs     rF   Útest_jnyn_zeroszTestBessel.test_jnyn_zerosB  sa   € Ü× Ñ   1Ó%ˆÜ! #¤uò .:ó (;ô
 (-ò .:ó (;ô
 (-ò .:ó (;ô
 (-ò .:ó (;ð'<ð& =>õ'	?rI   c                 óª   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      z
  dz  }t        ||d«       y )NrP   r^   r’   rS  )r!   ra  rß  r   )rE   ÚjvprimÚjv0s      rF   Útest_jvpzTestBessel.test_jvpY  sA   € Ü—‘˜Q˜qÓ!ˆÜ�z‰z˜!˜A‹œwŸz™z¨!¨A›Ñ.°Ñ1ˆÜ˜F 3 rÕ*rI   c                 ót   — t        j                  d«      }t        j                  dd«      }t        ||d«       y rž  )r!   ræ  r  r   )rE   ÚozkÚozkrs      rF   rç  zTestBessel.test_k0^  ó+   € Ü�j‰j˜‹nˆÜ�z‰z˜!˜BÓˆÜ˜C  QÕ'rI   c                 ót   — t        j                  d«      }t        j                  dd«      }t        ||d«       y rž  )r!   rê  r  r   )rE   ÚozkeÚozkers      rF   rë  zTestBessel.test_k0ec  ó+   € Ü�{‰{˜2‹ˆÜ—‘˜A˜bÓ!ˆÜ˜D  qÕ)rI   c                 ót   — t        j                  d«      }t        j                  dd«      }t        ||d«       y r¤  )r!   rî  r  r   )rE   Úo1kÚo1krs      rF   rï  zTestBessel.test_k1h  rã  rI   c                 ót   — t        j                  d«      }t        j                  dd«      }t        ||d«       y r¤  )r!   rñ  r  r   )rE   Úo1keÚo1kers      rF   rò  zTestBessel.test_k1em  rç  rI   c                 ó@  — dt         j                  j                  «       z  dz
  }dt         j                  j                  «       z  dz
  }t        j                  d||«      }t        j                  d||«      }t        j                  d||«      }t        j                  d||«      }t	        |j
                  dgd«       t	        |j
                  t        ||z   dz   ||z
  g«      dz  d«       ||z   dz   ||z   dz   z  d||z   dz   z  |dz   z  d|dz   z  |dz   z  g}|d   |d   d|d   z  z
  |d   |d   z
  |d   z   g}t	        |j
                  t        |«      d	z  d«       ||z   dz   ||z   dz   z  ||z   d
z   z  d
||z   dz   z  ||z   dz   z  |dz   z  d||z   dz   z  |dz   z  |dz   z  d|dz   z  |dz   z  |dz   z  g}|d   |d   d|d   z  z
  |d   d|d   z  z
  d|d   z  z   |d   |d   z
  |d   z   |d   z
  g}	t	        |j
                  t        |	«      dz  d«       y )Nrà   r^   r   rP   r’   r‘  rÚ   rN   rÖ   rT   r4  r3  g      H@)rc   ri   r!   Újacobir   r#  r   )
rE   r\  r]  ÚP0ÚP1ÚP2ÚP3ÚcpÚp2cÚp3cs
             rF   Útest_jacobizTestBessel.test_jacobir  sO  € ØŒb�i‰i×ÑÓ Ñ  1Ñ$ˆØŒb�i‰i×ÑÓ Ñ  1Ñ$ˆÜ�^‰^˜A˜a Ó"ˆÜ�^‰^˜A˜a Ó"ˆÜ�^‰^˜A˜a Ó"ˆÜ�^‰^˜A˜a Ó"ˆä! "§$¡$¨ s¨2Ô.Ü! "§$¡$¤u¨a°©c°!©e°A°a±C¨[Ó'9¸#Ñ'=¸bÔAØ�‰s�1‰u�q˜‘s˜1‘u‰o˜q ! A¡# a¡%™y¨!¨A©#™°°1°Q±3±¸¸1¹±Ð>ˆØ�!‰u�R˜‘U˜1˜R ™U™7‘] 2 a¡5¨¨A©¡;¨r°!©uÑ#4Ð5ˆÜ! "§$¡$¤u¨S£z°#¡~°bÔ9Ø�‰s�1‰u�q˜‘s˜1‘u‰o˜q ™s 1™uÑ% a¨¨1©¨Q©¡i°°1±°Q±Ñ&7¸¸1¹Ñ&=Ø�!�A‘#�a‘%‰j˜!˜A™#Ñ  !¡Ñ$ Q¨¨!©¡W¨a°©c¡]°A°a±CÑ%8ð:ˆà�!‰u�R˜‘U˜1˜R ™U™7‘] 2 a¡5¨¨2¨a©5©¡=°°2°a±5±Ñ#8¸¸A¹¸rÀ!¹u¹ÀRÈÁUÑ9JÈ2ÈaÉ5Ñ9PÐQˆÜ! "§$¡$¤u¨S£z°$¡°rÕ:rI   c                 óJ   — t        j                  dd«      }t        |dd«       y )Nr   r  ç_±2ü?r3  )r!   r  r   )rE   Úkn1s     rF   r  zTestBessel.test_kn„  s   € Ü�j‰j˜˜2ÓˆÜ˜CÐ 2°1Õ5rI   c                 ól   — t        t        j                  dd«      t        j                  dd«      «       y ©NrÜ   r9  rû  ©r   r!   r  rD   s    rF   Útest_negv_kvzTestBessel.test_negv_kvˆ  s"   € Ü”W—Z‘Z  SÓ)¬7¯:©:°d¸CÓ+@ÕArI   c                 óJ   — t        j                  dd«      }t        |dd«       y )Nr   r  rù  rS  ©r!   r  r   )rE   Úkv0s     rF   Útest_kv0zTestBessel.test_kv0‹  s   € Ü�j‰j˜˜2ÓˆÜ˜CÐ!3°RÕ8rI   c                 óJ   — t        j                  dd«      }t        |dd«       y )Nr^   r  gKçÞ‹˜@rS  r   )rE   Úkv1s     rF   Útest_kv1zTestBessel.test_kv1�  ó   € Ü�j‰j˜˜3ÓˆÜ˜CÐ!2°BÕ7rI   c                 óJ   — t        j                  dd«      }t        |dd«       y )NrP   r  g¢)lH—ÁH@rS  r   )rE   Úkv2s     rF   Útest_kv2zTestBessel.test_kv2“  r  rI   c                 óD   — t        t        j                  dd«      d«       y )Nr9  r^   gÜ.€Õ”"éH)r   r!   r  rD   s    rF   Útest_kn_largeorderzTestBessel.test_kn_largeorder—  s   € ÜœŸ
™
 2 qÓ)Ð+AÕBrI   c                 óD   — t        t        j                  dd«      d«       y )Nr   g =‘`äXáCrý  rD   s    rF   Útest_kv_largeargzTestBessel.test_kv_largeargš  s   € Ü”W—Z‘Z  4Ó(¨!Õ,rI   c                 ól   — t        t        j                  dd«      t        j                  dd«      «       y rü  )r   r!   r  rD   s    rF   Útest_negv_kvezTestBessel.test_negv_kve�  s"   € Ü”W—[‘[  cÓ*¬G¯K©K¸¸cÓ,BÕCrI   c                 ó  — t        j                  dd«      }t        j                  dd«      t        d«      z  }t	        ||d«       d}t        j                  d|«      }t        j                  d|«      t        |«      z  }t	        ||d«       y )Nr   r  r3  r¶  )r!   r  r  r   r   )rE   Úkve1r  rM  Úkve2r  s         rF   r  zTestBessel.test_kve   sp   € Ü�{‰{˜1˜RÓ ˆÜ�j‰j˜˜2Óœs 2›wÑ&ˆÜ˜D  QÔ'ØˆÜ�{‰{˜1˜QÓˆÜ�j‰j˜˜1‹oœc !›fÑ$ˆÜ˜D  QÕ'rI   c                 óx   — d}t        t        j                  d|«       t        j                  d|d¬«      d«       y )Nr9  r^   r   ©rl   rS  )r   r!   r  Úkvp)rE   rM  s     rF   Útest_kvp_v0n1zTestBessel.test_kvp_v0n1©  s-   € ØˆÜœWŸZ™Z¨¨!›_Ð,¬g¯k©k¸!¸AÀÔ.CÀRÕHrI   c                 óÄ   — d}d}t        j                  |dz   |«       ||z  t        j                  ||«      z  z   }t        j                  ||d¬«      }t        ||d«       y )NrÜ   r9  r^   r  rS  ©r!   r  r  r   ©rE   rb  rM  Úxcr  s        rF   Útest_kvp_n1zTestBessel.test_kvp_n1­  sY   € ØˆØˆÜ�j‰j˜˜1™˜QÓÐ ! A¡#¤g§j¡j°°1£oÑ"5Ñ5ˆÜ�K‰K˜˜!˜qÔ!ˆÜ˜B  2Õ&rI   c                 óæ   — d}d}|dz  |dz  z   |z
  |dz  z  t        j                  ||«      z  t        j                  |dz   |«      |z  z   }t        j                  ||d¬«      }t        ||d«       y )NrÜ   r9  rP   r^   r  rS  r  r  s        rF   Útest_kvp_n2zTestBessel.test_kvp_n2´  sp   € ØˆØˆØ�‰d�1�a‘4‰i˜‰k˜1˜a™4Ñ¤'§*¡*¨Q¨q£/Ñ1´G·J±J¸qÀ¹sÀ1Ó4EÀaÑ4GÑGˆÜ�K‰K˜˜1 Ô"ˆÜ˜B  2Õ&rI   c                 ót   — t        j                  d«      }t        j                  dd«      }t        ||d«       y rž  )r!   r;  r@  r   rŸ  s      rF   r<  zTestBessel.test_y0»  r¢  rI   c                 ót   — t        j                  d«      }t        j                  dd«      }t        ||d«       y r¤  )r!   rQ  r@  r   r¥  s      rF   r>  zTestBessel.test_y1À  r¢  rI   c                 óB  — t        j                  d«      \  }}t        j                  dd¬«      \  }}t        ||f   }t        ||f   }t        t	        t        j
                  d|«      «      dd«       t        t	        t        j
                  d|«      |z
  «      dd«       y )NrP   r^   ©rB  r¤   rI  )r!   Úy0_zerosr   r   r[  rC  )rE   ÚyoÚypoÚzoÚzporò  Úallvals          rF   Útest_y0_zeroszTestBessel.test_y0_zerosÅ  sƒ   € Ü×!Ñ! !Ó$‰ˆˆ3Ü×!Ñ! !¨AÔ.‰ˆˆ3Ü��B�‰iˆÜ�C˜�G‘ˆÜ!¤#¤g§j¡j°°SÓ&9Ó":¸3¸rÔBÜ!¤#¤g§j¡j°°3Ó&7¸Ñ&>Ó"?ÀÀBÕGrI   c                 ót   — t        j                  d«      }t        |t        dg«      t        dg«      fd«       y )Nr^   rØ  gÑ®BÊOªà?rà   )r!   Úy1_zerosr   r   )rE   rQ  s     rF   Útest_y1_zeroszTestBessel.test_y1_zerosÍ  s1   € Ü×Ñ˜aÓ ˆÜ! "¤e¨W¨IÓ&6´u¸g¸YÓ7GÐ%HÈÕKrI   c                 óx   — t        j                  dd¬«      }t        |t        dg«      t        dg«      fd«       y )Nr^   r!  yL¦
F%uâ?!°rh‘íì?y;ßO�—nè¿Ð³Yõ¹Úâ?r’   )r!   Ú	y1p_zerosr   r   )rE   Úy1ps     rF   Útest_y1p_zeroszTestBessel.test_y1p_zerosÑ  s9   € Ü×Ñ ¨!Ô,ˆÜ!ØÜ�M�?Ó#¤U¨OÐ+<Ó%=Ð>Øõ	
rI   c                 ó¬   — t        j                  dd«      }t        |t        ddg«      d«       t        j                  dd«      }t	        |g d¢d¬	«       y )
NrN   rP   g¿œ3¢”@g·(³A&¹"@rà   rÔ  )g]E.ô+"|@gçHå(éð|@gffÂ|çŒ}@g&îb`~@g�HO_°�~@r  rW   )r!   Úyn_zerosr   r   r   )rE   Úans     rF   Útest_yn_zeroszTestBessel.test_yn_zerosÙ  sP   € Ü×Ñ˜a Ó"ˆÜ! "¤U¨G°WÐ+=Ó%>¸qÔAÜ×Ñ˜c !Ó$ˆÜ˜ò 4ð
 #ö	%rI   c                 ó@  — t        j                  dd«      }t        |t        ddg«      d«       t        j                  dd«      }t	        t        j
                  d|«      dd¬	«       t        j                  d
d«      }t	        t        j
                  d
|«      dd¬	«       y )Nr   rP   gÎQhÕ¾“@gŠzNþ·@rT   é+   rà   r  r&  rÔ  r  )r!   Ú	ynp_zerosr   r   r   rb  ©rE   Úaos     rF   Útest_ynp_zeroszTestBessel.test_ynp_zerosä  s|   € Ü×Ñ˜q Ó#ˆÜ! "¤U¨J¸
Ð+CÓ%DÀQÔGÜ×Ñ˜r !Ó$ˆÜœŸ™ B¨Ó+¨Q°UÕ;Ü×Ñ˜s 1Ó%ˆÜœŸ™ C¨Ó,¨a°dÖ;rI   c                 ót   — t        j                  dd«      }t        t        j                  d|«      dd¬«       y )NrÔ  rà   r   r>  r&  )r!   r6  r   rb  r7  s     rF   Útest_ynp_zeros_large_orderz%TestBessel.test_ynp_zeros_large_orderì  s+   € Ü×Ñ˜s 1Ó%ˆÜœŸ™ C¨Ó,¨a°eÖ<rI   c                 óJ   — t        j                  dd«      }t        |dd«       y ©Nr^   r  ç5‹,Ž1—
Àr3  )r!   r@  r   )rE   Úyn2ns     rF   rA  zTestBessel.test_ynð  s   € Ü�z‰z˜!˜BÓˆÜ˜DÐ!4°QÕ7rI   c                 ó\   — t        j                  dd«      }|t        j                   k(  sJ ‚y )Nr\   r^   )rB   r@  rc   r   )rE   Úobserveds     rF   Útest_yn_gh_20405zTestBessel.test_yn_gh_20405ô  s&   € ä—9‘9˜S !Ó$ˆØœBŸF™F˜7Ò"Ð"Ñ"rI   c                 óp   — t        t        j                  dd«      t        j                  dd«       d«       y rA  )r   r!   rC  rD   s    rF   Útest_negv_yvzTestBessel.test_negv_yvù  r­  rI   c                 óJ   — t        j                  dd«      }t        |dd«       y r=  )r!   rC  r   )rE   Úyv2s     rF   rD  zTestBessel.test_yvü  s   € Ü�j‰j˜˜2ÓˆÜ˜CÐ 3°AÕ6rI   c                 óp   — t        t        j                  dd«      t        j                  dd«       d«       y rA  )r   r!   rF  rD   s    rF   Útest_negv_yvezTestBessel.test_negv_yve   r´  rI   c                 óÔ   — t        j                  dd«      }t        |dd«       t        j                  dd«      t	        d«      z  }t        j                  dd«      }t        ||d«       y )Nr^   r  r>  r3  r¶  rS   )r!   rF  r   rC  r   )rE   Úyve2Úyve2rÚyve22s       rF   rG  zTestBessel.test_yve  sT   € Ü�{‰{˜1˜RÓ ˆÜ˜DÐ!4°QÔ7Ü—
‘
˜1˜UÓ#¤C¨£GÑ+ˆÜ—‘˜A˜eÓ$ˆÜ˜E %¨Õ*rI   c                 óª   — t        j                  dd«      t        j                  dd«      z
  dz  }t        j                  dd«      }t        ||d«       y )Nr^   r  r’   rÚ   rP   rS  )r!   rC  rb  r   )rE   ÚyvprÚyvp1s      rF   Útest_yvpzTestBessel.test_yvp
  sC   € Ü—
‘
˜1˜RÓ ¤7§:¡:¨a°Ó#3Ñ3°SÑ8ˆÜ�{‰{˜1˜RÓ ˆÜ! $ t¨BÕ/rI   c              #   ó¸   K  — g d¢}g d¢}t        j                  ||«      E d{  –—†  t        j                  dt        dd«      z   dg«      E d{  –—†  y7 Œ17 Œ­w)z>Yield points at which to compare Cephes implementation to AMOS)iˆÿÿÿrÝ  ç      4Àr„  r  r  r¤   r�   ç{®Gáú(@r   r¼  )iìúÿÿéõÿÿÿr•  rS   r�   rÝ   ç     i@g     y@g     Ä‚@gÍÌÌÌÌä…@é  i'  NrŒ   iÄÿÿÿr`  rü  )Ú	itertoolsÚproductr   )rE   rb  rM  s      rF   Ú_cephes_vs_amos_pointsz!TestBessel._cephes_vs_amos_points  s\   è ø€ ò Kˆòˆä×$Ñ$ Q¨Ó*×*Ð*ô ×$Ñ$ S¬6°#°r«?Ñ%:¸S¸EÓB×BÑBð	 	+øð 	Cús!   ‚"A¤A¥+AÁAÁAÁANc                 óÖ  — | j                  «       D ]Ö  \  }}|�
 |||«      rŒ |||«       |||dz   «       |t        |«      |«      }
}	}t        j                  |«      r%t	        t        j
                  |	«      dk\  ||f«       Œst        j                  |«      rt	        |	j                  dk7  ||f«       Œ¤t        ||	||f||¬«       |t        |«      k(  sŒÅt        |
|	||f||¬«       ŒØ y )NrA  çœu ˆ<ä7~r   )r‰  rX   rb   )	rY  r{   rc   ræ  r   r[  r   rK  r   )rE   r¦  Úf2rX   rb   rÍ  rb  rM  Úc1Úc2Úc3s              rF   Úcheck_cephes_vs_amoszTestBessel.check_cephes_vs_amos  sÓ   € Ø×/Ñ/Ó1ò 	;‰DˆAˆqØÐ¡D¨¨A¤JØÙ˜A˜q›¡2 a¨¨"©£:©r´#°a³&¸!«}�B�ˆBÜ�x‰x˜Œ|ÜœŸ™˜r›
 eÑ+¨a°¨VÕ4Ü—‘˜"”Ü˜Ÿ™ 1™ q¨! fÕ-ä  B°°A°¸TÈÕMØœ˜A›“;Ü# B¨°Q¸°FØ*.°Tö;ñ	;rI   Úppc64lezfails on ppc64lerD  c                 óf   — | j                  t        j                  t        j                  dd¬«       y )Nr`   çu5%ÅÅœ r?  )r`  r!   rß  rÜ  rD   s    rF   Útest_jv_cephes_vs_amosz!TestBessel.test_jv_cephes_vs_amos*  ó#   € ð 	×!Ñ!¤'§*¡*¬g¯j©j¸uÈ6Ð!ÕRrI   c                 óf   — | j                  t        j                  t        j                  dd¬«       y )Nç•dyáý¥=rc  r?  ©r`  r!   rC  r@  rD   s    rF   Útest_yv_cephes_vs_amosz!TestBessel.test_yv_cephes_vs_amos/  re  rI   c                 ón   — d„ }| j                  t        j                  t        j                  dd|¬«       y )Nc                 ó   — t        | «      dkD  S )Nr'  )r[  )rb  rM  s     rF   ÚskipperzDTestBessel.test_yv_cephes_vs_amos_only_small_orders.<locals>.skipper5  s   € Ü�q“6˜B‘;ÐrI   rg  rc  )rX   rb   rÍ  rh  )rE   rl  s     rF   Ú(test_yv_cephes_vs_amos_only_small_ordersz3TestBessel.test_yv_cephes_vs_amos_only_small_orders4  s-   € ò	à×!Ñ!¤'§*¡*¬g¯j©j¸uÈ6Ø'.ð 	"õ 	0rI   c                 ó¼   — t        j                  d¬«      5  | j                  t        j                  t        j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nrð  rñ  g:Œ0âŽy5>rc  r?  )rc   r  r`  r!   rÎ  rD   s    rF   Útest_iv_cephes_vs_amosz!TestBessel.test_iv_cephes_vs_amos:  sF   € Ü�[‰[˜XÔ&ñ 	VØ×%Ñ%¤g§j¡j´'·*±*À4ÈfÐ%ÔU÷	V÷ 	Vñ 	Vús   —2AÁAc                 ó‚  — d}t         j                  j                  d«       t         j                  j                  d|«      dt         j                  j	                  d|¬«      z  z  }t         j                  j                  d|«      dt         j                  j	                  d|¬«      z  z  }t         j                  j	                  d|¬«      d	k(  }||   j                  t         j                  «      ||<   t        j                  d
¬«      5  t        j                  ||«      }t        j                  ||dz   «      }t         j                  |t        |«      dkD  <   t         j                  |t        |«      dkD  <   d	|t        |«      dk  <   d	|t        |«      dk  <   t        ||z  dz
  «      }d	|t        j                  |«      <   d d d «       t        j                  «      }t        ||   dk  ||   ||   t        j                  ||   ||   «      t        j                  ||   ||   dz   «      f«       y # 1 sw Y   ŒrxY w)Ni@B r^   rŒ   rS   rP   ©r  r  r3  r   rð  rñ  rA  r[  gYóøÂn¥gH¯¼šò×Š>)rc   ri   ru   ró  rô  r  r0  r  r!   rÎ  r   r[  r   Úargmaxr   )	rE   ÚNrb  r  Úimskr]  r^  Údcrm   s	            rF   Ú test_iv_cephes_vs_amos_mass_testz+TestBessel.test_iv_cephes_vs_amos_mass_test>  sÕ  € àˆÜ
�	‰	�‰�qÔÜ�I‰I×Ñ˜S !Ó$¨¬R¯Y©Y×->Ñ->¸qÀqÐ->Ó-IÑ'IÑIˆÜ�I‰I×Ñ˜S !Ó$¨¬R¯Y©Y×->Ñ->¸qÀqÐ->Ó-IÑ'IÑIˆä—	‘	×!Ñ! !¨!Ð!Ó,°Ñ1ˆØ�D‘'—.‘.¤§¡Ó*ˆˆ$‰ä�[‰[˜XÔ&ñ 	!Ü—‘˜A˜qÓ!ˆBÜ—‘˜A˜q ™tÓ$ˆBô #%§&¡&ˆBŒs�2‹w˜‰ÑÜ"$§&¡&ˆBŒs�2‹w˜‰ÑØ#$ˆBŒs�2‹w˜ÑÑ Ø#$ˆBŒs�2‹w˜ÑÑ ä�R˜‘U˜Q‘Y“ˆBØ ˆBŒr�x‰x˜‹|Ñ÷	!ô �I‰I�b‹Mˆô 	Øˆq‰E�D‰LØˆq‰T�1�Q‘4œŸ™ A a¡D¨!¨A©$Ó/´·±¸A¸a¹DÀ!ÀAÁ$ÀrÁ'Ó1JÐKõ	
÷#	!ð 	!ús   ÄB9H5È5H>c                 óÈ   — | j                  t        j                  t        j                  dd¬«       | j                  t        j                  t        j                  dd¬«       y )Nr  rc  r?  )r`  r!   r  r  rD   s    rF   Útest_kv_cephes_vs_amosz!TestBessel.test_kv_cephes_vs_amos^  s@   € Ø×!Ñ!¤'§*¡*¬g¯j©j¸tÈ&Ð!ÔQØ×!Ñ!¤'§*¡*¬g¯j©j¸tÈ&Ð!ÕQrI   c                 óÄ   — t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       y )	Nr’   rN   gPòýîí‡Û?r¼  rV  g©~OmÊ’?gY†8ÖE@”@gKÆSn˜ô–¿)r   r!   rß  rD   s    rF   Útest_ticket_623zTestBessel.test_ticket_623b  sD   € ÜœŸ
™
 1 aÓ(Ð*=Ô>ÜœŸ
™
 3¨Ó-Ð/AÔBÜœŸ
™
 3¨	Ó2Ð4GÕHrI   c           	      ó<
  — t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d	«       t        t        j
                  dd«      d
«       t        t        j
                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j
                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d	«       t        t        j
                  dd«      d
«       t        t        j
                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j
                  dd«      d«       t        t        j
                  dd«      d«       t        t        j                  dd«      t        j                  dd«      t        d«      z  «       t        t        j                  dd«      t        j                  dd«      t        d«      z  «       t        t        j                  dd«      t        j                  dd«      t        d«      z  «       t        t        j                  dd«      t        j
                  dd«      t        d«      z  «       t        t        j                  dd«      t        j                  dd«      dt        j                  dd«      z  z   «       t        t        j                  dd«      t        j                  dd«      dt        j                  dd«      z  z
  «       y)zNegative-order BesselsrS   r^   gl—îÉ)Ü¿r  gè›ú•Pj½?g”kÖ²ÿè?g%¡E*2iú¿gæ•‹Èâ?gw-ý-`Á?gÃ‰�óÒBã?g‚®Wÿù?r  g¥ÑÞ´—Û?gÅzò|å?çaÿþ²ó?gpôx%‚Ý?y      ð?        y      ð?      ð?yY…»DÓÐ?`{€ñ1wê¿y6 xùî?BŽ„]#Ó®?yÞ ¤‚¢©è?ùbæ>à‡Ù?yÙ.}9d•±?°¤°8ÇkØ¿y      ð?333333Ó?r  y333333Ó?      ð?rJ  N)r   r!   rß  rC  rÎ  r  râ  r   rF  rÒ  r  r�  r˜  rD   s    rF   Útest_ticket_853zTestBessel.test_ticket_853g  s„  € ô 	œŸ
™
 2 qÓ)Ð+>Ô?ÜœŸ
™
 2 qÓ)Ð+=Ô>ÜœŸ
™
 2 qÓ)Ð+=Ô>ÜœŸ
™
 2 qÓ)Ð+=Ô>ÜœŸ
™
 2 qÓ)Ð+=Ô>ÜœŸ
™
 2 qÓ)Ð+=Ô>ÜœŸ
™
 2 qÓ)Ð+=Ô>ÜœŸ
™
 2 qÓ)Ð+<Ô=ÜœŸ
™
 4¨Ó+Ð-CÔDÜœŸ
™
 4¨Ó+Ð-?Ô@ÜœŸ
™
 4¨Ó+Ð->Ô?ÜœŸ
™
 4¨Ó+Ð-?Ô@äœŸ
™
 2 tÓ,Ð.AÔBÜœŸ
™
 2 tÓ,Ð.@ÔAÜœŸ
™
 2 tÓ,Ð.@ÔAÜœŸ
™
 2 tÓ,Ð.@ÔAäœŸ
™
 2 tÓ,Ð.@ÔAÜœŸ
™
 2 tÓ,Ð.@ÔAÜœŸ
™
 2 tÓ,Ð.@ÔAÜœŸ
™
 2 tÓ,Ð.?Ô@äœŸ
™
 4¨Ó.Ð0FÔGÜœŸ
™
 4¨Ó.Ð0UÔVÜœŸ
™
 4¨Ó.Ð0BÔCÜœŸ
™
 4¨Ó.Ð0UÔVäœŸ
™
 4¨Ó.Ð0AÔBÜœŸ
™
 4¨Ó.Ð0RÔSÜœŸ
™
 4¨Ó.Ð0BÔCÜœŸ
™
 4¨Ó.Ð0RÔSäœŸ™ D¨Ó0´'·*±*¸TÀ6Ó2JÌ3ÈtË9Ñ2TÔUÜœŸ™ D¨Ó0´'·*±*¸TÀ6Ó2JÌ3ÈtË9Ñ2TÔUÜœŸ™ D¨Ó0´'·*±*¸TÀ6Ó2JÌ3ÈtË9Ñ2TÔUÜœŸ™ D¨Ó0´'·*±*¸TÀ6Ó2JÌ3ÈvË;Ñ2VÔWäÜ�O‰O˜D $Ó'Ü�J‰J�t˜TÓ" R¬¯
©
°4¸Ó(=Ñ%=Ñ=ô	
ô 	Ü�O‰O˜D $Ó'Ü�J‰J�t˜TÓ" R¬¯
©
°4¸Ó(=Ñ%=Ñ=õ	
rI   c                 óö  — t        t        t        j                  dd«      «      «       t        t        t        j                  dd«      «      «       t        t        t        j
                  dd«      «      «       t        t        t        j
                  dd«      «      «       t        t        t        j                  dd«      «      «       t        t        t        j                  dd«      «      «       t        t        t        j                  dd«      «      «       t        t        t        j                  dd«      «      «       t        t        t        j                  dd«      «      «       t        t        t        j                  dd«      «      «       t        t        t        j                  dd«      «      «       t        t        t        j                  dd«      «      «       t        t        t        j                  d«      dd «      j                  «       t        j                  d«      «       t        t        t        j                  d«      dd «      j                  «        t        j                  d«      «       y)zReal-valued Bessel domainsrŒ   rS   r^   r   rP   rN   N)r   r   r!   rß  rÎ  rC  r  râ  rÒ  rF  r  rK   rò  rÎ  rD   s    rF   Útest_ticket_854zTestBessel.test_ticket_854™  s‡  € ä””g—j‘j  bÓ)Ó*Ô+Ü””g—j‘j  bÓ)Ó*Ô+Ü””g—j‘j  bÓ)Ó*Ô+Ü””g—j‘j  BÓ'Ó(Ô)Ü””g—j‘j  bÓ)Ó*Ô+Ü””g—j‘j  BÓ'Ó(Ô)Ü””g—k‘k # rÓ*Ó+Ô,Ü””g—k‘k # rÓ*Ó+Ô,Ü””g—k‘k # rÓ*Ó+Ô,Ü””g—k‘k ! RÓ(Ó)Ô*Ü””g—k‘k # rÓ*Ó+Ô,Ü””g—k‘k ! RÓ(Ó)Ô*Ü””g—m‘m BÓ'¨¨!Ð,Ó-×1Ñ1Ó3´W·]±]À2Ó5FÔGÜ”Eœ'Ÿ-™-¨Ó+¨A¨aÐ0Ó1×5Ñ5Ó7Ð7¼¿¹ÀrÓ9JÕKrI   c                 óÄ   — t        t        j                  dd«      t        j                  k(  «       t        t        j
                  dd«      t        j                  k(  «       y )Nr]  r   )r   r!   r  rc   r   r  rD   s    rF   Útest_gh_7909zTestBessel.test_gh_7909ª  s:   € Ü”—
‘
˜3 Ó"¤b§f¡fÑ,Ô-Ü”—‘˜C Ó#¤r§v¡vÑ-Õ.rI   c                 ó„   — t        t        j                  dd«      d«       t        t        j                  dd«      d«       y)zReal-valued Bessel I overflowr^   i¼  gá¹Îõ¥‡¬~r[   i`  g ¶?los~N©r   r!   rÎ  rD   s    rF   Útest_ticket_503zTestBessel.test_ticket_503®  s.   € äœŸ
™
 1 cÓ*Ð,AÔBÜœŸ
™
 4¨Ó.Ð0EÕFrI   c                 óD   — t        t        j                  dd«      d«       y )Nr  r^   r|  rƒ  rD   s    rF   Útest_iv_hyperg_poleszTestBessel.test_iv_hyperg_poles³  s   € ÜœŸ
™
 4¨Ó+Ð->Õ?rI   c                 óÆ  — t        d|«      j                  t        «      }|d|z  z   t        d|z  «      z  t	        j
                  |dz   «      z
  t	        j
                  ||z   dz   «      z
  }t        |t        |«      <   t        |«      }t        |«      j                  «       t        t        «      j                  z  |z  t        |d   «      dz  z   }|j                  «       |fS )Nr   rP   rŒ   r^   rS   rS  )r   r  r   r   r!   rp  r   r   r   r[  r+  r   r  Úsum©rE   rb  rM  rl   rm   rT  r$  s          rF   Ú	iv_serieszTestBessel.iv_series¶  s´   € Ü�1�a‹L×Ñ¤Ó'ˆØˆq�‰s‰U”C˜˜1™“IÑ¤§¡°°!±Ó 4Ñ4´w·±ÀqÈÁsÈ1ÁuÓ7MÑMˆÜˆŒ%�‹(‰Ü�‹FˆÜ�!‹f�j‰j‹lœU¤6›]×.Ñ.Ñ.°Ñ2´S¸¸2¹³ZÀ±]ÑBˆØ�u‰u‹w˜ˆ|ÐrI   c                 ó€   — dD ]9  }| j                  d|«      \  }}t        t        j                  |«      |||¬«       Œ; y )N©r�   rÝ   rU  r   ©rb   r‰  )rŠ  r   r!   r¦  ©rE   rM  Úvaluer$  s       rF   Útest_i0_serieszTestBessel.test_i0_series¾  ó=   € Ø!ò 	GˆAØŸ™¨¨1Ó-‰JˆE�3ÜœGŸJ™J q›M¨5°sÀAÖFñ	GrI   c                 ó€   — dD ]9  }| j                  d|«      \  }}t        t        j                  |«      |||¬«       Œ; y )NrŒ  r^   r�  )rŠ  r   r!   r­  rŽ  s       rF   Útest_i1_serieszTestBessel.test_i1_seriesÃ  r‘  rI   c           	      ó”   — dD ]C  }dD ]<  }| j                  ||«      \  }}t        t        j                  ||«      ||||f¬«       Œ> ŒE y )N)rR  r„  r  r¤   r�   rS  r   )r�   rÝ   rU  y      ð¿       @r�  )rŠ  r   r!   rÎ  ©rE   rb  rM  r�  r$  s        rF   Útest_iv_serieszTestBessel.test_iv_seriesÈ  sU   € Ø7ò 	SˆAØ,ò S�Ø!Ÿ^™^¨A¨qÓ1‘
��sÜ¤§
¡
¨1¨aÓ 0°%¸cÈAÈqÈ6ÖRñSñ	SrI   c           	      óÌ   — ddgddgddgddgddgd	d
gddgddgg}t        |«      D ]<  \  }\  }}t        j                  |«      t        | «      z  }t	        ||dd|z  ¬«       Œ> y )Nr¤   r�   r`   rG  g0oO…øí?rŒ   gÖÊÿ!¤ä?gr¢·bÏÝ?rû  gâ®ÄÞpHÑ?r›   gð“ÌíC~Ç?rÔ   gïgo¯×û¶?r3  r‡  rˆ  )rº  r!   r¦  r   r   ©rE   rã   r€   r  rb  rŠ  s         rF   r§  zTestBessel.test_i0Î  s‘   € Ø˜�*Ø˜#�,Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð&ðˆô # 6Ó*ò 	B‰IˆA‰v��1Ü—‘˜A“¤ a R£Ñ(ˆBÜ  A q°*¸q±.ÖAñ	BrI   c                 ót   — t        j                  d«      }t        j                  dd«      }t        ||d«       y rž  )r!   rª  rÒ  r   )rE   ÚoizeÚoizers      rF   r«  zTestBessel.test_i0eÜ  rç  rI   c                 óÆ   — ddgddgddgddgdd	gd
dgddgg}t        |«      D ]<  \  }\  }}t        j                  |«      t        | «      z  }t	        ||dd|z  ¬«       Œ> y )Nr¤   r`   gjïËÙß|Ë=rG  gÈ•!§[1§?rŒ   g;Í˜Ä?r�   gèRùÎœÊ?r›   g|«äýÄ?rÔ   g}¦‹ÊÎf¶?r3  r‡  rˆ  )rº  r!   r­  r   r   r˜  s         rF   r®  zTestBessel.test_i1á  s‹   € Ø˜�*ØÐ0Ð1Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð&ðˆô # 6Ó*ò 	B‰IˆA‰v��1Ü—‘˜A“¤ a R£Ñ(ˆBÜ  A q°*¸q±.ÖAñ	BrI   c                 ót   — t        j                  d«      }t        j                  dd«      }t        ||d«       y r¤  )r!   r°  rÒ  r   )rE   Úoi1eÚoi1ers      rF   r±  zTestBessel.test_i1eî  rç  rI   c                 óp   — t        t        j                  d«      «      }t        |t        ddg«      d«       y )Nrà   gÑ—JBÙ?@g*uõÌù?)r   r!   rÁ  r   )rE   Úiti0s     rF   rÂ  zTestBessel.test_iti0k0ó  s2   € Ü”W—^‘^ AÓ&Ó'ˆÜ!ØÜÐ%Ð'9Ð:Ó;Øõ	
rI   c                 ó^   — t        j                  d«      }t        |t        ddg«      d«       y )NrG  gÝ³¿É„|T?gVäÀ‚Æ¥
@rT   )r!   r³  r   r   )rE   Úit2ks     rF   r´  zTestBessel.test_it2i0k0û  s-   € Ü�‰˜rÓ"ˆÜ!ØÜÐ(Ð*<Ð=Ó>Øõ	
rI   c                 ób   — t        j                  dd«      t        d«      z  }t        |dd«       y )Nr   rG  çš™™™™™¹¿gv M…øí?rS  )r!   rÎ  r   r   )rE   Úiv1s     rF   rÏ  zTestBessel.test_iv  s(   € Ü�j‰j˜˜2Óœs 3›xÑ'ˆÜ˜CÐ 3°BÕ7rI   c                 ól   — t        t        j                  dd«      t        j                  dd«      «       y r›  )r   r!   rÒ  rD   s    rF   Útest_negv_ivezTestBessel.test_negv_ive  s"   € Ü”W—[‘[  1Ó%¤w§{¡{°2°aÓ'8Õ9rI   c                 óŽ   — t        j                  dd«      }t        j                  dd«      t        d«      z  }t	        ||d«       y )Nr   rG  r¥  rS  )r!   rÒ  rÎ  r   r   )rE   Úive1r¦  s      rF   rÓ  zTestBessel.test_ive
  s7   € Ü�{‰{˜1˜RÓ ˆÜ�j‰j˜˜2Óœs 3›xÑ'ˆÜ˜D  RÕ(rI   c                 ón   — t        t        j                  dd«      t        j                  dd«      d«       y )Nr^   rP   r   rS  )r   r!   rÎ  ÚivprD   s    rF   Ú	test_ivp0zTestBessel.test_ivp0  s#   € ÜœGŸJ™J q¨›O¬W¯[©[¸¸1Ó-=¸rÕBrI   c                 óª   — t        j                  dd«      t        j                  dd«      z   dz  }t        j                  dd«      }t        ||d«       y )Nr   rP   r^   rS  )r!   rÎ  r¬  r   r.  s      rF   Útest_ivpzTestBessel.test_ivp  sA   € Ü�Z‰Z˜˜!‹_œwŸz™z¨!¨A›Ñ.°Ñ1ˆÜ�K‰K˜˜!ÓˆÜ˜A˜a Õ#rI   )rg  r   N)éÈ   )VrO  rP  rQ  rÆ  r¸  rœ  r×  rÚ  rÝ  r¬  rà  r³  rã  rÂ  rÆ  rÑ  rÖ  rÛ  rß  rç  rë  rï  rò  r÷  r  rþ  r  r  r	  r  r  r  r  r  r  r  r<  r>  r(  r+  r/  r3  r9  r;  rA  rB  rD  rD  rH  rG  rP  rY  r`  rR  rS  rT  r¦  Úmachinerd  ri  rm  ro  Úslowrv  rx  rz  r}  r  r�  r„  r†  rŠ  r�  r“  r–  r§  r«  r®  r±  rÂ  r´  rÏ  r¨  rÓ  r­  r¯  rU  rI   rF   r•  r•  À  s.  „ ò
ò
ò8ò&ò
&ò
9òDò	BòFò-òLò8Gò$Lò>ò?ò.+ò
(ò
*ò
(ò
*ò
;ò$6òBò9ò8ò8òCò-òDò(òIò'ò'ò&ò
&ò
HòLò
ò	%ò<ò=ò8ò#ò
Dò7òFò+ò0ò

Có;ð ‡[�[×ÑÐ'�x×'Ñ'Ó)¨YÑ6Ø0ð ó 2ñSó2ðSð ‡[�[×ÑÐ'�x×'Ñ'Ó)¨YÑ6Ø0ð ó 2ñSó2ðSò0òVð ‡[�[×Ññ
ó ð
ò>RòIò
0
òdLò"/òGò
@óòGò
Gò
SòBò*ò
Bò*ò

ò
ò8ò:ò)ò
Có$rI   r•  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestLaguerrec                 óŠ  — t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }t        |j                  dgd«       t        |j                  ddgd«       t        |j                  t	        g d	¢«      d
z  d«       t        |j                  t	        g d¢«      dz  d«       t        |j                  t	        g d¢«      dz  d«       t        |j                  t	        g d¢«      dz  d«       y )Nr   r^   rP   r’   rN   rà   r‘  rS   )r^   rs  rP   rÚ   )rS   r’  iîÿÿÿrT   rG  )r^   iðÿÿÿéH   i ÿÿÿr
  ri  )rS   r  i8ÿÿÿiX  i¨ýÿÿr#  r   )r!   Úlaguerrer   r#  r   )rE   Úlag0Úlag1Úlag2Úlag3Úlag4Úlag5s          rF   Útest_laguerrezTestLaguerre.test_laguerre  sò   € Ü×Ñ Ó"ˆÜ×Ñ Ó"ˆÜ×Ñ Ó"ˆÜ×Ñ Ó"ˆÜ×Ñ Ó"ˆÜ×Ñ Ó"ˆÜ! $§&¡&¨!¨¨RÔ0Ü! $§&¡&¨"¨Q¨°Ô3Ü! $§&¡&¬ªx«¸Ñ)<¸RÔ@Ü! $§&¡&¬ª|Ó)<¸SÑ)@ÀÔDÜ! $§&¡&¬Ò/@Ó)AÀ$Ñ)FÀrÔJÜ! $§&¡&¬Ò/HÓ)IÈ%Ñ)OÐPRÕSrI   c                 óV  — dt         j                  j                  «       z  dz
  }t        j                  d|«      }t        j                  d|«      }t        j                  d|«      }t        j                  d|«      }t	        |j
                  dg«       t	        |j
                  d|dz   g«       t        |j
                  t        dd|dz   z  |d	z   |d
z   z  g«      d
z  «       t        |j
                  t        dd|dz   z  d|dz   z  |dz   z  |dz   |dz   z  |dz   z  g«      dz  «       y )Nrà   r  r   r^   rP   r’   rS   r  r�   rÚ   r^  rG  )rc   ri   r!   rƒ  r   r#  r   r   )rE   rm   r¸  r¹  rº  r»  s         rF   Útest_genlaguerrezTestLaguerre.test_genlaguerre'  s  € ØŒb�i‰i×ÑÓ Ñ  3Ñ&ˆÜ×"Ñ" 1 QÓ'ˆÜ×"Ñ" 1 QÓ'ˆÜ×"Ñ" 1 QÓ'ˆÜ×"Ñ" 1 QÓ'ˆÜ�T—V‘V˜a˜SÔ!Ü�T—V‘V˜b ! a¡%˜[Ô)ÜØ�F‰FÜ�1�R˜˜1™‘X˜q ™t a¨¡d™mÐ,Ó-¨cÑ1ô	
ô 	Ø�F‰FÜ�2�a˜˜1™‘g˜b ! A¡#™h¨¨!©™n¨a°©c°A°a±C©[¸!¸A¹#Ñ->Ð?Ó@ÀÑDõ	
rI   N)rO  rP  rQ  r¾  rÀ  rU  rI   rF   r´  r´    s   „ òTó
rI   r´  c                   ó   — e Zd Zd„ Zy)Ú
TestLambdac           
      óp  — t        j                  dd«      }t        t        j                  dd«      dt        j                  dd«      z  dz  g«      t        t        j                  dd«      dt        j
                  dd«      z  dz  dt        j                  dd«      z  dz  z   g«      f}t        ||d«       y )Nr^   rG  r   rP   r  rÙ   r3  )r!   Úlmbdar   rÜ  ra  rß  r   )rE   ÚlamÚlamrs      rF   Ú
test_lmbdazTestLambda.test_lmbda:  s�   € Ü�m‰m˜A˜bÓ!ˆä”7—:‘:˜a Ó# Q¤w§z¡z°!°BÓ'7Ñ%7¸Ñ%:Ð;Ó<Ü”7—;‘;˜q Ó$ b¬¯©°A°bÓ)9Ñ&9¸#Ñ&=ÀÄ'Ç+Á+ÈaÐPRÓBSÑ@SÐTVÑ@VÑ&VÐWÓXð
ˆô 	" # d¨1Õ-rI   N)rO  rP  rQ  rÇ  rU  rI   rF   rÂ  rÂ  9  s   „ ó.rI   rÂ  c                   ó   — e Zd Zd„ Zd„ Zy)Ú	TestLog1pc                 óÚ   — t        j                  d«      t        j                  d«      t        j                  d«      f}t        d«      t        d«      t        d«      f}t        ||d«       y )NrS  rI  r4  r‘  r3  ©r!   r  r   r   )rE   Úl1pÚl1prls      rF   r  zTestLog1p.test_log1pD  sM   € Ü�}‰}˜RÓ ¤'§-¡-°Ó"3´W·]±]À2Ó5FÐGˆÜ�R“œ#˜b›'¤3 r£7Ð+ˆÜ! # e¨AÕ.rI   c                 óÚ   — t        j                  d«      t        j                  d«      t        j                  d«      f}t        d«      t        d«      t        d«      f}t        ||d«       y )Nr^   r  rŒ  rP   r8  r9  r3  rË  )rE   Úl1pmÚl1pmrls      rF   Útest_log1pmorezTestLog1p.test_log1pmoreI  sM   € Ü—‘˜aÓ ¤'§-¡-°Ó"4´g·m±mÀCÓ6HÐIˆÜ�a“&œ˜S›¤# c£(Ð+ˆÜ! $ v¨aÕ0rI   N)rO  rP  rQ  r  rÑ  rU  rI   rF   rÉ  rÉ  C  s   „ ò/ó
1rI   rÉ  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestMathieuc                  ó   — y r‹  rU  rD   s    rF   r+  zTestMathieu.test_mathieu_aQ  rŒ  rI   c                 ó0   — t        j                  dd«       y )NrP   rà   )r!   r,   rD   s    rF   Útest_mathieu_even_coefz"TestMathieu.test_mathieu_even_coefT  s   € Ü×!Ñ! ! AÕ&rI   c                  ó   — y r‹  rU  rD   s    rF   Útest_mathieu_odd_coefz!TestMathieu.test_mathieu_odd_coefX  s   € àrI   N)rO  rP  rQ  r+  rÖ  rØ  rU  rI   rF   rÓ  rÓ  O  s   „ òò'órI   rÓ  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestFresnelIntegralc                  ó   — y r‹  rU  rD   s    rF   rj  z$TestFresnelIntegral.test_modfresnelp_  rŒ  rI   c                  ó   — y r‹  rU  rD   s    rF   rf  z$TestFresnelIntegral.test_modfresnelmb  rŒ  rI   N)rO  rP  rQ  rj  rf  rU  rI   rF   rÚ  rÚ  ]  s   „ òórI   rÚ  c                   ó   — e Zd Zd„ Zy)ÚTestOblCvSeqc                 ób   — t        j                  ddd«      }t        |t        g d¢«      d«       y )Nr   r’   r^   )g~TÃ~OÖ¿g£té_’Jö?gmÅþ²{ò@g@j'÷û&@rà   )r!   Ú
obl_cv_seqr   r   )rE   Úobls     rF   Útest_obl_cv_seqzTestOblCvSeq.test_obl_cv_seqg  s1   € Ü× Ñ   1 QÓ'ˆÜ! #¤eò -9ó ':ð ;<õ	=rI   N)rO  rP  rQ  râ  rU  rI   rF   rÞ  rÞ  f  s   „ ó=rI   rÞ  c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestParabolicCylinderc                 óz   — t        j                  dd«      }t        |t        ddg«      t        ddg«      fd«       y )Nr^   rG  gìQ¸…ëï?gx$(~Œ¹?gx$(~Œ©¿gÃõ(\�Âï?rN   )r!   Úpbdn_seqr   r   )rE   Úpbs     rF   Útest_pbdn_seqz#TestParabolicCylinder.test_pbdn_seqp  sK   € Ü×Ñ˜a Ó#ˆÜ! "¤e¨VØ.4ð-6ó '7ä&+¨WØ-3ð-5ó '6ð&7ð 89õ	:rI   c                 óœ   — t        j                  dd«       dt        j                  dd«      d   z  t        j                  dd«      d   z
   y )Nr^   r  rG  r   )r!   r¾  rD   s    rF   r¿  zTestParabolicCylinder.test_pbdvw  s=   € Ü�‰�Q�rÔØ”—‘˜a Ó# AÑ&Ñ&¬¯©°a¸Ó);¸AÑ)>Ó>rI   c                 óª   — t        j                  dd«      }t        j                  dd«      }t        |t	        |d   «      t	        |d   «      fd«       y )Nr^   rG  r   rN   )r!   ræ  Úpbdv_seqr   r   )rE   ÚpbnÚpbvs      rF   Útest_pbdv_seqz#TestParabolicCylinder.test_pbdv_seq{  sG   € Ü×Ñ˜q Ó$ˆÜ×Ñ˜q Ó$ˆÜ! #¤t¨C°©F£|´D¸¸Q¹³LÐ&AÀ!ÕDrI   c                 ó¢  — t        j                  ddd«      }d|dz  z  t        j                  t         j                  «      z  t	        j
                  dd|z  z
  «      z  }t        t	        j                  |d«      d   |dd¬	«       t        t	        j                  d
d«      d   dd¬«       t        t	        j                  dd«      d   dd¬«       y )Nr•  rS  rà   rP   rŒ   r¤   r   r>  r?  g®Gáz®$@gq=
×£p4@g©³HáÓQ9r‡   rW   g�Âõ(\#Àg…ëQ¸…@gŸ¡kÓS a>)rc   rO  r   r   r!   rö  r   r¾  )rE   ÚetarM  s      rF   Útest_pbdv_pointsz&TestParabolicCylinder.test_pbdv_points€  s¤   € ä�k‰k˜#˜r 1Ó%ˆØ��A‘‰J”r—w‘wœrŸu™u“~Ñ%¤g§n¡n°R¸¸3¹±YÓ&?Ñ?ˆÜœŸ™ S¨"Ó-¨aÑ0°!¸%ÀeÕLô 	œŸ™ U¨EÓ2°1Ñ5Ð7JÐQVÕWÜœŸ™ U¨DÓ1°!Ñ4Ð6JÐQVÖWrI   c                 ól  — t        j                  ddd«      d d …d f   }t        j                  ddd«      d d d …f   }t        j                  ||«      }ddt	        |«      z  z   }t        j                  |||z   «      d   t        j                  |||z
  «      d   z
  |z  d	z  }t        |d
   |dd¬«       y ©Nrs  rN   r3  r•  rS  rà   r  r   rÚ   r^   rR  r?  )rc   rO  r!   r¾  r[  r   ©rE   r  rð  r[  r  Údps         rF   Útest_pbdv_gradientz(TestParabolicCylinder.test_pbdv_gradientŠ  ó©   € Ü�K‰K˜˜A˜qÓ!¢! D &Ñ)ˆÜ�k‰k˜#˜r 1Ó% dª1 fÑ-ˆä�L‰L˜˜aÓ ˆØ�Tœ#˜a›&‘[Ñ ˆÜ�l‰l˜3  C¡Ó(¨Ñ+¬g¯l©l¸3ÀÀCÁÓ.HÈÑ.KÑKÈsÑRÐUWÑWˆÜ˜˜!™˜b t°$Ö7rI   c                 ól  — t        j                  ddd«      d d …d f   }t        j                  ddd«      d d d …f   }t        j                  ||«      }ddt	        |«      z  z   }t        j                  |||z   «      d   t        j                  |||z
  «      d   z
  |z  d	z  }t        |d
   |dd¬«       y ró  )rc   rO  r!   rÁ  r[  r   rô  s         rF   Útest_pbvv_gradientz(TestParabolicCylinder.test_pbvv_gradient“  r÷  rI   c                 óº   — t        j                  dd«      \  }}t        |t        j                  g d¢«      «       t        |t        j                  g d¢«      «       y )NrP   r’   )g:4¦¬€Ï@gŽ1{Ð½õ?g7,%Ònšá?)g�µ»ûXØ@g=<'‡’î?gÊ ¾áùá?)r!   Úpbvv_seqr   rc   r   )rE   Úres1Úres2s      rF   Útest_pbvv_seqz#TestParabolicCylinder.test_pbvv_seqœ  sN   € Ü×%Ñ% a¨Ó+‰
ˆˆdÜ˜œbŸh™hò (<ó =ô 	>ô 	˜œbŸh™hò (;ó <õ 	=rI   N)
rO  rP  rQ  rè  r¿  rî  rñ  rö  rù  rþ  rU  rI   rF   rä  rä  o  s'   „ ò:ò?òEò
Xò8ò8ó=rI   rä  c                   ó   — e Zd Zd„ Zy)ÚTestPolygammac           	      ód  — t        j                  dd«      }t        j                  dd«      }t        |dd«       t        |dd«       g d¢}t        t        j                  d|«      t        j                  |«      «       g d	¢}g d
¢}g d¢}t        t        j                  ||«      |«       t	        j
                  |gdz  «      }t        t        j                  |t	        j
                  |gdz  «      «      |«       t        t        j                  t	        j
                  |gdz  «      |«      |«       y )NrP   r^   r’   gX]ï ;ÀrS  gOV,@Ëù@)rP   r’   g  8»×ÙBr   rÈ  rn  )gý2}‰jÿ¿gó.òMæéí?gçð}2ï;Î¿)r!   Ú	polygammar   rð  rc   rp  )rE   Úpoly2Úpoly3r  rl   rN  s         rF   Útest_polygammazTestPolygamma.test_polygamma¨  sô   € Ü×!Ñ! ! AÓ&ˆÜ×!Ñ! ! AÓ&ˆÜ˜E -°Ô3Ü˜E ,¨rÔ2ò ˆÜœG×-Ñ-¨a°Ó3´W·[±[À³^ÔDò ˆÚˆò*ˆäœG×-Ñ-¨a°Ó3°XÔ>Ü—9‘9˜h˜Z¨™\Ó*ˆÜœG×-Ñ-¨a´·±¸A¸3¸q¹5Ó1AÓBØ$ô	&äœG×-Ñ-¬b¯i©i¸¸¸A¹Ó.>ÀÓBØ$õ	&rI   N)rO  rP  rQ  r  rU  rI   rF   r   r   ¦  s   „ ó&rI   r   c                   ó   — e Zd Zd„ Zy)ÚTestProCvSeqc                 ób   — t        j                  ddd«      }t        |t        g d¢«      d«       y )Nr   r’   r^   )gÑ"Ûù~jÔ?g6?þÒ¢¾@g)uÉ8F"@gË2�g)@rà   )r!   Ú
pro_cv_seqr   r   )rE   Úprols     rF   Útest_pro_cv_seqzTestProCvSeq.test_pro_cv_seqÀ  s1   € Ü×!Ñ! ! A aÓ(ˆÜ! $¤uò .:ó (;ð <=õ	>rI   N)rO  rP  rQ  r  rU  rI   rF   r  r  ¿  s   „ ó>rI   r  c                   ó   — e Zd Zd„ Zy)ÚTestPsic                 óH   — t        j                  d«      }t        |dd«       y )Nr^   g¶oüŒxâ¿r3  )r!   rð  r   )rE   Úpss     rF   rñ  zTestPsi.test_psiÉ  s   € Ü�[‰[˜‹^ˆÜ˜BÐ3°AÕ6rI   N)rO  rP  rQ  rñ  rU  rI   rF   r  r  È  s   „ ó7rI   r  c                   ó   — e Zd Zd„ Zd„ Zy)Ú
TestRadianc                 óZ   — t        j                  ddd«      }t        |t        dz  d«       y )Nr  r   rÚ   rà   ©r!   ró  r   r   )rE   Úrads     rF   rô  zTestRadian.test_radianÏ  s$   € Ü�n‰n˜R  !Ó$ˆÜ˜C¤ 3¡ qÕ)rI   c                 ó`   — t        j                  ddd«      }t        |t        dz  dz   d«       y )Nr  r^   r`  rP   gƒ†íC?rà   r  )rE   Úrad1s     rF   Útest_radianmorezTestRadian.test_radianmoreÓ  s*   € Ü�~‰~˜b  2Ó&ˆÜ˜D¤ A¡Ð&;Ñ!;¸AÕ>rI   N)rO  rP  rQ  rô  r  rU  rI   rF   r  r  Î  s   „ ò*ó?rI   r  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestRiccatic                 ó(  — d\  }}t        j                  ||f«      }t        |«      D ]G  }t        j                  ||«      }t        j                  ||d¬«      }||z  |d|f<   ||z  |z   |d|f<   ŒI t        |t        j                  |«      d«       y ©N)rP   r  T)Ú
derivativer   r^   r3  )rc   Úemptyr|   r!   Úspherical_jnr   Ú
riccati_jn)rE   rs  r  ÚSrl   r¥  Újps          rF   Útest_riccati_jnzTestRiccati.test_riccati_jnÙ  ó—   € Ø‰ˆˆ1Ü�H‰H�a˜�VÓˆÜ�q“ò 	ˆAÜ×$Ñ$ Q¨Ó*ˆAÜ×%Ñ% a¨°tÔ<ˆBØ�q‘SˆAˆa�ˆc‰FØ�r‘T˜A‘XˆAˆa�ˆcŠFð		ô
 	" !¤W×%7Ñ%7¸¸1Ó%=¸qÕArI   c                 ó(  — d\  }}t        j                  ||f«      }t        |«      D ]G  }t        j                  ||«      }t        j                  ||d¬«      }||z  |d|f<   ||z  |z   |d|f<   ŒI t        |t        j                  |«      d«       y r  )rc   r  r|   r!   Úspherical_ynr   Ú
riccati_yn)rE   rs  r  ÚCrl   rL  Úyps          rF   Útest_riccati_ynzTestRiccati.test_riccati_ynã  r#  rI   N)rO  rP  rQ  r"  r)  rU  rI   rF   r  r  Ø  s   „ òBóBrI   r  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestSoftplusc                 ó`  — dd l }|j                  j                  d«      }d}|j                  dd|¬«      }|j                  dd|¬«      }|j                  dd|¬«      }|j                  d	d
|¬«      } |j                  ||||g«      }g d¢g d¢g d¢g d¢g}	t        |«      }
t        |
|	d¬«       y )Nr   l   �(Úsÿr’   iœÿÿÿiÛÿÿÿrq  é   r±  g
×£p=ª@@r:  )g¨%~ÝßB7gpNÛfßà™7g­8ËëBÜ8)gJÈR{ý?g6ê�ï™]=g¡X�áes>)g °Ënö@?@gãWâHÂ;@gl¸H.÷þ=@)g9lchªPR@gäÀñöS@gzse‹vëB@r¶  rW   )Únumpyri   Údefault_rngÚuniformÚstackr*   r   )rE   rc   rp   rl   r…  r†  Úa3Úa4r\  r  r‘  s              rF   Útest_softpluszTestSoftplus.test_softplusï  s·   € ó 	Ø�i‰i×#Ñ# MÓ2ˆØˆØ�[‰[˜˜s¨ˆ[Ó+ˆØ�[‰[˜˜b qˆ[Ó)ˆØ�[‰[˜˜T¨ˆ[Ó*ˆØ�[‰[˜ ¨!ˆ[Ó,ˆØˆB�H‰H�b˜"˜b "Ð%Ó&ˆò TÚQÚKÚHðJˆô
 �q‹kˆÜ˜˜S uÖ-rI   c                 óÞ   — t        j                  d«      dz
  }t        j                  d«      }|j                  «       }|dkD  }t	        |||¬«       t	        ||   «      ||<   t        ||«       y )Nrà   rP   r   )ÚoutÚwhere)rc   r   ÚonesÚcopyr*   r   )rE   r  r6  r  r7  s        rF   Útest_softplus_with_kwargsz&TestSoftplus.test_softplus_with_kwargs  s]   € Ü�I‰I�a‹L˜1ÑˆÜ�g‰g�a‹jˆØ�h‰h‹jˆØ�A‘ˆä�˜ 5Õ)Ü˜a ™hÓ'ˆˆE‰
Ü˜˜SÕ!rI   N)rO  rP  rQ  r4  r:  rU  rI   rF   r+  r+  î  s   „ ò.ó:"rI   r+  c                   ó   — e Zd Zd„ Zy)Ú	TestRoundc                 óò   — t        t        t        t        j                  d«      t        j                  d«      t        j                  d«      t        j                  d«      f«      «      }d}t        ||«       y )Ng333333$@gÍÌÌÌÌÌ$@r†  g333333%@)rS  rS  rS  rI  )r)  Úmapr{   r!   rý  r   )rE   ÚrndÚrndrls      rF   rþ  zTestRound.test_round  sZ   € Ü”3”sœWŸ]™]¨4Ó0Ü$Ÿ]™]¨4Ó0Ü$Ÿ]™]¨4Ó0Ü$Ÿ]™]¨4Ó0ð2ó 3ó 4ˆð ˆÜ˜3˜uÕ%rI   N)rO  rP  rQ  rþ  rU  rI   rF   r<  r<    s   „ ó&rI   r<  c            
      ó  — t         j                  } t        j                  }t        j                  }t        j
                  }t        j                  }t        j                  }t        «       5 }|j                  t        ¬«       t         | dddd«      d ||«      z  «       t         | ddd|dz  «      d |d	d
|z  z  «      z   ||dz  «      d
z  z  «       t         | ddd|dz  «      d |d	d
|z  z  «      z  «       t         | dd||dz  «      d |dd
|z  z  «      z   |dd
|z  dz  z   «      z   ||d
z  «      d
z  z  «       t         | dd|dz  |dz  «      d |dd
|z  z  «      z   |dd
|z  dz  dz  z   «      z   ||dz  «      d
z  z  d ||dz  «      d
z  z  dz
  z  «       t         | dd|dz  |dz  «      d |dd
|z  z  «      z   |dd|z  dz  dz  z   «      z   ||dz  «      dz  z  «       d d d «       y # 1 sw Y   y xY w)N©Úcategoryr   rŒ   r  rP   r¤   rN   r5  r  rÚ   r‚   rJ  r:  rÜ   rý  r›   g      @r^   rÖ   rG  g      È?g     €A@)r!   Úsph_harmrc   r   r   r   r	   r
   r    r!  ÚDeprecationWarningr   )Úshr   r   r   r	   r
   r$  s          rF   Útest_sph_harmrG  )  s<  € ô 
×	Ñ	€BÜ	�‰€BÜ
�&‰&€CÜ�7‰7€DÜ
�&‰&€CÜ
�&‰&€CÜ	Ó	ð 2 Ø�
‰
Ô.ˆ
Ô/Ü!¡" Q q¨¨1£+Ø‘4˜“8‰|ô	ä!¡" R¨¨"¨R°©TÓ"2Ø‘D˜˜b ™e™Ó%Ñ%Ù�B�q‘D“	˜B‰ñô	 ô 	"¡" R¨¨"¨R°©TÓ"2Ø‘D˜˜b ™e™Ó%Ñ%ô	'ä!¡" Q q¨¨B¨q©D£/Ø‘D˜˜R ™U™Ó$Ñ$Ù�1�R˜‘U˜2‘X‘:‹ñÙ" 2 b¡5›z¨2™~ñ.ô	/ô 	"¡" Q q¨¨B©¨r°"©uÓ"5Ø‘t˜B  2¡™JÓ'Ñ'Ù�1�R˜‘U˜2‘X˜b‘[‘=Ó!ñ"á�2�b‘5‹z˜2‰~ñð ‘3�r˜"‘u“:˜r‘>Ñ! !Ñ#ñ%ô	&ô
 	"¡" Q q¨¨B©¨r°"©uÓ"5Ø™˜S " R¡%™[Ó)Ñ)Ù�1�R˜‘U˜2‘X˜b‘[‘=Ó!ñ"Ù"% b¨¡e£*¨b¡.ñ1ô	2÷#2÷ 2ñ 2ús   Á+FG?Ç?Hc            	      óÔ  — t        j                  t         j                  «      } t        «       5 }|j	                  t
        ¬«       t        t        j                  dddd«      j                  | «       t        t        j                  dgddd«      j                  | «       t        t        j                  ddgdd«      j                  | «       t        t        j                  dddgd«      j                  | «       t        t        j                  ddddg«      j                  | «       t        t        j                  dgdgdgdg«      j                  | «       d d d «       y # 1 sw Y   y xY w)NrB  r   )	rc   r  rp  r    r!  rE  r   r!   rD  )Údtr$  s     rF   Ú"test_sph_harm_ufunc_loop_selectionrJ  H  s  € ä	�‰”"—-‘-Ó	 €BÜ	Ó	ð E Ø�
‰
Ô.ˆ
Ô/Ü”W×%Ñ% a¨¨A¨qÓ1×7Ñ7¸Ô<Ü”W×%Ñ% q c¨1¨a°Ó3×9Ñ9¸2Ô>Ü”W×%Ñ% a¨!¨¨a°Ó3×9Ñ9¸2Ô>Ü”W×%Ñ% a¨¨Q¨C°Ó3×9Ñ9¸2Ô>Ü”W×%Ñ% a¨¨A°¨sÓ3×9Ñ9¸2Ô>Ü”W×%Ñ% q c¨A¨3°°°a°SÓ9×?Ñ?ÀÔD÷E÷ Eñ Eús   ®D'EÅE'c                   ó&   — e Zd Zdd„Zd„ Zd„ Zd„ Zy)Ú
TestStruvec                 óB  — t        d|«      }d|z  d|z  d|z  |z   dz   z  z  t        j                  |dz   «      z  t        j                  ||z   dz   «      z  }t        |«      j	                  «       t        t        «      j                  z  |z  }|j                  «       |fS )z?Compute Struve function & error estimate from its power series.r   rS   rŒ   rP   r^   r]  )	r   r!   rj  r[  r+  r   r   r  rˆ  r‰  s          rF   Ú_serieszTestStruve._seriesV  s‹   € ä�1�a‹LˆØ�!‰G�r˜!‘t˜q ™s 1™u Q™wÑ'Ñ'¬¯©°a¸±eÓ(<Ñ<¼W¿]¹]È1ÈQÉ3ÈsÉ7Ó=SÑSˆÜ�!‹f�j‰j‹lœU¤6›]×.Ñ.Ñ.°Ñ2ˆØ�u‰u‹w˜ˆ|ÐrI   c                 ó˜   — dD ]E  }dD ]>  }| j                  ||«      \  }}t        t        j                  ||«      |d|¬«      ||ff Œ@ ŒG y)z-Check Struve function versus its power series)
iìÿÿÿr•  çö(\�ÂõÀrú  rS   r   r^   rù  rS  é   )r^   rS  r	  rJ  rZ   r   r?  N)rN  r   r!   r2  r•  s        rF   Útest_vs_serieszTestStruve.test_vs_series]  s]   € àBò 	WˆAØ(ò W�Ø!Ÿ\™\¨!¨QÓ/‘
��sÜ¤§¡¨q°!Ó 4°eÀ!È#ÔNÐQRÐTUÐPVÒVñWñ	WrI   c                 ó\  — t        t        j                  dd«      dd¬«       t        t        j                  dd«      dd¬«       t        t        j                  d	d
«      dd¬«       t        t        j                  dd«      dd¬«       t        t        j                  dd«      t        j                  dd«       «       t        t        j                  dd«      t        j                  dd«       «       t        t        j                  dd«      t        j                  dd«      ­«       t        t        j                  dd«      t        j                  dd«      ­«       t	        t        t        j                  dd«      «      «       t	        t        t        j                  dd«      «      «       y )NrP  rJ  gä;cv=ð§?r  rW   g…ëQ¸ ÀgŠ< j¤?r°  rû  r°  g³÷ýï�?r‡   g       Ài×ÿÿÿg©Ÿ zzµ“?rg  iôÿÿÿé)   r4  rT  rI  gffffffÀrS   g333333$À)r   r!   r2  r   r   r   rD   s    rF   Útest_some_valueszTestStruve.test_some_valuesd  s  € ÜœŸ™ u¨bÓ1°?ÈÕNÜœŸ™ u¨bÓ1°?ÈÕNÜœŸ™ t¨SÓ1°?ÈÕOÜœŸ™ t¨SÓ1°?ÈÕOÜ”W—^‘^ C¨Ó-´·±¸sÀBÓ0GÐ/GÔHÜ”W—^‘^ C¨Ó-´·±¸sÀBÓ0GÐ/GÔHÜ”W—^‘^ C¨Ó-´·±¸sÀBÓ0GÐ/GÔHÜ”W—^‘^ C¨Ó-´·±¸sÀBÓ0GÐ/GÔHä””g—n‘n T¨2Ó.Ó/Ô0Ü””g—n‘n U¨BÓ/Ó0Õ1rI   c                 ó<  — t        t        j                  dd«      t        j                  dd«      «       t        t        j                  dd«      t        j                  dd«      «       t        t        j                  dd«      t        j                  dd«      «       y)zRegression test for #679r  gâÕÿÿÿ3@gó*   4@r  g333333ÀN)r   r!   r2  rD   s    rF   Útest_regression_679zTestStruve.test_regression_679q  sk   € äœŸ™ t¨YÓ7ÜŸ™ t¨YÓ7ô	9äœŸ™ t¨YÓ7ÜŸ™ t¨YÓ7ô	9äœŸ™ t¨YÓ7ÜŸ™ t¨YÓ7õ	9rI   N)r:  )rO  rP  rQ  rN  rR  rU  rW  rU  rI   rF   rL  rL  U  s   „ óòWò2ó9rI   rL  c                  óD   — t        t        j                  dd«      d«       y )Nr  r’   gdX	
§î?)r   r!   rÄ   rU  rI   rF   Útest_chi2_smalldfrY  {  s   € ÜœŸ™ c¨!Ó,Ð.?Õ@rI   c                  ó`   — t        t        j                  dt        j                  «      d«       y )Nr+  r�   )r   r!   rÄ   rc   r   rU  rI   rF   Útest_ch2_infr[    s   € Ü”—‘˜s¤2§6¡6Ó*¨CÕ0rI   c                  óD   — t        t        j                  dd«      d«       y )Nr  r’   çÀyj_�¥?)r   r!   rÈ   rU  rI   rF   Útest_chi2c_smalldfr^  ƒ  s   € ÜœŸ™ s¨1Ó-Ð/BÕCrI   c                  óD   — t        t        j                  dd«      d«       y )Nr  r]  r’   )r   r!   rÍ   rU  rI   rF   Útest_chi2_inv_smalldfr`  ‡  s   € ÜœŸ™ sÐ+>Ó?ÀÕCrI   c            	      óÐ  — d} t        dt        j                  dt        j                  d«      «      z  d| ¬«       d}d}d}t        t        j                  dgd	ggg d
¢«      d||g|d	|gg| ¬«       d}t        t        j                  dd«      || ¬«       t        t        j                  dd«      || ¬«       t        t        j                  dd«      | | ¬«       t        t        j                  dd«      d| ¬«       t        t        j                  dd«      d| ¬«       t        t        j                  dd«      d| ¬«       t        t        j                  dd«      d| ¬«       t        t        j                  dd«      d| ¬«       t        t        j                  dd«      d| ¬«       t        t        j                  dd«      d| ¬«       t        j
                  d«      }t        t        j                  |j                  |j                  «      d | ¬«       t        t        j                  d!|j                  z  |j                  «      d"| ¬«       t        t        j                  |j                  d	|j                  z  «      d#| ¬«       t        t        j                  d$d$«      d$«       t        t        j                  d%d$«      d$«       t        t        j                  dd&«      t        j                  «       t        t        j                  d$t        j                  «      t        j                  «       t        t        j                  t        j                  d$«      t        j                  «       t        t        j                  d$t        j                   «      t        j                  «       t        t        j                  t        j                   d$«      t        j                  «       t        t        j                  t        j                  t        j                   «      t        j                  «       t        t        j                  t        j                   t        j                  «      t        j                  «       t        t        j                  dt        j                  «      t        j                  «       t        t        j                  t        j                  d«      t        j                  «       t        t        j                  dt        j                  «      t        j                  «       t        t        j                  t        j                  d«      t        j                  «       t        t        j                  dt        j                   «      t        j                   «       t        t        j                  t        j                   d«      t        j                   «       y )'NrV   r^   rP   gDS«YCµê?rW   gQÕ_Ñý?g®Å?Õ@g>;,
i}@r’   )r^   r’   rà   gÊ=·O÷?rS   r  r
  rT   gXñÓs•ê*@r‘  g   V4o�Agˆ†ôO„1eAgêŒ 9Y>)Fg‹¾ÜìÒEgæ^ 9^;g–d¼¾-èž?g¯–P.5�_gsTNÓØNegºÒ6ödgu”?jç/Ê g]éXC}KÀdg¯žÑ§›R£g"!çx{¿{ r�   gë][#!Rr  gŒÙ�S1ÛëgNÕ_Ñ r   r:  rS  )r   r!   Úagmrc   r   r   rÄ  r+  r   râ   r   )rX   Úagm13Úagm15Úagm35Úagm12Úfis         rF   Útest_agm_simplerh  ‹  s´  € Ø€Dô �A”g—k‘k !¤R§W¡W¨Q£ZÓ0Ñ0Ð2FØõð
 €EØ€EØ€EÜ”G—K‘K !  q c 
ªIÓ6Ø˜ Ð&Ø˜Q Ð&ð(Ø.2õ4ð €EÜ”G—K‘K  1Ó% u°4Õ8Ü”G—K‘K  1Ó% u°4Õ8Ü”G—K‘K  BÓ'¨%¨°dÕ;Ü”G—K‘K  AÓ&Ð(:ÀÕFÜ”G—K‘K  KÓ0Ð2DØõä”G—K‘K  aÓ(Ð*?ÀdÕKÜ”G—K‘K  qÓ)Ð+?ÀdÕKÜ”G—K‘K  uÓ-Ð/EØõä”G—K‘K  vÓ.Ð0GØõä”G—K‘K ¨Ó/Ð1HØõä	�‰�#‹€BÜ”G—K‘K §¡¨¯©Ó0Ð2IØõä”G—K‘K  R§V¡V¡¨R¯V©VÓ4Ð6LØõä”G—K‘K §¡¨¨2¯7©7©Ó3Ð5LØõô ”—‘˜Q Ó" AÔ&Ü”—‘˜R Ó# QÔ'ä”—‘˜R Ó$¤b§f¡fÔ-Ü”—‘˜Q¤§¡Ó'¬¯©Ô0Ü”—‘œRŸV™V QÓ'¬¯©Ô0Ü”—‘˜Q¤§¡ Ó(¬"¯&©&Ô1Ü”—‘œbŸf™f˜W aÓ(¬"¯&©&Ô1Ü”—‘œRŸV™V¤b§f¡f WÓ-¬r¯v©vÔ6Ü”—‘œbŸf™f˜W¤b§f¡fÓ-¬r¯v©vÔ6Ü”—‘˜Q¤§¡Ó'¬¯©Ô0Ü”—‘œRŸV™V RÓ(¬"¯&©&Ô1ä”—‘˜Q¤§¡Ó'¬¯©Ô0Ü”—‘œRŸV™V QÓ'¬¯©Ô0Ü”—‘˜R¤"§&¡& Ó)¬B¯F©F¨7Ô3Ü”—‘œbŸf™f˜W bÓ)¬B¯F©F¨7Õ3rI   c            	      ó"  — t        «       5 } | j                  t        d«       t        t	        j
                  dd«      t	        j
                  dd«      «       t        t	        j                  ddd«      t	        j                  ddd«      «       t        t	        j                  ddd«      t	        j                  ddd«      «       t        t	        j                  ddd«      t	        j                  ddd«      «       t        t	        j                  dd«      t	        j                  dd«      «       t        t	        j                  dd«      t	        j                  dd«      «       t        t	        j                  dd«      t	        j                  dd«      «       t        t	        j                  dd«      t	        j                  dd«      «       t        t	        j                  dd«      t	        j                  dd«      «       d d d «       y # 1 sw Y   y xY w)NrÑ  r^   rH  gÍÌÌÌÌÌü?rP   gffffff@)r    r!  r"  r   r!   Úexpnrr  ro  ru  rÒ  r  r@  r  r  )r$  s    rF   Útest_legacyrk  È  sb  € ä	Ó	ð 
K Ø�
‰
”>Ð#RÔSÜ”W—\‘\ ! SÓ)¬7¯<©<¸¸SÓ+AÔBÜ”W—^‘^ A q¨#Ó.´·±¸sÀCÈÓ0MÔNÜ”W—]‘] 1 a¨Ó-¬w¯}©}¸SÀ#ÀsÓ/KÔLÜ”W—^‘^ A q¨#Ó.´·±¸sÀCÈÓ0MÔNÜ”W—]‘] 1 cÓ*¬G¯M©M¸#¸sÓ,CÔDÜ”W—Z‘Z  3Ó'¬¯©°C¸Ó)=Ô>Ü”W—Z‘Z  3Ó'¬¯©°C¸Ó)=Ô>Ü”W—_‘_ Q¨Ó,¬g¯o©o¸cÀ3Ó.GÔHÜ”W×%Ñ% a¨Ó-¬w×/?Ñ/?ÀÀSÓ/IÔJ÷
K÷ 
Kñ 
Kús   ‹G1HÈHc                  ó*   — dd l } | j                  «       S rA   )Ú	threadingÚLock)rm  s    rF   Úerrstate_lockro  Ø  s   € ãØ�>‰>ÓÐrI   c                 óÜ   — | 5  t        j                  d¬«      5  t        t         j                  t         j                  dd«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr  rñ  r^   y        .Ÿ‡¢®B}T)r!   r  rq  r  rÎ  )ro  s    rF   Útest_error_raisingrq  Þ  sc   € à	ñ NÜ×Ñ 'Ô*ñ 	NÜœ'×6Ñ6¼¿
¹
ÀAÀuÔM÷	N÷Nð N÷	Nð 	Nú÷Nð Nús"   ƒA"š+AÁA"ÁA	ÁA"Á"A+c                  óÖ  — d„ } t        j                  ddt         j                  fdt         j                  fdgt        ¬«      }t         j
                  |ddgf   } t        j                  | «      |d d …df   |d d …df   «      }t        t        j                  ||d	d	¬
«        t        j                  | «      |d d …df   |d d …df   «      }t        t        j                  ||d	d	¬
«       y )Nc                 óÔ   — t        j                  d¬«      5  | dk(  r t        j                  |«      s| cd d d «       S | t        j                  |«      z  cd d d «       S # 1 sw Y   y xY w©Nrð  )Úinvalidr   )rc   r  r   r   ©r  rL  s     rF   Úxfuncztest_xlogy.<locals>.xfuncæ  sR   € Ü�[‰[ Ô*ñ 	#Ø�AŠvœbŸh™h qœkØ÷	#ñ 	#ð œŸ™ ›‘{÷		#÷ 	#ò 	#úó   —A½AÁA'©r   r   r   ©r�   rÚ   r  )r   rJ  )r^   rJ  r^   rV   r?  )
rc   r   râ   r   r}   r   rƒ   r:   r!   Úxlogy)rw  Úz1Úz2Úw1Úw2s        rF   Ú
test_xlogyr€  å  sÀ   € ò#ô 
�‰�U˜Q¤§¡˜K¨!¬R¯V©V¨°jÐAÌÔ	O€BÜ	�‰ˆr�G˜WÐ%Ð%Ñ	&€Bà	Œ�‰�eÓ	˜R¢ ! ™W bª¨1¨¡gÓ	.€BÜ”g—m‘m R¨°%¸eÕDØ	Œ�‰�eÓ	˜R¢ ! ™W bª¨1¨¡gÓ	.€BÜ”g—m‘m R¨°%¸eÖDrI   c                  ó  — d„ } t        j                  ddt         j                  fdt         j                  fddgt        ¬«      } t        j
                  | «      |d d …df   |d d …df   «      }t        t        j                  ||dd¬	«       y )
Nc                 óÔ   — t        j                  d¬«      5  | dk(  r t        j                  |«      s| cd d d «       S | t        j                  |«      z  cd d d «       S # 1 sw Y   y xY wrt  )rc   r  r   r  rv  s     rF   rw  ztest_xlog1py.<locals>.xfunc÷  sR   € Ü�[‰[ Ô*ñ 	'Ø�AŠvœbŸh™h qœkØ÷	'ñ 	'ð œ2Ÿ8™8 A›;‘÷		'÷ 	'ò 	'úrx  ry  r   rz  )r^   g ÂëþKH´9r  r^   rV   r?  )	rc   r   râ   r   r}   rƒ   r:   r!   Úxlog1py)rw  r|  r~  s      rF   Útest_xlog1pyr„  ö  su   € ò'ô 
�‰�U˜Q¤§¡˜K¨!¬R¯V©V¨°jØð!Ü(-ô
/€Bà	Œ�‰�eÓ	˜R¢ ! ™W bª¨1¨¡gÓ	.€BÜ”g—o‘o r¨2°EÀÖFrI   c                  ól  — d„ } dddt         j                  f}ddg}g }t        j                  ||«      D ]  \  }}|j	                  ||z  «       Œ t        j
                  |t        ¬«      } t        j                  | t         j                  g¬«      |«      }t        t        j                  ||d	d	¬
«       y )Nc                 ó\   — | dk  rt         j                   S t        j                  | | «       S rA   )rc   r   r!   r{  rA  s    rF   rw  ztest_entr.<locals>.xfunc  s(   € ØˆqŠ5Ü—F‘F�7ˆNä—M‘M ! QÓ'Ð'Ð'rI   r   rŒ   r�   rS   r^   r  ©ÚotypesrV   r?  )rc   r   rW  rX  r   r   r}   rƒ   r  r:   r!   Úentr)rw  rã   Úsignsr½  Úsgnrb  rM  rM  s           rF   Ú	test_entrrŒ    sš   € ò(ð
 ��cœ2Ÿ6™6Ð"€FØ�ˆG€EØ
€CÜ×#Ñ# E¨6Ó2ò ‰ˆˆQØ�
‰
�3˜‘7Õðä
�‰�œEÔ"€AØ0Œ�‰�U¤B§J¡J <Ô0°Ó3€AÜ”g—l‘l A q¨u¸5ÖArI   c                  óx  — d„ } d}ddg}g }t        j                  ||||«      D ]   \  }}}}|j                  ||z  ||z  f«       Œ" t        j                  |t
        ¬«      } t        j                  | t        j                  g¬«      |d d …df   |d d …df   «      }	t        t        j                  |	|dd¬	«       y )
Nc                 ó
  — | dk  s|dk  s
|dk(  r| dk7  rt         j                  S t        j                  | «      st        j                  |«      rt         j                  S | dk(  r|S t        j                  | | |z  «      | z
  |z   S rA   )rc   r   rZ  r!   r{  rv  s     rF   rw  ztest_kl_div.<locals>.xfunc  sm   € ØˆqŠ5�A˜’E˜a 1šf¨¨aªä—6‘6ˆMÜ�[‰[˜Œ^œrŸ{™{¨1œ~ä—6‘6ˆMØ�!ŠVØˆHä—=‘=  A a¡CÓ(¨1Ñ,¨qÑ0Ð0rI   ©r   rŒ   r�   rS   r^   r  r‡  r   rV   r?  )rW  rX  r   rc   r   r}   rƒ   r  r:   r!   Úkl_div©
rw  rã   rŠ  r½  ÚsgnaÚvaÚsgnbÚvbrM  rM  s
             rF   Útest_kl_divr–    s±   € ò
1ð €FØ�ˆG€EØ
€CÜ'×/Ñ/°°v¸uÀfÓMò 'Ñˆˆb�$˜Ø�
‰
�D˜‘G˜T "™WÐ%Õ&ð'ä
�‰�œEÔ"€AØ0Œ�‰�U¤B§J¡J <Ô0°²1°Q°3±¸º1¸Q¸3¹Ó@€AÜ”g—n‘n a¨°¸UÖCrI   c                  óx  — d„ } d}ddg}g }t        j                  ||||«      D ]   \  }}}}|j                  ||z  ||z  f«       Œ" t        j                  |t
        ¬«      } t        j                  | t        j                  g¬«      |d d …df   |d d …df   «      }	t        t        j                  |	|dd¬	«       y )
Nc                 ó~   — | dkD  r|dkD  rt        j                  | | |z  «      S | dk(  r|dk\  ryt        j                  S rA   )r!   r{  rc   r   rv  s     rF   rw  ztest_rel_entr.<locals>.xfunc+  s=   € ØˆqŠ5�Q˜’UÜ—=‘=  A a¡CÓ(Ð(Ø�!ŠV˜˜QšØä—6‘6ˆMrI   r�  rS   r^   r  r‡  r   rV   r?  )rW  rX  r   rc   r   r}   rƒ   r  r:   r!   Úrel_entrr‘  s
             rF   Útest_rel_entrrš  *  s³   € òð €FØ�ˆG€EØ
€CÜ'×/Ñ/°°v¸uÀfÓMò 'Ñˆˆb�$˜Ø�
‰
�D˜‘G˜T "™WÐ%Õ&ð'ä
�‰�œEÔ"€AØ0Œ�‰�U¤B§J¡J <Ô0°²1°Q°3±¸º1¸Q¸3¹Ó@€AÜ”g×&Ñ&¨¨1°5¸uÖErI   c                  ó¤   — t        j                  g d¢«      } g d¢}| d d …df   }| d d …df   }t        t        j                  ||«      |dd¬«       y )N))gp¬ÝäBî?gÄ¬ÝäBî?)gø‰tK&ÃÞ?gCŒtK&ÃÞ?)g>”ÑƒO'é?gvŽÑƒO'é?)gãÿÿÿÿÿ½gQÿÿÿÿW"½g¨    G=r   r^   rV   r?  )rc   r   r   r!   r™  ©ÚinputsrN  r  rL  s       rF   Ú test_rel_entr_gh_20710_near_zerorž  <  sS   € ä�X‰Xò ó €Fò€Hð
 	Šq�!ˆt‰€AØŠq�!ˆt‰€AÜ”G×$Ñ$ Q¨Ó*¨H¸5ÀqÖIrI   c                  óÐ   — t        j                  d¬«       t        j                  g d¢«      } g d¢}| d d …df   }| d d …df   }t	        t        j
                  ||«      |dd¬«       y )	Nrð  rñ  ))rN   çX™çë¨ö )rÞ  gZb××çti)r   g  4&õkC)gMÂá«G.¦@g)ØZ?—g åwaò)§€r   r^   rV   r?  )r!   Úseterrrc   r   r   r™  rœ  s       rF   Útest_rel_entr_gh_20710_overflowr¢  O  s_   € Ü‡N�N�xÕ Ü�X‰Xò ó €Fò€Hð
 	Šq�!ˆt‰€AØŠq�!ˆt‰€AÜ”G×$Ñ$ Q¨Ó*¨H¸5ÀqÖIrI   c                  ó  — t        t        j                  dd«      t        j                  «       t        t        j                  dd«      dt        j                  d«      z  «       t        t        j                  dd«      d«       d„ } t        j                  j                  dd«      } t        j                  | t        j                  g¬	«      |d d …d
f   |d d …df   «      }t        t        j                  ||dd¬«       y )NrS   r]  rP   rŒ   rû  rÜ   c                 óÈ   — | dk  rt         j                  S t        j                  |«      | k  rdt        j                  |«      z  S | t        j                  |«      d| z  z
  z  S )Nr   rŒ   )rc   r   r[  Úsquare©ÚdeltarT  s     rF   rw  ztest_huber.<locals>.xfuncj  sQ   € Ø�1Š9Ü—6‘6ˆMÜ�V‰V�A‹Y˜ÒØœŸ™ 1›Ñ%Ð%àœBŸF™F 1›I¨¨e©Ñ3Ñ4Ð4rI   rS  r‡  r   r^   rV   r?  )r   r!   Úhuberrc   r   r   r¥  ri   Úrandnrƒ   r  r:   ©rw  rM  rM  s      rF   Ú
test_huberr«  e  s±   € Ü”—‘˜r 3Ó'¬¯©Ô0Ü”G—M‘M ! SÓ)¨3´·±¸3³Ñ+?Ô@Ü”G—M‘M ! SÓ)Ð+>Ô?ò5ô 	�	‰	�‰˜˜AÓ€AØ0Œ�‰�U¤B§J¡J <Ô0°²1°Q°3±¸º1¸Q¸3¹Ó@€AÜ”g—m‘m Q¨°¸EÖBrI   c                  óP  — d„ } t        j                  t         j                  j                  dd«      j	                  «       ddgddggz   «      } t        j
                  | t         j                  g¬«      |d d …df   |d d …df   «      }t        t        j                  ||dd¬	«       y )
Nc                 ó„   — | dk  rt         j                  S | r|sy| dz  t        j                  d|| z  dz  z   «      dz
  z  S )Nr   rP   r^   )rc   r   r   r¦  s     rF   rw  z test_pseudo_huber.<locals>.xfuncx  sD   € Ø�1Š9Ü—6‘6ˆMÙ¡Øà˜!‘8œrŸw™w q¨A¨e©G°a©<Ñ'7Ó8¸1Ñ<Ñ=Ð=rI   rS  rP   r   rŒ   r‡  r^   rV   r?  )
rc   r   ri   r©  Útolistrƒ   r  r:   r!   Úpseudo_huberrª  s      rF   Útest_pseudo_huberr°  w  s†   € ò>ô 	�‰”—‘—‘  QÓ'×.Ñ.Ó0°Q¸°H¸sÀA¸hÐ3GÑGÓH€AØ0Œ�‰�U¤B§J¡J <Ô0°²1°Q°3±¸º1¸Q¸3¹Ó@€AÜ”g×*Ñ*¨A¨q°uÀ5ÖIrI   c                  óX   — d} d}t        j                  | |«      }d}t        ||d¬«       y )Nr�   g¬CÒÑ]r2<gs.-“„De8rV   rW   )r!   r¯  r   )r§  rT  rL  rN  s       rF   Útest_pseudo_huber_small_rr²  …  s1   € Ø€EØ€AÜ×Ñ˜U AÓ&€Að &€HÜ�A�x eÖ,rI   c                  óô   — t        j                  t        d¬«      5  t        dd«       d d d «       t        j                  t        d¬«      5  t	        dd«       d d d «       y # 1 sw Y   Œ:xY w# 1 sw Y   y xY w)NzToo many predicted coefficientsr  r[   )rR  Úwarnsr"  r+   r,   rU  rI   rF   Útest_runtime_warningrµ  ’  sk   € ä	�‰”nØ>ô
@ñ %ä˜˜tÔ$÷%ô 
�‰”nØ>ô
@ñ &ä˜$ Ô%÷&ð &÷%ð %ú÷&ð &ús   œA"ÁA.Á"A+Á.A7c                   óø  — e Zd Zdgddgg d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢gZej
                  j                  ddei fdeddifg«      d„ «       Z	ej
                  j                  ddei fdeddifg«      d„ «       Z
ej
                  j                  ddei fdeddifg«      d„ «       Zej
                  j                  ddei fdeddifg«      d„ «       Zej
                  j                  ddei fdeddifg«      d„ «       Zd„ Zd„ Zej
                  j                  dddddej"                  g«      ej
                  j                  dg d¢«      ej
                  j                  d ddg«      d!„ «       «       «       Zej
                  j                  d ddg«      d"„ «       Zej
                  j                  ddei fdeddifg«      d#„ «       Zej
                  j                  ddei fdeddifg«      d$„ «       Zd%„ Zy&)'ÚTestStirling2r^   r   )r   r^   r^   )r   r^   r’   r^   )r   r^   rR   rT   r^   )r   r^   r‚   r  rS  r^   )r   r^   é   r  éA   r‚   r^   )r   r^   é?   r¼  i^  éŒ   rJ  r^   )	r   r^   é   iÆ  i¥  é  i
  é   r^   )
r   r^   éÿ   iÑ  iZ  i'  iV
  iÎ  é$   r^   )r   r^   r†   ér$  i9…  i¦  i+Y  éø  iî  rü   r^   zis_exact, comp, kwargsTFrX   r‡   c           	      óÆ   — t        dt        | j                  «      «      D ]?  }t        t        |dz   «      «      }| j                  |   } ||t	        |g||¬«      fi |¤Ž ŒA y )Nr^   r!  )r|   rÏ  Útabler)  r-   )rE   Úis_exactÚcompÚkwargsrl   Úk_valuesÚrows          rF   Útest_table_caseszTestStirling2.test_table_cases«  s]   € ô
 �qœ#˜dŸj™j›/Ó*ò 	JˆAÜœE ! A¡#›JÓ'ˆHØ—*‘*˜Q‘-ˆCÙ�”i   X°XÔ>ÑIÀ&ÓIñ	JrI   c                 óú   —  |t        dd|¬«      | j                  d   d   fi |¤Ž  |t        dd|¬«      | j                  d   d   fi |¤Ž  |t        dd|¬«      dfi |¤Ž  |t        dgdg|¬«      dgfi |¤Ž y )Nr   r!  rN   rP   rà   r’   r  )r-   rÄ  ©rE   rÅ  rÆ  rÇ  s       rF   Útest_valid_single_integerz'TestStirling2.test_valid_single_integerµ  s†   € ñ
 	ŒY�q˜! 8Ô,¨d¯j©j¸©m¸AÑ.>ÑIÀ&ÒIÙŒY�q˜! 8Ô,¨d¯j©j¸©m¸AÑ.>ÑIÀ&ÒIñ 	ŒY�q˜! 8Ô,¨bÑ;°FÒ;ÙŒY˜�s˜Q˜C xÔ0°2°$ÑA¸&ÓArI   c                 óˆ   —  |t        dd|¬«      dfi |¤Ž  |t        dd|¬«      dfi |¤Ž  |t        dd|¬«      dfi |¤Ž y )NrS   r!  r   rP   ©r-   rÌ  s       rF   Útest_negative_integerz#TestStirling2.test_negative_integerÁ  sL   € ñ 	ŒY�r˜2 XÔ.°Ñ<°VÒ<ÙŒY�r˜1 HÔ-¨qÑ;°FÒ;ÙŒY�q˜" HÔ-¨qÑ;°FÓ;rI   c           	      ó*  — | j                   d   d   | j                   d   d   g} |t        t        ddg«      t        ddg«      |¬«      |«        |t        ddgt        ddg«      |¬«      |«        |t        t        ddg«      ddg|¬«      |«       y )NrS  r’   rN   r!  )rÄ  r-   r   )rE   rÅ  rÆ  rÇ  Úanss        rF   Útest_array_inputszTestStirling2.test_array_inputsË  sª   € ð
 �z‰z˜"‰~˜aÑ  $§*¡*¨R¡.°Ñ"3Ð4ˆÙŒY”w  B˜xÓ(Ü&¨¨1 v›Ø%-ô/ð ô	ñ 	ŒY˜˜B�xÜ&¨¨1 v›Ø%-ô/ð ô	ñ 	ŒY”w  B˜xÓ(Ø ! 1˜vØ%-ô/ð õ	rI   rV   c                 óH   — g d¢}g d¢}g d¢} |t        |||¬«      |fi |¤Ž y )N)r   r^   r’   r  r½  rÂ  rÁ  )rS   r   r’   rà   r3  rS  rS  )r  r   rP   r’   rà   rR   r’   r!  rÏ  ©rE   rÅ  rÆ  rÇ  rÒ  rl   rm   s          rF   Útest_mixed_valueszTestStirling2.test_mixed_valuesÞ  s+   € ò .ˆÚ$ˆÚ"ˆÙŒY�q˜! 8Ô,¨cÑ<°VÓ<rI   c                 óÔ   — dt        j                  d«      }}t        t        ||d¬«      dz  |D �cg c]'  }t	        j
                  ||dz  z
  dz
  ||z
  «      dz  ‘Œ) c}«       yc c}w )z{Test parity follows well known identity.

        en.wikipedia.org/wiki/Stirling_numbers_of_the_second_kind#Parity
        r:  ée   Tr!  rP   r^   N)rc   r   r   r-   r“  r(  )rE   rl   ÚKrm   s       rF   Útest_correct_parityz!TestStirling2.test_correct_parityé  s`   € ð
 ”B—I‘I˜c“Nˆ1ˆÜÜ�a˜ $Ô'¨!Ñ+Ø=>Ö?¸ŒT�Y‰Y�q˜A ™F‘| aÑ'¨¨Q©Ó/°!Ó3Ò?õ	
ùâ?s   ±,A%
c                 óÀ   — t        ddg«      }ddg}ddg}t        t        ||d¬«      |«      sJ ‚t        d	d
g«      }ddg}ddg}t        t        ||d¬«      |«      sJ ‚y )Nl   V^–;Ú. l   ák4Ô-Tr  rZ   rO   rN   Tr!  l	   D,"ÒSBX¡p!NæÑ l   wY®)ÄHŠ_î1e_é*   r5  é   )r   r   r-   )rE   rÒ  rl   rm   s       rF   Útest_big_numberszTestStirling2.test_big_numbersô  s}   € ä�~Ð'8Ð9Ó:ˆØ�ˆHˆØ�ˆGˆÜœ9 Q¨°Ô6¸Ô<Ð<Ð<äÐ<Ø:ð<ó =ˆà�ˆHˆØ�ˆHˆÜœ9 Q¨°Ô6¸Ô<Ð<Ñ<rI   rs  rƒ  rÜ   y      @      ð?Ú12rÙ  )rü  r’   Ú2NrÅ  c                 ó|   — t        j                  t        «      5  t        |||¬«       d d d «       y # 1 sw Y   y xY w)Nr!  )rR  r   Ú	TypeErrorr-   )rE   rs  rÙ  rÅ  s       rF   Útest_unsupported_input_typesz*TestStirling2.test_unsupported_input_types  s1   € ô
 �]‰]œ9Ó%ñ 	,Ü�a˜ (Õ+÷	,÷ 	,ñ 	,ús   š2²;c                 ó  — t        | j                  d   dd  «      }t        g d¢t        ¬«      }t        g d¢t        ¬«      }t        j                  t
        «      5  t        t        |||¬«      |«       d d d «       y # 1 sw Y   y xY w)NrN   r^   ©rN   rN   rN   rN   r  ©r^   rP   r’   rN   r!  )r   rÄ  r�  rR  r   râ  r   r-   )rE   rÅ  rÒ  rl   rm   s        rF   Ú!test_numpy_array_int_object_dtypez/TestStirling2.test_numpy_array_int_object_dtype	  si   € ô �d—j‘j ‘m A BÐ'Ó(ˆÜ’L¬Ô/ˆÜ’L¬Ô/ˆÜ�]‰]œ9Ó%ñ 	>Üœ	 ! Q¨hÔ7¸Ô=÷	>÷ 	>ñ 	>ús   ÁA=Á=Bc                 ó²   — t        | j                  d   dd  «      }t        g d¢t        ¬«      }t        g d¢t        ¬«      } |t        ||d¬«      |fi |¤Ž y )NrN   r^   rå  r  ræ  Fr!  )r   rÄ  r2   r-   rÕ  s          rF   Ú#test_numpy_array_unsigned_int_dtypez1TestStirling2.test_numpy_array_unsigned_int_dtype  sM   € ô �d—j‘j ‘m A BÐ'Ó(ˆÜ’L¬Ô1ˆÜ’L¬Ô1ˆÙŒY�q˜! 5Ô)¨3Ñ9°&Ó9rI   c                 óP  — t        g d¢g d¢g«      }t        g d¢g d¢g«      }t        g d¢«      } |t        |||¬«      |fi |¤Ž t        dgdgdgdgdgg«      }t        g d¢«      }t        t        d	«      D �cg c]  }g d
¢‘Œ c}«      } |t        ||d¬«      |fi |¤Ž y c c}w )N)r^   r‚   r  rS  )r^   rR   rT   r^   )rà   rà   rà   rà   rå  ræ  r!  rN   )r   r^   rP   r’   rN   rà   rà   )r   r^   rR   rT   r^   r   F)r   r-   r|   )rE   rÅ  rÆ  rÇ  rÒ  rl   rm   ro  s           rF   Ú"test_broadcasting_arrays_correctlyz0TestStirling2.test_broadcasting_arrays_correctly  s¥   € ô ’ªÐ5Ó6ˆÜ’\¢<Ð0Ó1ˆÜ’LÓ!ˆÙŒY�q˜! 8Ô,¨cÑ<°VÒ<ä�a�S˜1˜# ˜s Q C¨!¨Ð-Ó.ˆÜÒ&Ó'ˆÜ´5¸³8Ö<¨aÔ)Ò<Ó=ˆÙŒY�q˜! 5Ô)¨3Ñ9°&Ó9ùò =s   Á:B#c                 ó  — t        t        ddd«      «      }|D ]k  }t        t        d|dz   «      «      }t        |g|d¬«      }|t        |g|d¬«      z
  }t        j                  t        j
                  ||z  «      «      dk  rŒkJ ‚ y )	Né3   rØ  rà   r^   Tr!  Fgñhãˆµøô>)r)  r|   r-   rc   r+  r[  )rE   r  rl   Ú	k_entriesÚdenomr~   s         rF   Útest_temme_rel_max_errorz&TestStirling2.test_temme_rel_max_error/  sƒ   € ô ”�r˜3 Ó"Ó#ˆØò 	6ˆAÜœU 1 a¨¡c›]Ó+ˆIÜ˜q˜c 9°DÔ9ˆEØœ) Q C¨¸%Ô@Ñ@ˆCÜ—6‘6œ"Ÿ&™&  u¡Ó-Ó.°Ó5Ð5Ð5ñ		6rI   N)rO  rP  rQ  rÄ  rR  rS  r  r   r   rÊ  rÍ  rÐ  rÓ  rÖ  rÚ  rÞ  rc   râ   rã  rç  ré  rë  rð  rU  rI   rF   r·  r·  œ  s­  „ à	
ˆØ	
ˆAˆÚÚÚÚÚ!Ú(Ú0Ú7Ú@ð€Eð ‡[�[×ÑÐ5Ø	ˆ|˜RÐ Ø	� &¨% Ð1ð8ó ñJó	ðJð ‡[�[×ÑÐ5Ø	ˆ|˜RÐ Ø	� &¨% Ð1ð8ó ñBó	ðBð ‡[�[×ÑÐ5Ø	ˆ|˜RÐ Ø	� &¨% Ð1ð8ó ñ<ó	ð<ð ‡[�[×ÑÐ5Ø	ˆ|˜RÐ Ø	� &¨% Ð1ð8ó ñó	ðð ‡[�[×ÑÐ5Ø	ˆ|˜RÐ Ø	� &¨% Ð1ð8ó ñ=ó	ð=ò	
ò=ð ‡[�[×Ñ˜S 3¨¨D°$¸¿¹Ð"?Ó@Ø‡[�[×Ñ˜SÒ"5Ó6Ø‡[�[×Ñ˜Z¨$°¨Ó7ñ,ó 8ó 7ó Að,ð
 ‡[�[×Ñ˜Z¨$°¨Ó7ñ>ó 8ð>ð ‡[�[×ÑÐ5Ø	ˆ|˜RÐ Ø	� &¨% Ð1ð8ó ñ:ó	ð:ð ‡[�[×ÑÐ5Ø	ˆ|˜RÐ Ø	� &¨% Ð1ð8ó ñ:ó	ð:ó6rI   r·  c                   ó`   — e Zd Zd„ Zej
                  j                  deeg«      d„ «       Z	d„ Z
y)ÚTestLegendreDeprecationc                 óv   — d}t        j                  |¬«      5  t        dd«      }d d d «       y # 1 sw Y   y xY w)Nz$`scipy.special.lpn` is deprecated...r  r^   r   )rR  r<  r.   ©rE   r=  ro  s      rF   Útest_warn_lpnz%TestLegendreDeprecation.test_warn_lpn<  s5   € Ø4ˆÜ×#Ñ#¨#Ô.ñ 	Ü�A�q“	ˆA÷	÷ 	ñ 	ús   ™/¯8Úxlpmnc                 óŽ   — d|j                   › d�}t        j                  |¬«      5   |ddd«      }d d d «       y # 1 sw Y   y xY w)Nz`scipy.special.z` is deprecated...r  r^   r   )rO  rR  r<  )rE   rö  Úmessagero  s       rF   Útest_warn_xlpmnz'TestLegendreDeprecation.test_warn_xlpmnA  sF   € à# E§N¡NÐ#3Ð3EÐFˆÜ×#Ñ#¨'Ô2ñ 	Ù�a˜˜A“ˆA÷	÷ 	ñ 	ús	   §;»Ac                 óŽ   — d}t        j                  |¬«      5  t        j                  dddd«      }d d d «       y # 1 sw Y   y xY w)Nz)`scipy.special.sph_harm` is deprecated...r  r^   r   )rR  r<  r!   rD  rô  s      rF   Útest_warn_sph_harmz*TestLegendreDeprecation.test_warn_sph_harmG  s@   € Ø9ˆÜ×#Ñ#¨#Ô.ñ 	-Ü× Ñ   A q¨!Ó,ˆA÷	-÷ 	-ñ 	-úr?  N)rO  rP  rQ  rõ  rR  rS  r  r/   r0   rù  rû  rU  rI   rF   rò  rò  :  s5   „ òð
 ‡[�[×Ñ˜W t¨U mÓ4ñó 5ðó
-rI   rò  r‹  )’rÛ  rW  rÝ  r¦  r¥  r.  rc   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   rR  r   rq  Únumpy.testingr   r   r   r   r   r   r   r   r    Úscipyr!   Úscipy.special._ufuncsÚ_ufuncsrB   Úscipy.specialr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   Úscipy._lib._utilr1   r2   Úscipy._lib._array_apir3   r4   r5   Úscipy.special._basicr6   r7   r8   Úscipy.special._testutilsr9   r:   r;   r“  Úarchitecturerü  r0  rc  r?   rW  r�  r‰  rŽ  rÕ  rÛ  rï  r  rL  r€  r�  r·  rÔ  rç  r  r(  rG  rK  r
  r"  r?  r^  r•  r´  rÂ  rÉ  rÓ  rÚ  rÞ  rä  r   r  r  r  r  r+  r<  rG  rJ  rL  rY  r[  r^  r`  rh  rk  Úfixturero  rq  r€  r„  rŒ  r–  rš  rž  r¢  r«  r°  r²  rS  rJ  rµ  r·  rò  rU  rI   rF   ú<module>r	     s\  ðó( Û Û Û Û 
ã ÷÷ ÷ ÷ ÷ ó ó Ý *÷÷ õ õ
 ß &Ð &ß 2Ñ 2ß EÕ EÝ "ß HÑ Hß *Ñ *ß .ß SÑ S÷ñ ÷!ñ !ó ð ‡L�L�GÒØ€x×ÑÓ˜qÑ! WÒ,ð �XŠXð 
‡x�xð ÷v9ñ v9÷ryGñ yG÷x.ñ .÷ñ ÷
V>ñ V>÷r9ñ 9÷0ñ 0÷<oBñ oB÷dD/ñ D/÷NB+ñ B+÷J:ñ :÷:JTñ JT÷ZG0ñ G0÷T)=ñ )=÷X_Bñ _B÷D-ñ -÷2/ñ /ó@!÷HM-ñ M-÷`A.ñ A.÷H@7ñ @7÷F&%ñ &%÷R\6ñ \6÷~U	$ñ U	$÷p
ñ 
÷B.ñ .÷	1ñ 	1÷ñ ÷ñ ÷=ñ =÷4=ñ 4=÷n&ñ &÷2>ñ >÷7ñ 7÷?ñ ?÷Bñ B÷,&"ñ &"÷R&ñ &ò$2ò>
E÷#9ñ #9òLAò1òDòDò:4òzKð  ‡‚ñó ðð
 ñNó ðNòEò"GòBò Dò,Fò$Jò&Jò,Cò$Jò
-ð ‡‚×Òñ&ó ð&÷[6ñ [6÷|-ò -rI   