Ë
    ÏÍ:jæ ã            	       óø  — 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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$ d dl%m&Z& d dl'm&c m(Z) d dl*m+Z+m,Z,m-Z- d dl*m.Z.m/Z/m0Z0m1Z1m2Z2 d dl*m3Z3 d d	l*m4Z4m5Z5m6Z6 d d
l7m8Z8m9Z9m:Z: d dl;m<Z<m=Z=m>Z> d dl?m@Z@mAZAmBZB d dlCmDZD d dlEZEej                  dk(  s ejŒ                  «       d    dk(  rejŽ                  nej�                  ZI G d„ d«      ZJ G d„ d«      ZK G d„ d«      ZL G d„ d«      ZM G d„ d«      ZN G d„ d«      ZO G d„ d«      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 d0„ d1«      ZZd~d2„Z[ G d3„ d4«      Z\ G d5„ d6«      Z] G d7„ d8«      Z^ G d9„ d:«      Z_ G d;„ d<«      Z` G d=„ d>«      Za G d?„ d@«      Zb G dA„ dB«      Zc G dC„ dD«      ZddE„ ZedF„ Zf G dG„ dH«      Zg G dI„ dJ«      Zh G dK„ dL«      Zi G dM„ dN«      Zj G dO„ dP«      Zk G dQ„ dR«      Zl G dS„ dT«      Zm G dU„ dV«      Zn G dW„ dX«      Zo G dY„ dZ«      Zp G d[„ d\«      Zq G d]„ d^«      Zrd_„ Zsd`„ Ztejê                  jí                  daej,                   dbdcddej,                  ejî                  g«      de„ «       Zxejê                  jí                  dfej,                   dbdcddej,                  ejî                  g«      dg„ «       Zyejê                  jí                  daej,                   dbdcddej,                  ejî                  g«      dh„ «       Zzejê                  jí                  dfej,                   dbdcddej,                  ejî                  g«      di„ «       Z{dj„ Z|dk„ Z}dl„ Z~dm„ Zdn„ Z€e�j                  do„ «       Z‚e@dp„ «       Zƒdq„ Z„dr„ Z…ds„ Z†dt„ Z‡du„ Zˆdv„ Z‰dw„ ZŠdx„ Z‹dy„ ZŒdz„ Z�d{„ ZŽ G d|„ d}«      Z�y)é    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_array_equalÚassert_Úassert_allcloseÚassert_array_almost_equal_nulp)Úspecial)ÚellipeÚellipkÚellipkm1)ÚelliprcÚelliprdÚelliprfÚelliprgÚelliprj)Úsoftplus)Úmathieu_odd_coefÚmathieu_even_coefÚ	stirling2)Úxp_assert_closeÚxp_assert_equalÚSCIPY_ARRAY_API)Ú_FACTORIALK_LIMITS_64BITSÚ_FACTORIALK_LIMITS_32BITSÚ_is_subdtype)Úwith_special_errorsÚassert_func_equalÚFuncData)ÚquadÚ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(e)jT                  jW                  d'¬(«      d)„ «       Z,d*„ Z-d+„ Z.d,„ Z/d-„ Z0d.„ Z1d/„ Z2d0„ Z3d1„ Z4d2„ Z5d3„ Z6d4„ Z7d5„ Z8d6„ Z9d7„ Z:d8„ Z;d9„ Z<d:„ Z=d;„ Z>d<„ Z?d=„ Z@d>„ ZAd?„ ZBd@„ ZCdA„ ZDdB„ ZEdC„ ZFdD„ ZGdE„ ZHdF„ ZIdG„ ZJdH„ ZKdI„ ZLdJ„ ZMdK„ ZNdL„ ZOdM„ ZPdN„ ZQdO„ ZRdP„ ZSdQ„ ZTdR„ ZUdS„ ZVdT„ ZWdU„ ZXdV„ ZYdW„ ZZdX„ Z[dY„ Z\dZ„ Z]d[„ Z^d\„ Z_d]„ Z`d^„ Zad_„ Zbd`„ Zcda„ Zddb„ Zedc„ Zfdd„ Zgde„ Zhdf„ Zidg„ Zjdh„ Zke)jT                  jÙ                  dig dj¢«      dk„ «       Zmdl„ Zne)jT                  jÙ                  dig dm¢«      dn„ «       Zodo„ Zpdp„ Zqdq„ Zrdr„ Zsds„ Ztdt„ Zudu„ Zvdv„ Zwdw„ Zxdx„ Zydy„ Zzdz„ Z{d{„ Z|d|„ Z}d}„ Z~d~„ Zd„ Z€e)jT                  jW                  d€¬(«      d�„ «       Z�e)jT                  jW                  d‚¬(«      dƒ„ «       Z‚e)jT                  jW                  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µy¸)¹Ú
TestCephesc                 ó.   — t        j                  d«       y ©Nr   )ÚcephesÚairy©Úselfs    ús/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/special/tests/test_basic.pyÚ	test_airyzTestCephes.test_airy;   ó   € Ü�‰�A�ó    c                 ó.   — t        j                  d«       y r9   )r:   Úairyer<   s    r>   Ú
test_airyezTestCephes.test_airye>   s   € Ü�‰�Q�rA   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
@rH   éÿÿÿÿ)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   é   ç     ð?ç»½×Ùß|Û=©ÚatolrP   )Únpr   Úbroadcast_arraysÚreshapeÚTr1   r:   ÚbinomÚravelÚrandomÚRandomStater   r   Úrand)r=   ÚnÚkÚnkÚrknownÚrngs         r>   Ú
test_binomzTestCephes.test_binomA   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ö	2rA   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 )NrQ   rV   é,  é   r   rU   rH   rK   rW   rX   rY   )r[   ra   Úseedr   Úlogspacer   r   r\   r]   r^   r1   r:   r_   )r=   rd   re   rf   s       r>   Útest_binom_2zTestCephes.test_binom_2X   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ö	2rA   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 ©NrV   )ÚintÚrangeÚfloat)rd   re   ÚnumÚdenÚis        r>   Ú	binom_intz.TestCephes.test_binom_exact.<locals>.binom_intf   sb   € ä�A“ˆAÜ�A“ˆAØˆCØˆCÜ˜1˜a ™c“]ò �Ø�q˜1‘u˜q‘yÑ �Ø�q‘‘ðô ˜˜S™“>Ð!rA   rQ   rV   é   r   rH   rK   rY   )r[   Ú	vectorizera   rm   r   r   r\   r]   r^   r1   r:   r_   )r=   ry   rd   re   rf   s        r>   Útest_binom_exactzTestCephes.test_binom_exacte   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ö	*rA   c                 óŽ   — g d¢}t        j                  |«      }t        t        j                  |ddd¬«      j                  «        y )N))rS   rT   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   rV   rH   çê-�™—q=rO   )r[   r   r2   r:   r_   Úcheck)r=   Údatasets     r>   Útest_binom_nooverflow_8346z%TestCephes.test_binom_nooverflow_8346|   s6   € ò
ˆô" —*‘*˜WÓ%ˆÜ”—‘˜w¨°¸Ô>×DÑDÕFrA   c                 óF   — t        t        j                  ddd«      d«       y )NrV   ç      à?ç      ð?)r   r:   Úbdtrr<   s    r>   Ú	test_bdtrzTestCephes.test_bdtr’   s   € Ü”V—[‘[  1 SÓ)¨#Õ.rA   c                 óF   — t        t        j                  ddd«      d«       y ©NrV   é   r„   )r   r:   Úbdtrir<   s    r>   Ú
test_bdtrizTestCephes.test_bdtri•   ó   € Ü”V—\‘\ ! A cÓ*¨3Õ/rA   c                 óF   — t        t        j                  ddd«      d«       y r‰   )r   r:   Úbdtrcr<   s    r>   Ú
test_bdtrczTestCephes.test_bdtrc˜   r�   rA   c                 ó2   — t        j                  ddd«       y r‰   )r:   Úbdtrikr<   s    r>   Útest_bdtrikzTestCephes.test_bdtrik›   s   € Ü�‰�a˜˜#ÕrA   c                 óB   — t        t        j                  d«      d«       y ©Nr   ç        )r   r:   Úbeir<   s    r>   Útest_beizTestCephes.test_beiž   ó   € Ü”V—Z‘Z “] 3Õ'rA   c                 óB   — t        t        j                  d«      d«       y r•   )r   r:   Úbeipr<   s    r>   Ú	test_beipzTestCephes.test_beip¡   ó   € Ü”V—[‘[ “^ CÕ(rA   c                 óB   — t        t        j                  d«      d«       y ©Nr   r…   )r   r:   Úberr<   s    r>   Útest_berzTestCephes.test_ber¤   r™   rA   c                 óB   — t        t        j                  d«      d«       y r•   )r   r:   Úberpr<   s    r>   Ú	test_berpzTestCephes.test_berp§   r�   rA   c                 óF   — t        t        j                  ddd«      d«       y rŸ   )r   r:   Ú
besselpolyr<   s    r>   Útest_besselpolyzTestCephes.test_besselpolyª   s   € Ü”V×&Ñ& q¨¨1Ó-¨cÕ2rA   c                 óH   — t        t        j                  d«      ddd¬«       y )NrV   r…   ç�íµ ÷Æ°>r   rY   )r   r:   Úcbrtr<   s    r>   Ú	test_cbrtzTestCephes.test_cbrt­   s   € ÜœŸ™ A›¨°$¸QÖ?rA   c                 óD   — t        t        j                  dd«      d«       y ©NrV   r   r–   )r   r:   Úchdtrr<   s    r>   Ú
test_chdtrzTestCephes.test_chdtr°   s   € Ü”V—\‘\ ! AÓ& sÕ+rA   c                 óD   — t        t        j                  dd«      d«       y ©NrV   r   r…   )r   r:   Úchdtrcr<   s    r>   Útest_chdtrczTestCephes.test_chdtrc³   ó   € Ü”V—]‘] 1 QÓ'¨Õ,rA   c                 óD   — t        t        j                  dd«      d«       y ©NrV   r–   )r   r:   Úchdtrir<   s    r>   Útest_chdtrizTestCephes.test_chdtri¶   r´   rA   c                 óF   — t        t        j                  ddd«      d«       y ©Nr   rV   r–   )r   r:   Úchndtrixr<   s    r>   Útest_chndtrixzTestCephes.test_chndtrix¹   ó   € Ü”V—_‘_ Q q¨Ó+¨CÕ0rA   c                 óB   — t        t        j                  d«      d«       y rŸ   )r   r:   Úcosdgr<   s    r>   Ú
test_cosdgzTestCephes.test_cosdg¼   ó   € Ü”V—\‘\ !“_ SÕ)rA   c                 óB   — t        t        j                  d«      d«       y r•   )r   r:   Úcosm1r<   s    r>   Ú
test_cosm1zTestCephes.test_cosm1¿   rÁ   rA   c                 óH   — t        t        j                  d«      ddd¬«       y )Né-   r…   çvƒôõ!„>r   rY   )r   r:   Úcotdgr<   s    r>   Ú
test_cotdgzTestCephes.test_cotdgÂ   s   € ÜœŸ™ RÓ(¨#°FÀÖCrA   c                 ó€   — t        t        j                  d«      d«       t        t        j                  d«      d«       y )Nr   r–   g®Gáz®ó?gâ¨Àfà?)r   r:   Údawsnr   r<   s    r>   Ú
test_dawsnzTestCephes.test_dawsnÅ   s(   € Ü”V—\‘\ !“_ SÔ)ÜœŸ™ TÓ*Ð,?Õ@rA   c                 ó0  — g d¢}t        j                  dt         j                  z  dz   «      j                  t         j                  «      }t        t        j                  ||«      ddd¬«       t        j                  dt         j                  z  dz   «      j                  t         j                  «      }t        t        j                  ||«      dd	d¬«       t        j                  dt         j                  z  d
z   «      j                  t         j                  «      }t        t        j                  ||«      dd	d¬«       t        t         d«      rit        j                  dt         j                  z  dz   «      j                  t         j                  «      }t        t        j                  ||«      ddd¬«       g d¢}t        j                  dt         j                  z  dz   «      j                  t         j                  «      }t        t        j                  ||«      dd	d¬«       t        j                  dt         j                  z  dt         j                  z  dt         j                  z  «      }g d¢}t        t        j                  |d«      |d	d¬«       y )N)rV   é   é   rH   g-Cëâ6
?r…   rÇ   r   rY   ç•Ö&è.>ç [n‡Û<çVçž¯Ò<Úfloat128r   gÉûÖ"<)rH   rF   é   ç      ð¿çš™™™™™É?)g£ºgúìë?gsø½OBá?g”saLÀ?g
7•I”^Ê¿rŠ   )r[   r   r   ÚastypeÚfloat32r   r   ÚdiricÚfloat64ÚhasattrrÓ   r   )r=   Ún_oddÚxÚn_evenÚoctave_results        r>   Ú
test_diriczTestCephes.test_diricÉ   s¯  € ò ˆÜ�H‰H�Q”r—u‘u‘W˜t‘^Ó$×+Ñ+¬B¯J©JÓ7ˆÜœŸ™ a¨Ó/°¸6ÈÕJÜ�H‰H�Q”r—u‘u‘W˜t‘^Ó$×+Ñ+¬B¯J©JÓ7ˆÜœŸ™ a¨Ó/°¸7ÈÕKÜ�H‰H�Q”r—u‘u‘W˜u‘_Ó%×,Ñ,¬R¯Z©ZÓ8ˆÜœŸ™ a¨Ó/°¸7ÈÕKÜ”2�zÔ"ä—‘˜œ2Ÿ5™5™ 5™Ó)×0Ñ0´·±Ó=ˆAÜœGŸM™M¨!¨UÓ3°S¸wÈQÕOâˆÜ�H‰H�Q”r—u‘u‘W˜t‘^Ó$×+Ñ+¬B¯J©JÓ7ˆÜœŸ™ a¨Ó0°$¸WÈ1ÕMô �I‰I�cœ"Ÿ%™%‘i ¤R§U¡U¡¨C´·±©IÓ6ˆò@ˆäœŸ™ a¨Ó+¨]ÀÈqÖQrA   c                 ó
  — t        j                  d«      }t        j                  g d¢«      }t        t	        j
                  |d d …t         j                  f   |«      j                  |j                  |j                  fk(  «       y )NrÎ   )rV   rŠ   rJ   )	r[   r   r   r   r   rÙ   ÚnewaxisÚshapeÚsize)r=   rÝ   rd   s      r>   Ú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ÕMrA   c                 óB   — t        t        j                  d«      d«       y ©NrV   r…   )r   r:   r   r<   s    r>   Útest_ellipezTestCephes.test_ellipeç   ó   € Ü”V—]‘] 1Ó% cÕ*rA   c                 óD   — t        t        j                  dd«      d«       y rº   )r   r:   Ú	ellipeincr<   s    r>   Útest_ellipeinczTestCephes.test_ellipeincê   ó   € Ü”V×%Ñ% a¨Ó*¨3Õ/rA   c                 ó0   — t        j                  dd«       y ©Nr   rV   )r:   Úellipjr<   s    r>   Útest_ellipjzTestCephes.test_ellipjí   s   € Ü�‰�a˜ÕrA   c                 ó<   — t        t        d«      t        dz  «       y )Nr   rH   )r   r   r   r<   s    r>   Útest_ellipkzTestCephes.test_ellipkð   s   € Üœ˜q›	¤2 a¡4Õ(rA   c                 óD   — t        t        j                  dd«      d«       y r•   )r   r:   Ú	ellipkincr<   s    r>   Útest_ellipkinczTestCephes.test_ellipkincó   rí   rA   c                 óB   — t        t        j                  d«      d«       y r•   ©r   r:   Úerfr<   s    r>   Útest_erfzTestCephes.test_erfö   s   € Ü”V—Z‘Z “] CÕ(rA   c                 ót   — d}t        t        j                  |«      t        j                  | «      z   d«       y )Ng ¡#8xŸ@r–   rø   ©r=   rÝ   s     r>   Útest_erf_symmetryzTestCephes.test_erf_symmetryù   s(   € ØˆÜ”V—Z‘Z “]¤V§Z¡Z°°£^Ñ3°SÕ9rA   c                 óB   — t        t        j                  d«      d«       y rŸ   )r   r:   Úerfcr<   s    r>   Ú	test_erfczTestCephes.test_erfcý   s   € Ü”V—[‘[ “^ SÕ)rA   c                 óH   — t        t        j                  d«      ddd¬«       y )NrH   g      Y@r©   r   rY   )r   r:   Úexp10r<   s    r>   Ú
test_exp10zTestCephes.test_exp10   s   € ÜœŸ™ Q›¨°TÀÖBrA   c                 óB   — t        t        j                  d«      d«       y )NrH   ç      @)r   r:   Úexp2r<   s    r>   Ú	test_exp2zTestCephes.test_exp2  r�   rA   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–   rK   )r   r:   Úexpm1r[   r   Únanr<   s    r>   Ú
test_expm1zTestCephes.test_expm1  sc   € Ü”V—\‘\ !“_ SÔ)Ü”V—\‘\¤"§&¡&Ó)¬2¯6©6Ô2Ü”V—\‘\¤2§6¡6 'Ó*¨BÔ/Ü”V—\‘\¤"§&¡&Ó)¬2¯6©6Õ2rA   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   rV   rH   rF   rÎ   rK   )r:   r	  r   Úcomplexr[   r   r
  )r=   r	  s     r>   Útest_expm1_complexzTestCephes.test_expm1_complex  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ÕMrA   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Î   é   rl   ù              ð?)y”­á=…ÿ�¼Cwˆ¯¹?yC7gg)gF<ëUŠgòÉ?yŠQØá”Š<—™âD*ÌÓ?yg:>¬Œ–<»›sKÀy>ñûÕñ¸£¼$	‹Um>lÀy;VÃél ™<„«£´å@rŠ   rl   )	r[   r   r   r
   r:   r	  r   Úimagr   )r=   ÚyrÝ   ÚzÚexpectedÚfounds         r>   Útest_expm1_complex_hardz"TestCephes.test_expm1_complex_hard  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·=±=À"ÕErA   c                 óŒ   — t        t        j                  ddd«      d«       t        t        j                  ddd«      dd¬	«       y )
NrV   r   r–   r©   rÎ   é
   g£�2•óÿï?r   rO   )r   r:   Úfdtrr   r<   s    r>   Ú	test_fdtrzTestCephes.test_fdtr4  s6   € Ü”V—[‘[  A qÓ)¨3Ô/äœŸ™ D¨!¨RÓ0Ð2DØ"ö	$rA   c                 óŒ   — t        t        j                  ddd«      d«       t        t        j                  ddd«      dd¬	«       y )
NrV   r   r…   rH   r  g    _ BgDô�IXlÑ?r   rO   )r   r:   Úfdtrcr   r<   s    r>   Ú
test_fdtrczTestCephes.test_fdtrc:  s8   € Ü”V—\‘\ ! Q¨Ó*¨CÔ0ô 	œŸ™ Q¨¨TÓ2Ð4GØ"ö	$rA   c                 ó®   — t        t        j                  ddddg«      t        ddg«      d¬«       d}t        t        j                  d	d|«      d
d¬«       y )NrV   gV-²�ïß?gÕxé&1à?gší
}°Ìï?g<zO'Ñð?r©   rO   g°×€í‡ì?r  rŠ   r   )r   r:   Úfdtrir   )r=   Úps     r>   Ú
test_fdtrizTestCephes.test_fdtriA  sM   € ÜœŸ™ Q¨¨E°5¨>Ó:Ü˜y¨*Ð5Ó6¸Tõ	Cð %ˆÜœŸ™ S¨!¨QÓ/°¸Ö?rA   c                 ó€   — d\  }}}t        t        j                  ||t        j                  |||«      «      |d¬«       y )N)rV   éPÃ  g\«/˜Õ¹=@rÒ   rO   )r   r:   r%  r  )r=   ÚdfdÚdfnrÝ   s       r>   Útest_gh20835zTestCephes.test_gh20835I  s4   € à1‰ˆˆS�!ÜœŸ™ S¨#¬v¯{©{¸3ÀÀQÓ/GÓHÈ!ÐRWÖXrA   c                 óF   — t        t        j                  ddd«      d«       y )NrV   r„   )r   r:   r%  r<   s    r>   Útest_fdtri_mysterious_failurez(TestCephes.test_fdtri_mysterious_failureN  s   € ÜœŸ™ Q¨¨3Ó/°Õ3rA   c                 óF   — t        t        j                  ddd«      d«       y )NrV   r   ç      @)r   r:   Úfdtridfdr<   s    r>   Útest_fdtridfdzTestCephes.test_fdtridfdQ  r½   rA   c                 óB   — t        t        j                  d«      d«       y ©Nr   ©r–   r–   )r   r:   Úfresnelr<   s    r>   Útest_fresnelzTestCephes.test_fresnelT  s   € Ü”V—^‘^ AÓ& yÕ1rA   c                 óB   — t        t        j                  d«      d«       y ©NrÎ   ç      8@)r   r:   Úgammar<   s    r>   Ú
test_gammazTestCephes.test_gammaW  s   € Ü”V—\‘\ !“_ TÕ*rA   c                 óD   — t        t        j                  dd«      d«       y )NrÎ   rV   r–   )r   r:   Úgammainccinvr<   s    r>   Útest_gammainccinvzTestCephes.test_gammainccinvZ  s   € Ü”V×(Ñ(¨¨1Ó-¨cÕ2rA   c                 ó.   — t        j                  d«       y )Nr  )r:   Úgammalnr<   s    r>   Útest_gammalnzTestCephes.test_gammaln]  s   € Ü�‰�rÕrA   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–   rV   gÍÌÌÌÌÌ@r…   rÕ   )r[   r   r   rÚ   r
  r   r:   Úgammasgn)r=   ÚvalsÚ	references      r>   Ú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°)Õ<rA   c                 óF   — t        t        j                  ddd«      d«       y r­   )r   r:   Úgdtrr<   s    r>   Ú	test_gdtrzTestCephes.test_gdtri  ó   € Ü”V—[‘[  1 QÓ'¨Õ,rA   c                 ób   — t        t        j                  ddt        j                  «      d«       y rç   )r   r:   rL  r[   r   r<   s    r>   Útest_gdtr_infzTestCephes.test_gdtr_infl  s   € Ü”V—[‘[  1¤R§V¡VÓ,¨SÕ1rA   c                 óF   — t        t        j                  ddd«      d«       y r±   )r   r:   Úgdtrcr<   s    r>   Ú
test_gdtrczTestCephes.test_gdtrco  ó   € Ü”V—\‘\ ! A aÓ(¨Õ-rA   c                 óF   — t        t        j                  ddd«      d«       y rº   )r   r:   Úgdtriar<   s    r>   Útest_gdtriazTestCephes.test_gdtriar  ó   € Ü”V—]‘] 1 Q qÓ)¨#Õ.rA   c                 ó2   — t        j                  ddd«       y ©NrV   r   )r:   Úgdtribr<   s    r>   Útest_gdtribzTestCephes.test_gdtribu  s   € Ü�‰�a˜˜!ÕrA   c                 ó2   — t        j                  ddd«       y ©NrV   r  )r:   Úgdtrixr<   s    r>   Útest_gdtrixzTestCephes.test_gdtrixy  s   € Ü�‰�a˜˜"ÕrA   c                 ó0   — t        j                  dd«       y rr   )r:   Úhankel1r<   s    r>   Útest_hankel1zTestCephes.test_hankel1|  ó   € Ü�‰�q˜ÕrA   c                 ó0   — t        j                  dd«       y rr   )r:   Úhankel1er<   s    r>   Útest_hankel1ezTestCephes.test_hankel1e  ó   € Ü�‰˜˜!ÕrA   c                 ó0   — t        j                  dd«       y rr   )r:   Úhankel2r<   s    r>   Útest_hankel2zTestCephes.test_hankel2‚  rd  rA   c                 ó0   — t        j                  dd«       y rr   )r:   Úhankel2er<   s    r>   Útest_hankel2ezTestCephes.test_hankel2e…  rh  rA   c                 óÔ   — t        t        j                  ddd«      t        d«      dd¬«       t        t        j                  ddd«      d	dd¬«       t        j                  ddd«       y )
NrV   r…   r©   r   rY   rŠ   rF   éúÿÿÿg¹ãˆ®š?)r   r:   Úhyp1f1r   r<   s    r>   Útest_hyp1f1zTestCephes.test_hyp1f1ˆ  sP   € ÜœŸ™ a¨¨AÓ.´°C³¸tÈ!ÕLÜœŸ™ a¨¨BÓ/Ð1HØ!¨õ	+ä�‰�a˜˜!ÕrA   c                 óH   — t        t        j                  dddd«      d«       y r±   )r   r:   Úhyp2f1r<   s    r>   Útest_hyp2f1zTestCephes.test_hyp2f1Ž  ó   € Ü”V—]‘] 1 Q q¨Ó+¨CÕ0rA   c                 óB   — t        t        j                  d«      d«       y rŸ   )r   r:   Úi0r<   s    r>   Útest_i0zTestCephes.test_i0‘  ó   € Ü”V—Y‘Y˜q“\ #Õ&rA   c                 óB   — t        t        j                  d«      d«       y rŸ   )r   r:   Úi0er<   s    r>   Útest_i0ezTestCephes.test_i0e”  r™   rA   c                 óB   — t        t        j                  d«      d«       y r•   )r   r:   Úi1r<   s    r>   Útest_i1zTestCephes.test_i1—  rz  rA   c                 óB   — t        t        j                  d«      d«       y r•   )r   r:   Úi1er<   s    r>   Útest_i1ezTestCephes.test_i1eš  r™   rA   c                 ó.   — t        j                  d«       y rr   )r:   Úit2i0k0r<   s    r>   Útest_it2i0k0zTestCephes.test_it2i0k0�  ó   € Ü�‰�qÕrA   c                 ó.   — t        j                  d«       y rr   )r:   Úit2j0y0r<   s    r>   Útest_it2j0y0zTestCephes.test_it2j0y0   r‡  rA   c                 ó.   — t        j                  d«       y rr   )r:   Ú
it2struve0r<   s    r>   Útest_it2struve0zTestCephes.test_it2struve0£  s   € Ü×Ñ˜!ÕrA   c                 ó.   — t        j                  d«       y rr   )r:   Úitairyr<   s    r>   Útest_itairyzTestCephes.test_itairy¦  ó   € Ü�‰�aÕrA   c                 óB   — t        t        j                  d«      d«       y r4  )r   r:   Úiti0k0r<   s    r>   Útest_iti0k0zTestCephes.test_iti0k0©  ó   € Ü”V—]‘] 1Ó% iÕ0rA   c                 óB   — t        t        j                  d«      d«       y r4  )r   r:   Úitj0y0r<   s    r>   Útest_itj0y0zTestCephes.test_itj0y0¬  r•  rA   c                 óB   — t        t        j                  d«      d«       y r•   )r   r:   Úitmodstruve0r<   s    r>   Útest_itmodstruve0zTestCephes.test_itmodstruve0¯  s   € Ü”V×(Ñ(¨Ó+¨CÕ0rA   c                 óB   — t        t        j                  d«      d«       y r•   )r   r:   Ú	itstruve0r<   s    r>   Útest_itstruve0zTestCephes.test_itstruve0²  s   € Ü”V×%Ñ% aÓ(¨Õ-rA   c                 óD   — t        t        j                  dd«      d«       y r­   )r   r:   Úivr<   s    r>   Útest_ivzTestCephes.test_ivµ  ó   € Ü”V—Y‘Y˜q “^ CÕ(rA   c                 óD   — t        t        j                  dd«      d«       y r­   )r   r:   Úiver<   s    r>   Útest_ivezTestCephes.test_ive¸  ó   € Ü”V—Z‘Z  !“_ SÕ)rA   c                 óB   — t        t        j                  d«      d«       y rŸ   )r   r:   Új0r<   s    r>   Útest_j0zTestCephes.test_j0»  rz  rA   c                 óB   — t        t        j                  d«      d«       y r•   )r   r:   Új1r<   s    r>   Útest_j1zTestCephes.test_j1¾  rz  rA   c                 óD   — t        t        j                  dd«      d«       y rŸ   )r   r:   Újnr<   s    r>   Útest_jnzTestCephes.test_jnÁ  r¢  rA   c                 óD   — t        t        j                  dd«      d«       y rŸ   )r   r:   Újvr<   s    r>   Útest_jvzTestCephes.test_jvÄ  r¢  rA   c                 óD   — t        t        j                  dd«      d«       y rŸ   )r   r:   Újver<   s    r>   Útest_jvezTestCephes.test_jveÇ  r¦  rA   c                 ó.   — t        j                  d«       y ©NrH   )r:   Úk0r<   s    r>   Útest_k0zTestCephes.test_k0Ê  ó   € Ü�	‰	�!�rA   c                 ó.   — t        j                  d«       y r·  )r:   Úk0er<   s    r>   Útest_k0ezTestCephes.test_k0eÍ  ó   € Ü�
‰
�1�rA   c                 ó.   — t        j                  d«       y r·  )r:   Úk1r<   s    r>   Útest_k1zTestCephes.test_k1Ð  rº  rA   c                 ó.   — t        j                  d«       y r·  )r:   Úk1er<   s    r>   Útest_k1ezTestCephes.test_k1eÓ  r¾  rA   c                 ó.   — t        j                  d«       y r·  )r:   Úkeir<   s    r>   Útest_keizTestCephes.test_keiÖ  r¾  rA   c                 óB   — t        t        j                  d«      d«       y r•   )r   r:   Úkeipr<   s    r>   Ú	test_keipzTestCephes.test_keipÙ  r�   rA   c                 ó.   — t        j                  d«       y r·  )r:   Úkerr<   s    r>   Útest_kerzTestCephes.test_kerÜ  r¾  rA   c                 ó.   — t        j                  d«       y r·  )r:   Úkerpr<   s    r>   Ú	test_kerpzTestCephes.test_kerpß  r@   rA   c                 ó.   — t        j                  d«       y r·  )r:   Úkelvinr<   s    r>   Útest_kelvinzTestCephes.test_kelvinâ  r‘  rA   c                 ó0   — t        j                  dd«       y rr   )r:   Úknr<   s    r>   Útest_knzTestCephes.test_knå  ó   € Ü�	‰	�!�A�rA   c                 óÀ   — t        t        j                  d«      d«       t        t	        j
                  t        j                  t        j                  «      «      «       y r¶   )r   r:   Úkolmogir   r[   r   r
  r<   s    r>   Útest_kolmogizTestCephes.test_kolmogiè  s3   € Ü”V—^‘^ AÓ& sÔ+Ü”—‘œŸ™¬¯©Ó/Ó0Õ1rA   c                 óB   — t        t        j                  d«      d«       y rŸ   )r   r:   Ú
kolmogorovr<   s    r>   Útest_kolmogorovzTestCephes.test_kolmogorovì  s   € Ü”V×&Ñ& qÓ)¨3Õ/rA   c                 óB   — t        t        j                  d«      d«       y )Nr   rF  )r   r:   Ú_kolmogpr<   s    r>   Útest_kolmogpzTestCephes.test_kolmogpï  s   € Ü”V—_‘_ QÓ'¨Õ.rA   c                 óB   — t        t        j                  d«      d«       y r•   )r   r:   Ú_kolmogcr<   s    r>   Útest_kolmogczTestCephes.test_kolmogcò  s   € Ü”V—_‘_ QÓ'¨Õ-rA   c                 óÀ   — t        t        j                  d«      d«       t        t	        j
                  t        j                  t        j                  «      «      «       y r•   )r   r:   Ú	_kolmogcir   r[   r   r
  r<   s    r>   Útest_kolmogcizTestCephes.test_kolmogciõ  s7   € Ü”V×%Ñ% aÓ(¨#Ô.Ü”—‘œ×)Ñ)¬"¯&©&Ó1Ó2Õ3rA   c                 ó0   — t        j                  dd«       y rr   )r:   Úkvr<   s    r>   Útest_kvzTestCephes.test_kvù  r×  rA   c                 ó0   — t        j                  dd«       y rr   )r:   Úkver<   s    r>   Útest_kvezTestCephes.test_kveü  ó   € Ü�
‰
�1�Q�rA   c                 ó&  — t         j                  }t         |d«      d«       t         |d«      t        j                   «       t         |d«      t        j
                  «       t         |t        j                  «      t        j                  «       y )Nr   r–   rK   éþÿÿÿ)r:   Úlog1pr   r[   r   r
  )r=   rð  s     r>   Ú
test_log1pzTestCephes.test_log1pÿ  sU   € Ü—‘ˆÜ‘U˜1“X˜sÔ#Ü‘U˜2“Y¤§¡ Ô(Ü‘U˜2“Y¤§¡Ô'Ü‘Uœ2Ÿ6™6“]¤B§F¡FÕ+rA   c           	      ó@  — t         j                  }t        }t         |d«      d«       t         | |dd«      «       |t        j
                   d«      «       t        j                  «       5  t        j                  ddt        «       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)
Nr  rK   r   Úignorez%invalid value encountered in multiplyrV   rH   rŠ   rF   )r:   rð  r  r   r[   r   ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr   r   r
  )r=   rð  Úcs      r>   Útest_log1p_complexzTestCephes.test_log1p_complex  sa  € Ü—‘ˆÜˆÜ‘U˜6“] FÔ+Ü‘U™1˜R ›8“_¡a¬¯©¨°£mÔ4Ü×$Ñ$Ó&ñ 	FÜ×#Ñ#ØÐAÄ>ôSä™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   rV   r…   )r   r:   Úlpmvr<   s    r>   Ú	test_lpmvzTestCephes.test_lpmv  rN  rA   c                 óx   — t        j                  g d¢«      }t        t        j                  |d«      |dz  «       y ©N)rV   rH   rÎ   r   rH   )r[   r   r   r:   Ú	mathieu_a©r=   Úms     r>   Útest_mathieu_a_q0zTestCephes.test_mathieu_a_q0  ó+   € ä�H‰H’YÓˆÜ”V×%Ñ% a¨Ó+¨Q°©TÕ2rA   z	m, q, ref))r   é   g�sà6¥6%À)rŠ   ç      ø?g:$ÜZøb"@)rÎ   ç      Ð?g5`VU 9@)r  éöÿÿÿgÈq^ÌA3P@c                 óL   — t        j                  ||«      }t        ||d¬«       y ©NrÒ   rO   )r:   rÿ  r   ©r=   r  ÚqÚrefr  s        r>   Útest_mathieu_azTestCephes.test_mathieu_a$  ó"   € ô ×Ñ˜Q Ó"ˆÜ˜˜3 UÖ+rA   c                 óx   — t        j                  g d¢«      }t        t        j                  |d«      |dz  «       y rþ  )r[   r   r   r:   Ú	mathieu_br   s     r>   Útest_mathieu_b_q0zTestCephes.test_mathieu_b_q0/  r  rA   ))rV   rz   gÛ*|2Tƒ6À)rÎ   rŠ   gkBvä/9@)é	   r  gÅgf@T@)r  éýÿÿÿg‘ôèY@c                 óL   — t        j                  ||«      }t        ||d¬«       y r	  )r:   r  r   r
  s        r>   Útest_mathieu_bzTestCephes.test_mathieu_b6  r  rA   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 )NrV   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ž æ?rV   r„   rH   r  rŠ   rF   é   r  )r[   r   r
   ©r  r  r  s      r>   Ú	ce_smallqz.TestCephes.test_mathieu_cem.<locals>.ce_smallqE  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ÐUrA   éd   éâÿÿÿé÷ÿÿÿr  ç°rh‘í|¿?ç›+¡†›„=©rP   rZ   )	r   r:   Úmathieu_cemr[   r{   r   r   rn   r   )r=   r  r  r  s       r>   Útest_mathieu_cemzTestCephes.test_mathieu_cemA  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¸Ó>Ø"¨ö	,rA   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 )NrV   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 )Nr  rV   r  rŠ   rH   rF   r  )r[   r   r	   r  s      r>   Ú	se_smallqz.TestCephes.test_mathieu_sem.<locals>.se_smallq^  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ÐUrA   r  r  r  r  r   r!  r"  )	r   r:   Úmathieu_semr[   r{   r   r   rn   r   )r=   r(  r  r  s       r>   Útest_mathieu_semzTestCephes.test_mathieu_semZ  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¸Ó>Ø"¨ö	,rA   c                 óF   — t        t        j                  ddd«      d«       y ©NrV   r   r5  )r   r:   Úmathieu_modcem1r<   s    r>   Útest_mathieu_modcem1zTestCephes.test_mathieu_modcem1p  ó   € Ü”V×+Ñ+¨A¨a°Ó2°9Õ=rA   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 )
NrV   r   rF   rï  rH   r  rJ   rX   rO   )	r:   Úmathieu_modcem2r[   r   r   rn   Úlinspacer-  r   ©r=   r  r  r  Úy1ÚfrÚy2s          r>   Útest_mathieu_modcem2zTestCephes.test_mathieu_modcem2s  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Ö+rA   c                 óF   — t        t        j                  ddd«      d«       y r,  )r   r:   Úmathieu_modsem1r<   s    r>   Útest_mathieu_modsem1zTestCephes.test_mathieu_modsem1ƒ  r/  rA   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 )
NrV   rF   rï  rH   r  r   rJ   rX   rO   )	r:   Úmathieu_modsem2r[   r   r   rn   r2  r9  r   r3  s          r>   Ú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Ö+rA   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  )
r   r:   r#  r[   r
  r)  r-  r9  r1  r<  r<   s    r>   Ú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ÕOrA   c                 ó–   — t        d«      D ];  }t        j                  ddd«      }t        |d   dd¬«       t        |d	   d
d¬«       Œ= y )Né<   rH   r  rK   r   g.ød‰SÂ?rX   rO   rV   gà§GcÛì?ç-Cëâ6?)rt   r:   r<  r   )r=   re   Úvs      r>   Ú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rA   c                 ó.   — t        j                  d«       y r9   )r:   Úmodfresnelmr<   s    r>   Útest_modfresnelmzTestCephes.test_modfresnelm¨  ó   € Ü×Ñ˜1ÕrA   c                 ó.   — t        j                  d«       y r9   )r:   Úmodfresnelpr<   s    r>   Útest_modfresnelpzTestCephes.test_modfresnelp«  rI  rA   c                 óD   — t        t        j                  dd«      d«       y r­   )r   r:   Ú	modstruver<   s    r>   Útest_modstruvezTestCephes.test_modstruve®  rí   rA   c                 óF   — t        t        j                  ddd«      d«       y rç   )r   r:   Únbdtrr<   s    r>   Ú
test_nbdtrzTestCephes.test_nbdtr±  rT  rA   c                 óF   — t        t        j                  ddd«      d«       y r¶   )r   r:   Únbdtrcr<   s    r>   Útest_nbdtrczTestCephes.test_nbdtrc´  rX  rA   c                 óF   — t        t        j                  ddd«      d«       y rç   )r   r:   Únbdtrir<   s    r>   Útest_nbdtrizTestCephes.test_nbdtri·  rX  rA   c                 ó2   — t        j                  ddd«       y )NrV   rI   r„   )r:   Únbdtrikr<   s    r>   Útest_nbdtrikzTestCephes.test_nbdtrikº  s   € Ü�‰�q˜˜BÕrA   c                 óH   — t        t        j                  dddd«      d«       y r­   )r   r:   Úncfdtrr<   s    r>   Útest_ncfdtrzTestCephes.test_ncfdtr½  rv  rA   c                 óÄ   — t        t        j                  dddd«      d«       g d¢}t        j                  ddd|«      }t	        t        j                  ddd|«      |«       y )NrV   r   r–   )r„   rV   r  rH   rŠ   r  )r   r:   Úncfdtrir]  r   )r=   Úfr&  s      r>   Útest_ncfdtrizTestCephes.test_ncfdtriÀ  sM   € Ü”V—^‘^ A q¨!¨QÓ/°Ô5ÚˆÜ�M‰M˜!˜Q  QÓ'ˆÜœŸ™ q¨!¨S°!Ó4°aÕ8rA   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©rV   rH   rŠ   rH   r  rz   )r:   r]  r   Ú
ncfdtridfd)r=   r*  r&  s      r>   Útest_ncfdtridfdzTestCephes.test_ncfdtridfdÆ  s8   € ò ˆÜ�M‰M˜!˜S $¨Ó+ˆÜœ×)Ñ)¨!¨Q°°bÓ9¸3Õ?rA   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)r  rV   rH   rŠ   g     ˆÃ@rH   r  rz   gñhãˆµøä>rO   )r:   r]  r   Ú
ncfdtridfn)r=   r+  r&  s      r>   Útest_ncfdtridfnzTestCephes.test_ncfdtridfnÑ  s:   € ò "ˆÜ�M‰M˜#˜q $¨Ó+ˆÜœ×)Ñ)¨!¨Q°°bÓ9¸3ÀTÖJrA   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  ç       @rH   rŠ   rz   )r:   r]  r   Ú	ncfdtrinc)r=   Úncr&  s      r>   Útest_ncfdtrinczTestCephes.test_ncfdtrincÜ  s8   € ò ˆÜ�M‰M˜!˜Q  BÓ'ˆÜœ×(Ñ(¨¨A¨q°"Ó5°rÕ:rA   c           	      óX  — t        t        j                  ddd«      d«       t        t        j                  ddd«      d«       t        t        j                  t        j
                  dd«      dd	d¬
«       t        t	        j                  t        j                  dt        j
                  d«      «      «       t        t        j                  ddt        j
                  «      dd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 )NrV   r   r„   r  i   rÆ   r–   r…   rC  rY   rk  ç      $@r©   )	r   r:   Únctdtrr   r[   r   r   r   r
  r<   s    r>   Útest_nctdtrzTestCephes.test_nctdtrç  sö   € Ü”V—]‘] 1 Q qÓ)¨#Ô.Ü”V—]‘] 1 e¨RÓ0°#Ô6äœŸ™¤b§f¡f¨b°"Ó5°sÀÈAÕNÜ”—‘œŸ™ r¬2¯6©6°3Ó7Ó8Ô9ÜœŸ™ b¨"¬b¯f©fÓ5°rÀÈ1ÕMä”—‘œŸ™¤r§v¡v¨r°2Ó6Ó7Ô8Ü”—‘œŸ™ r¬2¯6©6°2Ó6Ó7Ô8Ü”—‘œŸ™ r¨2¬r¯v©vÓ6Ó7Õ8rA   c                 ó2   — t        j                  ddd«       y )NrV   r„   r   )r:   Ú	nctdtridfr<   s    r>   Útest_nctdtridfzTestCephes.test_nctdtridfó  s   € Ü×Ñ˜˜3˜qÕ!rA   c                 ó2   — t        j                  ddd«       y rZ  )r:   Ú	nctdtrincr<   s    r>   Útest_nctdtrinczTestCephes.test_nctdtrincö  s   € Ü×Ñ˜˜1˜QÕrA   c                 ó2   — t        j                  ddd«       y )Nr  rÖ   r„   )r:   Únctdtritr<   s    r>   Útest_nctdtritzTestCephes.test_nctdtritù  s   € Ü�‰˜˜3˜rÕ"rA   c                 óL   — t        t        j                  ddd«      ddd¬«       y )Nr„   rV   r…   r©   r   rY   )r   r:   Únrdtrimnr<   s    r>   Útest_nrdtrimnzTestCephes.test_nrdtrimnü  s   € ÜœŸ™¨¨Q°Ó2°C¸dÈÖKrA   c                 ó4   — t        j                  dddd«       y rZ  )r:   Úobl_ang1r<   s    r>   Útest_obl_ang1zTestCephes.test_obl_ang1ÿ  ó   € Ü�‰˜˜!˜A˜aÕ rA   c                 ó~   — t        j                  ddddd«      }t        |d   ddd¬«       t        |d   ddd¬«       y )NrV   r   r…   rÇ   rY   r–   )r:   Úobl_ang1_cvr   )r=   Úresults     r>   Útest_obl_ang1_cvzTestCephes.test_obl_ang1_cv  s>   € Ü×#Ñ# A a¨¨!¨AÓ.ˆÜ˜˜q™	 3¨V¸!Õ<Ü˜˜q™	 3¨V¸!Ö<rA   c                 óF   — t        t        j                  ddd«      d«       y ©NrV   r   rk  )r   r:   Úobl_cvr<   s    r>   Útest_obl_cvzTestCephes.test_obl_cv  rX  rA   c                 ó4   — t        j                  dddd«       y rZ  )r:   Úobl_rad1r<   s    r>   Útest_obl_rad1zTestCephes.test_obl_rad1
  r‚  rA   c                 ó6   — t        j                  ddddd«       y rZ  )r:   Úobl_rad1_cvr<   s    r>   Útest_obl_rad1_cvzTestCephes.test_obl_rad1_cv  ó   € Ü×Ñ˜1˜Q˜q  1Õ%rA   c                 ó4   — t        j                  dddd«       y rZ  )r:   Úobl_rad2r<   s    r>   Útest_obl_rad2zTestCephes.test_obl_rad2  r‚  rA   c                 ó6   — t        j                  ddddd«       y rZ  )r:   Úobl_rad2_cvr<   s    r>   Útest_obl_rad2_cvzTestCephes.test_obl_rad2_cv  r‘  rA   c                 óD   — t        t        j                  dd«      d«       y )NrV   r   r&  )r   r:   Úpbdvr<   s    r>   Ú	test_pbdvzTestCephes.test_pbdv  s   € Ü”V—[‘[  1Ó% iÕ0rA   c                 ó0   — t        j                  dd«       y rZ  )r:   Úpbvvr<   s    r>   Ú	test_pbvvzTestCephes.test_pbvv  ó   € Ü�‰�A�aÕrA   c                 ó0   — t        j                  dd«       y rZ  )r:   Úpbwar<   s    r>   Ú	test_pbwazTestCephes.test_pbwa  rž  rA   c                 óÀ   — t        j                  dd«      }t        |t        j                  d«      dd¬«       t        j                  g d¢d«      }t        |g d¢«       y )Nr   rV   rK   rÇ   rY   ©r   rV   rH   )rV   rV   rV   )r:   Úpdtrr   r[   r   r   ©r=   Úvals     r>   Ú	test_pdtrzTestCephes.test_pdtr  sB   € Ü�k‰k˜!˜QÓˆÜ˜œRŸV™V B›Z¨f¸1Õ=ä�k‰kš) QÓ'ˆÜ˜3¢	Õ*rA   c                 óÆ   — t        j                  dd«      }t        |dt        j                  d«      z
  dd¬«       t        j                  g d¢d«      }t        |g d¢«       y )	Nr   rV   rK   rÇ   rY   r£  r–   )r   r   r   )r:   Úpdtrcr   r[   r   r   r¥  s     r>   Ú
test_pdtrczTestCephes.test_pdtrc&  sF   € Ü�l‰l˜1˜aÓ ˆÜ˜˜Q¤§¡¨£™^°&¸qÕAä�l‰lš9 cÓ*ˆÜ˜3¢	Õ*rA   c                 ó¼   — t        j                  «       5  d}t        j                  d|t        «       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õ  rö  r÷  r:   Úpdtri©r=   Úmsgs     r>   Ú
test_pdtrizTestCephes.test_pdtri-  sH   € Ü×$Ñ$Ó&ñ 	"ØAˆCÜ×#Ñ# H¨c´>ÔBÜ�L‰L˜˜SÔ!÷	"÷ 	"ñ 	"ús   •4AÁAc                 ó4   — t        j                  dddd«       y rZ  )r:   Úpro_ang1r<   s    r>   Útest_pro_ang1zTestCephes.test_pro_ang14  r‚  rA   c           	      ób   — t        t        j                  ddddd«      t        d«      dd¬«       y )NrV   r   r  rÇ   rY   )r   r:   Úpro_ang1_cvr   r<   s    r>   Útest_pro_ang1_cvzTestCephes.test_pro_ang1_cv7  s+   € Üœ×*Ñ*¨1¨a°°A°qÓ9¼5ÀÓ;LØ#¨!ö	-rA   c                 óF   — t        t        j                  ddd«      d«       y rˆ  )r   r:   Úpro_cvr<   s    r>   Útest_pro_cvzTestCephes.test_pro_cv;  rX  rA   c                 ó4   — t        j                  dddd«       y r^  )r:   Úpro_rad1r<   s    r>   Útest_pro_rad1zTestCephes.test_pro_rad1>  s   € Ü�‰˜˜!˜A˜cÕ"rA   c                 ó6   — t        j                  ddddd«       y rZ  )r:   Úpro_rad1_cvr<   s    r>   Útest_pro_rad1_cvzTestCephes.test_pro_rad1_cvA  r‘  rA   c                 ó4   — t        j                  dddd«       y rZ  )r:   Úpro_rad2r<   s    r>   Útest_pro_rad2zTestCephes.test_pro_rad2D  r‚  rA   c                 ó6   — t        j                  ddddd«       y rZ  )r:   Úpro_rad2_cvr<   s    r>   Útest_pro_rad2_cvzTestCephes.test_pro_rad2_cvG  r‘  rA   c                 ó.   — t        j                  d«       y rr   )r:   Úpsir<   s    r>   Útest_psizTestCephes.test_psiJ  r¾  rA   c                 óF   — t        t        j                  ddd«      d«       y r9   )r   r:   Úradianr<   s    r>   Útest_radianzTestCephes.test_radianM  s   € Ü”V—]‘] 1 Q qÓ)¨!Õ,rA   c                 óB   — t        t        j                  d«      d«       y rç   )r   r:   Úrgammar<   s    r>   Útest_rgammazTestCephes.test_rgammaP  ré   rA   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@ç      @ç333333Àç      ÀgÍÌÌÌÌÌ@r  gÍÌÌÌÌÌÀg      Àç      @rE  )r   r:   Úroundr<   s    r>   Ú
test_roundzTestCephes.test_roundS  st   € Ü”V—\‘\ #Ó& sÔ+Ü”V—\‘\ $Ó'¨Ô-Ü”V—\‘\ #Ó& sÔ+Ü”V—\‘\ $Ó'¨Ô-Ü”V—\‘\ #Ó& sÔ+Ü”V—\‘\ $Ó'¨Õ-rA   c                 ó.   — t        j                  d«       y rr   )r:   Úshichir<   s    r>   Útest_shichizTestCephes.test_shichi[  r‘  rA   c                 ó¦  — t        j                  d«       t        j                  t        j                  «      \  }}t	        |t        j
                  dz  dd¬«       t	        |ddd¬«       t        j                  t        j                   «      \  }}t	        |t        j
                   dz  dd¬«       t        t        j                  |«      d«       y )NrV   r„   rÇ   r   rY   z cosine integral(-inf) is not nan)r:   Úsicir[   r   r   r   r   r   )r=   Úsrø  s      r>   Ú	test_sicizTestCephes.test_sici^  sŠ   € Ü�‰�AŒä�{‰{œ2Ÿ6™6Ó"‰ˆˆ1Ü˜œ2Ÿ5™5 3™;¨V¸!Õ<Ü˜˜1 6°Õ2ä�{‰{œBŸF™F˜7Ó#‰ˆˆ1Ü˜œBŸE™E˜6 C™<¨f¸1Õ=Ü”—‘˜“Ð?Õ@rA   c                 óB   — t        t        j                  d«      d«       y ©NéZ   r…   )r   r:   Úsindgr<   s    r>   Ú
test_sindgzTestCephes.test_sindgi  ó   € Ü”V—\‘\ "Ó% cÕ*rA   c                 óÄ   — t        t        j                  dd«      d«       t        t	        j
                  t        j                  dt        j                  «      «      «       y )NrV   r  çÍÌÌÌÌÌì?)r   r:   Úsmirnovr   r[   r   r
  r<   s    r>   Útest_smirnovzTestCephes.test_smirnovl  s7   € Ü”V—^‘^ A bÓ)¨#Ô.Ü”—‘œŸ™¨¬"¯&©&Ó1Ó2Õ3rA   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 )	NrV   r  rK   rH   ç      è?ç      à¿rŠ   g      È¿)r   r:   Ú	_smirnovpr   r[   r   r
  r<   s    r>   Útest_smirnovpzTestCephes.test_smirnovpp  sk   € Ü”V×%Ñ% a¨Ó,¨bÔ1Ü”V×%Ñ% a¨Ó.Ð0@ÔAÜ”V×%Ñ% a¨Ó.Ð0@ÔAÜ”—‘œ×)Ñ)¨!¬R¯V©VÓ4Ó5Õ6rA   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
  dd¬	«       t	        j                  ddd
d¬«      }t        t        j                  d|«      dt        j                  d|«      z
  dd¬	«       y )NrV   r  r   r  T©ÚendpointrŠ   rÇ   rY   rÎ   rF   )
r   r:   Ú	_smirnovcr   r[   r   r
  r2  r   ræ  )r=   Úx10Úx4s      r>   Útest_smirnovczTestCephes.test_smirnovcv  s¿   € Ü”V×%Ñ% a¨Ó+¨CÔ0Ü”—‘œ×)Ñ)¨!¬B¯F©FÓ3Ó4Ô5Ü�k‰k˜!˜Q ¨TÔ2ˆÜœ×(Ñ(¨¨CÓ0°!´f·n±nÀQÈÓ6LÑ2LØ#¨!õ	-ä�[‰[˜˜A˜q¨4Ô0ˆÜœ×(Ñ(¨¨BÓ/°´V·^±^ÀAÀrÓ5JÑ1JØ#¨!ö	-rA   c           	      ó`  — t        t        j                  dt        j                  dd«      «      ddd¬«       t        t        j                  dt        j                  dd«      «      ddd¬«       t	        t        j                  t        j                  dt
        j                  «      «      «       y ©NrV   rI   rÇ   r   rY   ç333333ã?)r   r:   ræ  Úsmirnovir   r[   r   r
  r<   s    r>   Útest_smirnovizTestCephes.test_smirnovi€  sp   € ÜœŸ™ q¬&¯/©/¸!¸SÓ*AÓBÀCØ#¨!õ	-äœŸ™ q¬&¯/©/¸!¸SÓ*AÓBÀCØ#¨!õ	-ä”—‘œŸ™¨¬2¯6©6Ó2Ó3Õ4rA   c           	      ó`  — t        t        j                  dt        j                  dd«      «      ddd¬«       t        t        j                  dt        j                  dd«      «      ddd¬«       t	        t        j                  t        j                  dt
        j                  «      «      «       y rõ  )r   r:   rð  Ú
_smirnovcir   r[   r   r
  r<   s    r>   Útest_smirnovcizTestCephes.test_smirnovci‡  sz   € Üœ×(Ñ(¨¬F×,=Ñ,=¸aÀÓ,EÓFÈØ#¨!õ	-äœ×(Ñ(¨¬F×,=Ñ,=¸aÀÓ,EÓFÈØ#¨!õ	-ä”—‘œ×*Ñ*¨1¬R¯V©VÓ4Ó5Õ6rA   c                 óB   — t        t        j                  d«      d«       y r¶   )r   r:   Úspencer<   s    r>   Útest_spencezTestCephes.test_spenceŽ  ré   rA   c                 óÐ   — t        t        j                  dd«      d«       t        t        j                  dd«      ddd¬«       t        t        j                  dd«      ddd¬«       y )	NrV   r   r„   ré  rÇ   rY   rH   gMo˜¸þFë?)r   r:   Ústdtrr   r<   s    r>   Ú
test_stdtrzTestCephes.test_stdtr‘  sI   € Ü”V—\‘\ ! AÓ& sÔ+ÜœŸ™ Q¨Ó*¨D°vÀAÕFÜœŸ™ Q¨Ó*¨NÀÈaÖPrA   c                 ó0   — t        j                  dd«       y )Nçffffffæ?rV   )r:   Ústdtridfr<   s    r>   Útest_stdtridfzTestCephes.test_stdtridf–  s   € Ü�‰˜˜AÕrA   c                 ó0   — t        j                  dd«       y )NrV   r  )r:   Ústdtritr<   s    r>   Útest_stdtritzTestCephes.test_stdtrit™  s   € Ü�‰�q˜ÕrA   c                 óD   — t        t        j                  dd«      d«       y r•   )r   r:   Ústruver<   s    r>   Útest_struvezTestCephes.test_struveœ  r´   rA   c                 óB   — t        t        j                  d«      d«       y )NrÆ   r…   )r   r:   Útandgr<   s    r>   Ú
test_tandgzTestCephes.test_tandgŸ  rã  rA   c                 óJ   — t        t        j                  dd«      ddd¬«       y )NrV   r…   rÇ   r   rY   )r   r:   Útklmbdar<   s    r>   Útest_tklmbdazTestCephes.test_tklmbda¢  s   € ÜœŸ™ q¨!Ó,¨c¸ÀQÖGrA   c                 ó.   — t        j                  d«       y rr   )r:   Úy0r<   s    r>   Útest_y0zTestCephes.test_y0¥  rº  rA   c                 ó.   — t        j                  d«       y rr   )r:   r4  r<   s    r>   Útest_y1zTestCephes.test_y1¨  rº  rA   c                 ó0   — t        j                  dd«       y rr   )r:   Úynr<   s    r>   Útest_ynzTestCephes.test_yn«  r×  rA   c                 ó0   — t        j                  dd«       y rr   )r:   Úyvr<   s    r>   Útest_yvzTestCephes.test_yv®  r×  rA   c                 ó0   — t        j                  dd«       y rr   )r:   Úyver<   s    r>   Útest_yvezTestCephes.test_yve±  rí  rA   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ö  rk  rÕ   r…   g      "Àg      "@g†4×µ/Y¾gï8EGrùñ?rÓ  gffffff@iËÿÿÿgš™™™™>@r–   g|ò°Pkš¿?r  rV   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é<rN   rO   )r  r1   r:   Úwofz)r=   r  Úws      r>   Ú	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¨!°%Ö8rA   N)¶Ú__name__Ú
__module__Ú__qualname__r?   rD   ri   ro   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  ÚpytestÚmarkÚxfailr  r   r#  r'  r,  r.  r2  r7  r<  r?  rB  rJ  rM  rP  rS  rW  r\  r`  rc  rg  rk  rn  rr  ru  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  Úparametrizer  r  r  r$  r*  r.  r7  r:  r=  r@  rE  rH  rL  rO  rR  rU  rX  r[  r^  rb  rf  ri  rn  rr  ru  rx  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   r>   r7   r7   :   sn  „ òòò2ò.2ò*ò.Gò,/ò0ò0òò(ò)ò(ò)ò3ò@ò,ò-ò-ò1ò*ò*òDòAòRò2Nò
+ò0òò)ò0ò)ò:ò*òCò)ò3òNð& ‡[�[×ÑÐMÐÓNñFó OðFò($ò$ò@òYò
4ò1ò2ò+ò3òò=ò-ò2ò.ò/òòòòòòòò1ò'ò(ò'ò(òòòòò1ò1ò1ò.ò)ò*ò'ò'ò)ò)ò*òòòòòò)òòòòò2ò0ò/ò.ò4òòò,òFò(-ò3ð ‡[�[×ÑØò	.óñ,óð,ò3ð ‡[�[×ÑØò	,óñ,óð,ò,ò2,ò,>ò,ò >ò,ò	PòGòòò0ò.ò/ò/ò ò1ò9ð ‡[�[×ÑðIð ó ñ@óð@ð
 ‡[�[×ÑðIð ó ñKóðKð
 ‡[�[×ÑðIð ó ñ;óð;ò

9ò"ò ò#òLò!ò=ò
/ò!ò&ò!ò&ò1òòò+ò+ò"ò!ò-ò/ò#ò&ò!ò&òò-ò+ò.òò	Aò+ò4ò7ò-ò5ò7ò+òQò
òò-ò+òHòòòòòó*9rA   r7   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d¬«       t        j                  d«      }t        |t        g d¢«      dd¬«       t        j                  d«      }t        |t        g d	¢«      dd¬«       y )
Nç®Gáz®ï?)g*÷é¢…Á?gTk'kP‹Ä¿gñe¢©+ó?gýyC¯ytí?ç+i¤)+P>r   rY   g=
×£p=Ú?)g‚'Ý$'Ð?ge«ªÎ¿g›‰LÐÑé?gæ
ŒHVVà?g
×£p=
×¿)gl@ÆÔD|Ü?gVƒ¬~×­Í¿gU–¬äÂÜ?g¨3{É”ÉÞ?)r   r;   r   r   rü   s     r>   r?   zTestAiry.test_airyâ  ss   € ô �L‰L˜ÓˆÜ˜œ5Ò!RÓSØ#¨!õ	-ä�L‰L˜ÓˆÜ˜œ5Ò!QÓRØ#¨!õ	-ä�L‰L˜ÓˆÜ˜œ5Ò!OÓPØ#¨!ö	-rA   c                 ój  — 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d¬«       y )Nç{®Gáz„?rF   rH   gNè´�N{?çTäqs*¹>r   rY   )	r   rC   r;   rt   r   r   Úabsr   r   )r=   ÚaÚbÚb1rd   s        r>   rD   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ä˜˜2 F°Ö3rA   c                 óÂ  — t        j                  d«      }t        ddg«      t        ddg«      t        ddg«      t        dd	g«      f}t        ||d
d¬«       t        j                  d«      }t        |d   t        g d¢«      dd¬«       t        |d   t        g d¢«      dd¬«       t        |d   t        g d¢«      dd¬«       t        |d   t        g d¢«      dd¬«       y )NrH   g‘†lƒ‡Çò¿goe‰Î2+
Àg(õá0[Àg Xü*éJÀgõUfÏÝ¿gË°zU¡`Ù?g4Ðc1=Cã?gó¿CîuTè¿ça2U0*©#?r   rY   rÎ   )g²&„‡Çò¿g(Æ.÷2+
Àg²óÕð¬RÀg}þ`·í­Àg¯%ëÍ�Àçpé~°=rV   )g7Ç;1[ÀgÛeì*éJÀg”Vw±Àg˜L¸¦ Àg<€É3¾ÂÀçLÎaã§�ä=)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   )r=   ÚbiÚbias      r>   Útest_bi_zeroszTestAiry.test_bi_zerosù  s÷   € Ü×Ñ˜aÓ ˆÜ�k :Ð.Ó/Ü�k ;Ð/Ó0Ü�k :Ð.Ó/Ü�j +Ð.Ó/ð1ˆô 	˜˜C f°1Õ5ä×Ñ˜aÓ ˆÜ˜˜1™œuò &:ó  ;ð
 %¨1õ	.ô 	˜˜1™œuò &:ó  ;ð
 %¨1õ	.ô 	˜˜1™œuò &:ó  ;ð
 %¨1õ	.ô 	˜˜1™œuò &9ó  :ð
 %¨1ö	.rA   c           	      ó¤   — t        j                  d«      }t        |t        dg«      t        dg«      t        dg«      t        dg«      fdd¬«       y )	NrV   gÒác¨q´Àg!·xÛùLð¿gMóŽSt$á?g ‘~û:pæ?r<  r   rY   )r   Úai_zerosr   r   )r=   Úais     r>   Útest_ai_zeroszTestAiry.test_ai_zeros  sM   € Ü×Ñ˜aÓ ˆÜ˜œU K =Ó1Ü" K =Ó1Ü" F 8›_Ü" F 8›_ð.ð $¨!ö		-rA   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 )Nr)  rV   r  rX   rO   r   rY   rL   )gÞu¨q´Àg‹qHkZÀg4µ¢Àg™é9Î–%ÀgB™~ôÊÆÀgÌL„ä˜"À)g ªæÛùLð¿gQö“Oü	ÀgMQnÈGÀg3þ:§Àg)Ê}Àg¥æîú À)r   rD  r;   r7  r   )r=   r  ÚzpÚai_zpxÚaip_zxÚai_zÚaip_zÚ_Úai_zpÚaip_zpÚai_envelopeÚaip_envelopes               r>   Útest_ai_zeros_bigzTestAiry.test_ai_zeros_big&  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rA   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 )Nr)  rV   r  rX   rO   r   rY   rL   )gx&„‡Çò¿gg†-÷2+
ÀgÁšÖð¬RÀggÑ`·í­Àgu•%ëÍ�Àg{¸àû À)g K;1[ÀgÂáì*éJÀg¬¯Vw±Àg<w¸¦ Àgd
Ê3¾ÂÀg/{Ô
"À)r   r?  r;   r7  r   )r=   r  rH  Úbi_zpxÚbip_zxrM  Úbi_zÚbip_zÚbi_zpÚbip_zpÚbi_envelopeÚbip_envelopes               r>   Útest_bi_zeros_bigzTestAiry.test_bi_zeros_big?  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rA   N)r'  r(  r)  r?   rD   rB  rF  r*  r+  Ú	fail_slowrR  r\  r.  rA   r>   r0  r0  á  sa   „ ò-ò4ò#.òJ-ð ‡[�[×Ñ˜1ÓñGó ðGð0 ‡[�[×Ñ˜1ÓñGó ñGrA   r0  c                   ó   — e Zd Zd„ Zy)ÚTestAssocLaguerrec                 óà   — t        j                  dd«      }t        j                  ddd«      }t        | |d«      dd¬«       t        j                  ddd«      }t        | |d«      dd¬«       y )Nr  rV   rÖ   r3  r   rY   )r   ÚgenlaguerreÚassoc_laguerrer   )r=   Úa1Úa2s      r>   Útest_assoc_laguerrez%TestAssocLaguerre.test_assoc_laguerreZ  s`   € Ü× Ñ   AÓ&ˆÜ×#Ñ# B r¨!Ó,ˆÜ˜™B˜r›F¨°aÕ8Ü×#Ñ# A b¨Ó+ˆÜ˜™B˜q›E¨°QÖ7rA   N)r'  r(  r)  re  r.  rA   r>   r_  r_  Y  s   „ ó8rA   r_  c                   ó   — e Zd Zd„ Zy)ÚTestBesselpolyc                  ó   — y ©Nr.  r<   s    r>   r§   zTestBesselpoly.test_besselpolyc  ó   € ØrA   N)r'  r(  r)  r§   r.  rA   r>   rg  rg  b  s   „ órA   rg  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                 óL   — t        j                  d«      }t        |ddd¬«       y )NrH   gŠ�®Tï?çiUMuï>r   rY   )r   r—   r   )r=   Úmbeis     r>   r˜   zTestKelvin.test_beih  s   € Ü�{‰{˜1‹~ˆä˜Ð0°vÀAÖFrA   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrH   gDïî,Xí?rn  r   rY   )r   r›   r   )r=   Úmbeips     r>   rœ   zTestKelvin.test_beipm  s   € Ü—‘˜Q“ˆä˜Ð2¸ÀaÖHrA   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrH   g¦PAØ4è?rn  r   rY   )r   r    r   )r=   Úmbers     r>   r¡   zTestKelvin.test_berr  s   € Ü�{‰{˜1‹~ˆä˜Ð1¸ÀQÖGrA   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrH   gß×iiŽß¿rn  r   rY   )r   r£   r   )r=   Úmberps     r>   r¤   zTestKelvin.test_berpw  s   € Ü—‘˜Q“ˆä˜Ð3¸&ÀqÖIrA   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÎ   ©g&jjÙ@gðŠà+é"@g(›r…wÉ+@g¡„™¶U2@gŸ`<ƒÆ6@r<  r   rY   )r   Ú	bei_zerosr   r   )r=   r@  s     r>   Útest_bei_zeroszTestKelvin.test_bei_zeros|  s/   € ä×Ñ˜qÓ!ˆÜ˜œEò #-ó .ð
 $¨!ö	-rA   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÎ   )g¼€yWo.@gâ•²£Ý� @g× �Âú{)@g¡K¾„11@g›Wc"¤5@r3  r   rY   )r   Ú
beip_zerosr   r   )r=   Úbips     r>   Útest_beip_zeroszTestKelvin.test_beip_zeros†  s/   € Ü× Ñ  Ó#ˆÜ˜œUò $8ó 9ð
 $¨!ö	-rA   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÎ   ©gÑ\§‘–Ê@gø6ýÙ�ô@gÓŸýHY'@g>"¦D0@ggaO;ü�4@r<  r   rY   )r   Ú	ber_zerosr   r   )r=   r    s     r>   Útest_ber_zeroszTestKelvin.test_ber_zeros�  ó/   € Ü×Ñ Ó"ˆÜ˜œUò $.ó /ð
 $¨!ö	-rA   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÎ   ©gÖ ˜£'@g»ÕsÒû%@gÇF ^×ï-@g´vÛ…æj3@gÌîÉÃBÝ7@r<  r   rY   )r   Ú
berp_zerosr   r   )r=   Úbrps     r>   Útest_berp_zeroszTestKelvin.test_berp_zeros˜  s/   € Ü× Ñ  Ó#ˆÜ˜œUò $.ó /ð
 $¨!ö	-rA   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d¬«       y )NrH   r  r3  r   rY   )r   rÒ  r   r    r—   rÌ  rÆ  r£   r›   rÏ  rÉ  )r=   Úmkelvs     r>   rÓ  zTestKelvin.test_kelvin¡  sš   € Ü—‘˜qÓ!ˆÜ˜¤§¡¨A£´·±¸Q³ÀÑ1BÑ BÜ '§¡¨A£´·±¸Q³ÀÑ1BÑ BÜ '§¡¨Q£´'·,±,¸q³/À"Ñ2DÑ DÜ '§¡¨Q£´'·,±,¸q³/À"Ñ2DÑ Dð Fð $¨!ö		-rA   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrH   g¬øàÓ>èÉ¿rn  r   rY   )r   rÆ  r   )r=   Úmkeis     r>   rÇ  zTestKelvin.test_kei©  s   € Ü�{‰{˜1‹~ˆÜ˜Ð2¸ÀaÖHrA   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrH   grß@dª"Ì?rn  r   rY   )r   rÉ  r   )r=   Úmkeips     r>   rÊ  zTestKelvin.test_keip­  s   € Ü—‘˜Q“ˆÜ˜Ð2¸ÀaÖHrA   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrH   gÜ™þU¥¿rn  r   rY   )r   rÌ  r   )r=   Úmkers     r>   rÍ  zTestKelvin.test_ker±  s   € Ü�{‰{˜1‹~ˆÜ˜Ð3¸&ÀqÖIrA   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrH   gº^.n3J»¿rn  r   rY   )r   rÏ  r   )r=   Úmkerps     r>   rÐ  zTestKelvin.test_kerpµ  s   € Ü—‘˜Q“ˆÜ˜Ð3¸&ÀqÖIrA   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÎ   ©gþE�>Q@gB•š=° @gÆPN´«�)@gðmú³91@g
�×Ø%ª5@r<  r   rY   )r   Ú	kei_zerosr   r   )r=   rÆ  s     r>   Útest_kei_zeroszTestKelvin.test_kei_zeros¹  r‚  rA   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÎ   ©gÑW�f,º@gÉå?¤ßÎ"@g�FZ*o·+@gôOp±¢N2@gE¦aøÀ6@r<  r   rY   )r   Ú
keip_zerosr   r   )r=   rÉ  s     r>   Útest_keip_zeroszTestKelvin.test_keip_zerosÂ  ó/   € Ü×!Ñ! !Ó$ˆÜ˜œeò %/ó 0ð
 $¨!ö	-rA   c                 óä  — t        j                  d«      }|\  }}}}}}}}	t        |t        g d¢«      dd¬«       t        |t        g d¢«      dd¬«       t        |t        g d¢«      dd¬«       t        |t        g d¢«      dd¬«       t        |t        g d	¢«      dd¬«       t        |t        g d
¢«      dd¬«       t        |t        g d¢«      dd¬«       t        |	t        g d¢«      dd¬«       y )NrÎ   r  r<  r   rY   rw  )ç¬â�Ì#û?ç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   )
r=   ÚtmpÚberzÚbeizÚkerzÚkeizÚberpzÚbeipzÚkerpzÚkeipzs
             r>   Útest_kelvin_zeroszTestKelvin.test_kelvin_zerosÌ  s  € Ü×"Ñ" 1Ó%ˆØ=@Ñ:ˆˆd�D˜$  u¨e°UÜ˜œeò %/ó 0ð
 $¨!õ	-ô 	˜œeò %/ó 0ð
 $¨!õ	-ô 	˜œeò %/ó 0ð
 $¨!õ	-ô 	˜œeò %/ó 0ð
 $¨!õ	-ô 	˜œuò &0ó  1ð
 $¨!õ	-ô 	˜œuò &0ó  1ð $¨!õ	-ô 	˜œuò &0ó  1ð
 $¨!õ	-ô 	˜œuò &0ó  1ð
 $¨!ö	-rA   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÎ   )rœ  r�  rž  rŸ  gD£;ˆ�q3@r<  r   rY   )r   Ú	ker_zerosr   r   )r=   rÌ  s     r>   Útest_ker_zeroszTestKelvin.test_ker_zeros  r‚  rA   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÎ   r   r<  r   rY   )r   Ú
kerp_zerosr   r   )r=   rÏ  s     r>   Útest_kerp_zeroszTestKelvin.test_kerp_zeros  rš  rA   N)r'  r(  r)  r˜   rœ   r¡   r¤   ry  r}  r�  r‡  rÓ  rÇ  rÊ  rÍ  rÐ  r•  r™  r«  r®  r±  r.  rA   r>   rl  rl  g  se   „ òGò
Iò
Hò
Jò
-ò-ò-ò-ò-òIòIòJòJò-ò-ò4-òl-ó-rA   rl  c                   ó   — e Zd Zd„ Zy)ÚTestBernoullic                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÎ   )r…   rê  g-!ôlVÅ?r–   g±áé•²¡¿r–   r<  r   rY   )r   Ú	bernoullir   r   )r=   Úbrns     r>   Útest_bernoullizTestBernoulli.test_bernoulli  s/   € Ü×Ñ Ó"ˆÜ˜œUò $,ó -ð $¨!ö	-rA   N)r'  r(  r)  r·  r.  rA   r>   r³  r³    s   „ ó-rA   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 )NrV   r…   ç33333YÀç¬÷N’~hçßà“©‚¡?é«   g6.8@rN   r   r"  rH   rF   rL   rO   )r   r   Úbetar   r;  )r=   ÚbetÚbetgs      r>   Ú	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¨Ö.rA   c                 óh   — t        t        j                  t        j                  dd«      «      «       y )NrK   rH   )r   r[   Úisinfr   r¿  r<   s    r>   Útest_beta_infzTestBeta.test_beta_inf0  s   € Ü”—‘œŸ™ b¨!Ó,Ó-Õ.rA   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 )NrV   r–   r»  r¼  r½  éª   gðIÊÀs	@r!  r   r"  rH   rF   rN   rO   )r   r   Úbetalnr   rA  r   r7  r¿  )r=   ÚbetlnrÀ  s      r>   Útest_betalnzTestBeta.test_betaln3  s�   € Ü”W—^‘^ A qÓ)¨3Ô/ÜœŸ™ v¨vÓ6ÜŸ™¨Ó/ô	1äœŸ™ v¨sÓ3Ð5GØ"¨õ	,ô —‘˜q !Ó$ˆÜ”#”g—l‘l 1 aÓ(Ó)Ó*ˆÜ˜˜s¨Ö/rA   N)r'  r(  r)  Ú__doc__rÂ  rÅ  rÊ  r.  rA   r>   r¹  r¹  !  s   „ ñò/ò/ó	0rA   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                  ej                   ej"                  g«      ej                  j                  dg d¢«      d„ «       «       Zej                  j                  ddej(                  fdej(                  fdej(                  fej*                  ej*                  dfej(                  fej*                  ej*                  dfej(                  fej*                  ej*                  dfej(                  fdddddddej*                  dfdfdej*                  dfdfdej*                  dfdfej*                  ddfdfej*                  ddfdfej*                  ddfdfdej*                  dfdfdej*                  dfdfdej*                  dfdfej*                  ddfdfej*                  ddfdfej*                  ddfdfg«      d„ «       Zej                  j                  ddej(                  fdej(                  fdej(                  fej*                  ej*                  dfej(                  fej*                  ej*                  dfej(                  fej*                  ej*                  dfej(                  fdddd d!d"dej*                  dfdfdej*                  dfdfdej*                  dfdfej*                  ddfdfej*                  ddfdfej*                  ddfdfdej*                  dfdfdej*                  dfdfdej*                  dfdfej*                  ddfdfej*                  ddfdfej*                  ddfdfg«      d#„ «       Zej                  j                  d$ej0                  ej2                  g«      d%„ «       Zej                  j                  d&ej0                  d'fej2                  d(fg«      ej                  j                  d)d*d+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   r  rV   rV   )r[   r   r   r   ÚbetaincÚ
betaincinvÚbetainccÚbetainccinvrü   s     r>   Ú
test_a1_b1zTestBetaInc.test_a1_b1D  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Õ9rA   z
a, b, x, p))rH   rF   gšÐ@wÔ?r„   )r½  g     `e@rX   g°î*¶¯á?)r½  r¾  g"YxãÃ;r  )g   `¥ù1?g    Ø¦Ag¯ª\Àa¼Y4g   €ý ï?)rF   i�† gñ-ß‡)?gŽ;¥ƒõÿï?c                 ó,  — t        j                  |||«      }t        ||d¬«       t        j                  |||«      }t        ||d¬«       t        j                  |||«      }t        ||d¬«       t        j
                  |||«      }t        ||d¬«       y )NrÒ   rO   gê-�™—a=rN   )r   rÏ  r   rÐ  ÚbtdtriaÚbtdtrib)	r=   r8  r9  rÝ   r&  Úp1Úx1rc  r:  s	            r>   Útest_betainc_and_inversesz%TestBetaInc.test_betainc_and_inverses[  s~   € ô �_‰_˜Q  1Ó%ˆÜ˜˜A EÕ*Ü×Ñ  1 aÓ(ˆÜ˜˜A EÕ*Ü�_‰_˜Q  1Ó%ˆÜ˜˜A EÕ*Ü�_‰_˜Q  1Ó%ˆÜ˜˜A EÖ*rA   ))ç      @rÑ  r  g     ªê?)ç      @g     €*@g      Ø?gòó&�¶Û?)ç      À?rÛ  g333333Û?gF­Úo„êE?)rÜ  ç      2@r©   gg2$·Zç?)rÜ  rÝ  g¬Zd;ßï?g•‡²ˆºœ�6)rÜ  r:  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ç›+¡†›„ö<rO   gVçž¯=)r   rÑ  r   rÒ  )r=   r8  r9  rÝ   r&  r×  rØ  s          r>   Útest_betaincc_betainccinvz%TestBetaInc.test_betaincc_betainccinvt  sD   € ô ×Ñ˜a  AÓ&ˆÜ˜˜A EÕ*Ü× Ñ   A qÓ)ˆÜ˜˜A EÖ*rA   za, b, y, ref))ç¢‰c§j,@rã  ghHçISOa gÚ­ù  ãY;)g      ,@g      -@g„ë‘¤Íg}äc]ì¶«;)rÔ  g      .@gUš¿v \U,gãS²‰^%:)rp  g      ô?g´M´›»oigºKB;)r  g    Ðiø@g1ðúÖ$ÔÏ-g\_±«cp:c                 óN   — t        j                  |||«      }t        ||d¬«       y )Nr!  rO   )r   rÐ  r   )r=   r8  r9  r  r  rÝ   s         r>   Útest_betaincinv_tiny_yz"TestBetaInc.test_betaincinv_tiny_y†  s$   € ô2 ×Ñ˜q ! QÓ'ˆÜ˜˜3 UÖ+rA   ÚfuncÚargs))rÕ   rH   r„   )r  ç       Àr„   )r  rk  ç333333Ó¿)r  rk  çš™™™™™ñ?c                 óØ   — t        j                  d¬«      5  t        j                  t         j                  d¬«      5   ||Ž  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   Úerrstater*  r   ÚSpecialFunctionError)r=   ræ  rç  s      r>   Útest_betainc_domain_errorsz&TestBetaInc.test_betainc_domain_errors¢  s\   € ô ×Ñ WÔ-ñ 	Ü—‘œw×;Ñ;À8ÔLñ Ù�d‘÷÷	ð 	÷ð ú÷	ð 	ús"   —&A ½AÁA ÁA	ÁA Á A)zargs,expected)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…   c                 ó@   — t        j                  |Ž }t        ||«       y ri  )r   rÏ  r   ©r=   rç  r  Úobserveds       r>   Útest_betainc_edge_casesz#TestBetaInc.test_betainc_edge_cases¬  s   € ô< —?‘? DÐ)ˆÜ�X˜xÕ(rA   )ró  r…   )rô  r–   )rõ  r–   )rö  r…   )r÷  r…   )rø  r–   c                 ó@   — t        j                  |Ž }t        ||«       y ri  )r   rÑ  r   rú  s       r>   Útest_betaincc_edge_casesz$TestBetaInc.test_betaincc_edge_casesÍ  s   € ô< ×#Ñ# TÐ*ˆÜ�X˜xÕ(rA   Údtypec                 óî   — t        j                  dg|¬«      }t        j                  dg|¬«      }t        j                  |||«      }t	        ||dt        j
                  |«      j                  z  ¬«       y )Nr0  ©rÿ  r„   r  rO   )r[   r   r   rÐ  r   r   Úeps)r=   rÿ  r8  rÝ   r…  s        r>   Útest_gh21426zTestBetaInc.test_gh21426î  s[   € ô �H‰H�b�T Ô'ˆÜ�H‰H�c�U %Ô(ˆÜ×#Ñ# A q¨!Ó,ˆÜ˜ ¨¬R¯X©X°e«_×-@Ñ-@Ñ(@ÖArA   zdtype, rtolrC  rÒ   za, b, x, reference)ç#B’¡œÇ;gO›
´ã’;r„   gE]tÑE·?)rÒ   g¼‰Ø—²Òœ<r„   gF]tÑE·?c                 óØ   — t        j                  ||¬«      }t        j                  ||¬«      }t        j                  ||¬«      }t        j                  |||«      }t	        |||¬«       y )Nr  rO   )r[   r   r   rÏ  r   )r=   r8  r9  rÝ   rI  rÿ  rP   Úress           r>   Útest_gh22682zTestBetaInc.test_gh22682ö  sR   € ô �H‰H�Q˜eÔ$ˆÜ�H‰H�Q˜eÔ$ˆÜ�H‰H�Q˜eÔ$ˆÜ�o‰o˜a  AÓ&ˆÜ˜˜Y¨TÖ2rA   N)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   r>   rÍ  rÍ  ?  sÕ  „ ñò:ð. ‡[�[×ÑØò	6ó
7ñ+ó
7ð+ð ‡[�[×Ñ˜\ò
<ó=ñ+ó=ð+ð ‡[�[×ÑØò	7óñ,óð,ð& ‡[�[×Ñ˜V g§o¡o°w×7IÑ7IØ&-§o¡o°w·±Ø&-×&6Ñ&6¸×8KÑ8Kð&Mó Nð ‡[�[×Ñ˜Vò &Ió JñóJóNð
ð
 ‡[�[×ÑØà˜bŸf™fÐ%Ø˜bŸf™fÐ%Ø˜bŸf™fÐ%Ø�f‰f�b—f‘f˜cÐ" B§F¡FÐ+Ø�f‰f�b—f‘f˜cÐ" B§F¡FÐ+Ø�f‰f�b—f‘f˜cÐ" B§F¡FÐ+Ø"Ø"Ø"Ø"Ø"Ø"Ø�2—6‘6˜3Ð Ð%Ø�2—6‘6˜3Ð Ð%Ø�2—6‘6˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%Ø�2—6‘6˜3Ð Ð%Ø�2—6‘6˜3Ð Ð%Ø�2—6‘6˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%ð1	
óñ:)ó;ð:)ð ‡[�[×ÑØà˜bŸf™fÐ%Ø˜bŸf™fÐ%Ø˜bŸf™fÐ%Ø�f‰f�b—f‘f˜cÐ" B§F¡FÐ+Ø�f‰f�b—f‘f˜cÐ" B§F¡FÐ+Ø�f‰f�b—f‘f˜cÐ" B§F¡FÐ+Ø"Ø"Ø"Ø"Ø"Ø"Ø�2—6‘6˜3Ð Ð%Ø�2—6‘6˜3Ð Ð%Ø�2—6‘6˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%Ø�2—6‘6˜3Ð Ð%Ø�2—6‘6˜3Ð Ð%Ø�2—6‘6˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%Ø�f‰f�c˜3Ð Ð%ð1	
óñ:)ó;ð:)ð ‡[�[×Ñ˜W r§z¡z°2·:±:Ð&>Ó?ñBó @ðBð ‡[�[×Ñ˜]Ø!Ÿz™z¨4Ð0Ø!Ÿz™z¨5Ð1ð3ó4ð ‡[�[×ÑÐ1ØEØFðHóIñ3óIó4ñ3rA   rÍ  c                   óÆ   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  dg d¢«      ej                  j                  ddd	g«      d
„ «       «       Z
d„ Zd„ Zd„ Z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 )Nr  rŠ   rF   ç      ^@g     @j@T©Úexactéx   ©r  Ú
repetitionéÜ   r"  rl   rÒ   ©rZ   rV   l   hU7`�±Së?Q r  é2   )
r   r   Úcombr   rt   Úlistr[   Úiinfors   Úmax)r=   re   Úiir  s       r>   Ú	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   rR   Tr  )r[   Úint64r   r  )r=   rd   re   Únp_nÚnp_kÚres_npÚres_pys          r>   Útest_comb_with_np_int64z)TestCombinatorics.test_comb_with_np_int64  sX   € ØˆØˆÜ�x‰x˜‹{ˆÜ�x‰x˜‹{ˆÜ—‘˜d D°Ô5ˆÜ—‘˜a ¨$Ô/ˆØ˜ÒÐÑrA   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 )NrH   rŠ   Tr  r   rK   F©rH   rK   rH   r  ©rŠ   rŠ   rK   rŠ   )r–   r–   r–   r  )r   r   r  r   r<   s    r>   Ú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ÕXrA   c                 ó(  — d}t        j                  t        |¬«      5  t        j                  ddd¬«       d d d «       t        j                  t        |¬«      5  t        j                  ddd¬«       d d d «       y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)	Nz`exact=True`rî  rÐ  rF   Tr  rŠ   gš™™™™™@)r*  r   Ú
ValueErrorr   r  r®  s     r>   Útest_comb_exact_non_int_errorz/TestCombinatorics.test_comb_exact_non_int_error&  sr   € ØˆÜ�]‰]œ:¨SÔ1ñ 	-Ü�L‰L˜˜a tÕ,÷	-ä�]‰]œ:¨SÔ1ñ 	-Ü�L‰L˜˜C tÕ,÷	-ð 	-÷	-ð 	-ú÷	-ð 	-ús   žA<ÁBÁ<BÂBÚN©r   rÎ   r  r  TFc                 ó”   — t        j                  |d|d¬«      }|dk(  sJ ‚|rt        |«      t        u sJ ‚t        j
                  sJ ‚y y )Nr   Tr  rV   )r   r  Útypers   r[   rÚ   )r=   r*  r  Úactuals       r>   Útest_comb_repetition_k_zeroz-TestCombinatorics.test_comb_repetition_k_zero-  sI   € ô
 —‘˜a ¨%¸DÔAˆØ˜Š{Ðˆ{Ù&+Œt�F‹|œsÑ"Ð;Ð;´·²Ð;Ð;°Ð"rA   c                 óª   — t        j                  g d¢«      }t        j                  |ddd¬«      }t        j                  g d¢«      }t	        ||«       y )Nr+  r   FTr  )r…   r…   r…   )r[   r   r   r  r   )r=   r*  r…  r  s       r>   Ú!test_comb_repetition_k_zero_arrayz3TestCombinatorics.test_comb_repetition_k_zero_array6  s<   € ä�H‰H’ZÓ ˆÜ—‘˜a ¨%¸DÔAˆÜ—8‘8šOÓ,ˆÜ�V˜XÕ&rA   c                 óÚ   — t        t        j                  ddgddg«      ddg«       t        t        j                  dd«      ddd¬«       t        t        j                  ddd	¬
«      d«       y )Nr  rŠ   rF   ç     €†@g     °³@rÇ   r   rY   Tr  iÐ  )r   r   Úpermr   r<   s    r>   Ú	test_permzTestCombinatorics.test_perm=  sS   € ÜœŸ™ b¨" X°°1¨vÓ6¸¸u¸ÔFÜœŸ™ R¨Ó+¨T¸ÀQÕGÜ”W—\‘\ " a¨tÔ4°cÕ:rA   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 )NrH   rŠ   Tr  r   rK   Fr#  r$  )r–   r–   r–   r3  )r   r   r4  r   r<   s    r>   Útest_perm_zerosz!TestCombinatorics.test_perm_zerosB  r&  rA   c                 óÜ  — t        j                  t        d¬«      5  t        j                  ddgddgd¬«       d d d «       t        j                  t        d	¬«      5  t        j                  d
dd¬«       d d d «       t        j                  t        d	¬«      5  t        j                  ddd¬«       d d d «       t        j                  t        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î  rV   rH   rF   rÎ   Tr  zNon-integergffffff@rL   gffffffÀrŠ   g333333Àç      @)r*  r   r(  r   r4  r<   s    r>   Útest_perm_ivzTestCombinatorics.test_perm_ivI  s  € ä�]‰]œ:Ð->Ô?ñ 	5Ü�L‰L˜!˜Q˜ ! Q ¨tÕ4÷	5ô �]‰]œ:¨]Ô;ñ 	-Ü�L‰L˜˜a tÕ,÷	-ä�]‰]œ:¨]Ô;ñ 	.Ü�L‰L˜˜q¨Õ-÷	.ä�]‰]œ:¨]Ô;ñ 	.Ü�L‰L˜˜D¨Õ-÷	.ä�]‰]œ:¨]Ô;ñ 	/Ü�L‰L˜˜c¨Õ.÷	/ð 	/÷	5ð 	5ú÷	-ð 	-ú÷	.ð 	.ú÷	.ð 	.ú÷	/ð 	/ús;   œD2ÁD>ÂE
ÃEÄE"Ä2D;Ä>EÅ
EÅEÅ"E+N)r'  r(  r)  r  r!  r%  r)  r*  r+  r-  r/  r1  r5  r7  r:  r.  rA   r>   r	  r	    sn   „ ò=ò òYò-ð ‡[�[×Ñ˜S¢*Ó-Ø‡[�[×Ñ˜W t¨U mÓ4ñ<ó 5ó .ð<ò'ò;ò
Yó/rA   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                 óP   — t        j                  d«      }d}t        ||dd¬«       y )Né   rÑ  rÇ   r   rY   ©r   rª   r   )r=   ÚcbÚcbrls      r>   r«   zTestTrigonometric.test_cbrtY  s#   € Ü�\‰\˜"ÓˆØˆÜ˜˜D v°AÖ6rA   c                 óP   — t        j                  d«      }d}t        ||dd¬«       y )Ngfffffæ;@géŽ–š…C@r3  r   rY   r?  )r=   Úcb1Úcbrl1s      r>   Útest_cbrtmorezTestTrigonometric.test_cbrtmore^  s#   € Ü�l‰l˜4Ó ˆØˆÜ˜˜U¨°aÖ8rA   c                 óp   — t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       y )Nrà  rk  r3  r   rY   ©r   r¿   r
   r   r   )r=   ÚcdgÚcdgrls      r>   rÀ   zTestTrigonometric.test_cosdgc  s+   € Ü�m‰m˜BÓˆÜ”B�s‘F“ˆÜ˜˜U¨°aÖ8rA   c                 óp   — t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       y ©NrR   r9  r3  r   rY   rG  )r=   ÚcdgmÚcdgmrls      r>   Útest_cosdgmorez TestTrigonometric.test_cosdgmoreh  s+   € Ü�}‰}˜RÓ ˆÜ”R˜‘V“ˆÜ˜˜f¨6¸Ö:rA   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d¬«       y )Nr   r  r  rV   r3  rY   )r   rÃ   r   r
   r   )r=   ÚcsÚcsrls      r>   rÄ   zTestTrigonometric.test_cosm1m  sc   € Ü�m‰m˜AÓœwŸ}™}¨RÓ0´·±¼rÀ"¹uÓ1EÐFˆÜ�A“�q‘œ˜R› ™¤3¤r¨"¡u£:¨a¡<Ð0ˆÜ˜˜D v°AÖ6rA   c                 óv   — t        j                  d«      }t        t        dz  «      dz  }t	        ||dd¬«       y )NrR   r9  rK   r3  r   rY   ©r   rÈ   r   r   r   )r=   ÚctÚctrls      r>   rÉ   zTestTrigonometric.test_cotdgr  s0   € Ü�]‰]˜2ÓˆÜ”2�c‘6‹{˜RÑ ˆÜ˜˜D v°AÖ6rA   c                 óv   — t        j                  d«      }t        t        dz  «      dz  }t	        ||dd¬«       y )NrÆ   r  rK   r3  r   rY   rS  )r=   Úct1Úctrl1s      r>   Útest_cotdgmorez TestTrigonometric.test_cotdgmorew  s0   € Ü�m‰m˜BÓˆÜ”B�s‘F“˜bÑ!ˆÜ˜˜U¨°aÖ8rA   c                 óx  — 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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	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dd¬«       y )NrÆ   r…   ç´àø¤tã=r   rY   éÓÿÿÿrÕ   rà  r–   i¦ÿÿÿé‡   éyÿÿÿéá   éÿÿÿi  iòþÿÿé;  éÅþÿÿiý  )r   r   rÈ   r<   s    r>   Útest_specialpointsz$TestTrigonometric.test_specialpoints|  s-  € ÜœŸ™ bÓ)¨3°WÀ1ÕEÜœŸ™ cÓ*¨D°wÀQÕGÜœŸ™ bÓ)¨3°WÀ1ÕEÜœŸ™ cÓ*¨C°gÀAÕFÜœŸ™ cÓ*¨D°wÀQÕGÜœŸ™ dÓ+¨S°wÀQÕGÜœŸ™ cÓ*¨C°gÀAÕFÜœŸ™ dÓ+¨T¸ÀaÕHÜœŸ™ cÓ*¨C°gÀAÕFÜœŸ™ dÓ+¨S°wÀQÕGÜœŸ™ cÓ*¨D°wÀQÕGÜœŸ™ dÓ+¨S°wÀQÕGÜœŸ™ cÓ*¨C°gÀAÖFrA   c                 ó‚   — t        t        j                  dg«      d«       t        t        j                  d«      d«       y )Nr   rV   r–   r…   )r   r   Úsincr   r<   s    r>   Ú	test_sinczTestTrigonometric.test_sinc‹  s*   € äœ7Ÿ<™<¨¨Ó,¨aÔ0Ü”W—\‘\ #Ó&¨Õ,rA   c                 óF   — t        j                  d«      }t        |d«       y rß  )r   rá  r   )r=   Úsns     r>   râ  zTestTrigonometric.test_sindg�  s   € Ü�]‰]˜2ÓˆÜ�R˜ÕrA   c                 óÜ   — t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       y )NrR   r9  r3  r   rY   rÆ   r  )r   rá  r	   r   r   )r=   ÚsnmÚsnmrlÚsnm1Úsnmrl1s        r>   Útest_sindgmorez TestTrigonometric.test_sindgmore”  óT   € Ü�m‰m˜BÓˆÜ”B�s‘F“ˆÜ˜˜U¨°aÕ8Ü�}‰}˜RÓ ˆÜ”R˜‘V“ˆÜ˜˜f¨6¸Ö:rA   N)r'  r(  r)  r«   rE  rÀ   rN  rÄ   rÉ   rY  rc  rf  râ  rn  r.  rA   r>   r<  r<  X  s:   „ ò7ò
9ò
9ò
;ò
7ò
7ò
9ò
Gò-ò
ó;rA   r<  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú	TestTandgc                 óp   — t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       y rK  ©r   r  r   r   r   )r=   ÚtnÚtnrls      r>   r  zTestTandg.test_tandgŸ  s+   € Ü�]‰]˜2ÓˆÜ”2�c‘6‹{ˆÜ˜˜D v°AÖ6rA   c                 óÜ   — t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       y )NrÆ   r  r3  r   rY   rB  rÑ  rs  )r=   ÚtnmÚtnmrlÚtnm1Útnmrl1s        r>   Útest_tandgmorezTestTandg.test_tandgmore¤  ro  rA   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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dd¬«       t        t        j                  d«      ddd¬«       t        t        j                  d«      ddd¬«       y )Nr   r–   r[  rY   rÆ   r…   r\  rÕ   r]  r^  r  iLÿÿÿr_  r`  ra  rb  )r   r   r  r<   s    r>   rc  zTestTandg.test_specialpoints¬  sÿ   € ÜœŸ™ aÓ(¨#°GÀ!ÕDÜœŸ™ bÓ)¨3°WÀ1ÕEÜœŸ™ cÓ*¨D°wÀQÕGÜœŸ™ cÓ*¨D°wÀQÕGÜœŸ™ dÓ+¨S°wÀQÕGÜœŸ™ cÓ*¨C°gÀAÕFÜœŸ™ dÓ+¨S°wÀQÕGÜœŸ™ cÓ*¨C°gÀAÕFÜœŸ™ dÓ+¨T¸ÀaÕHÜœŸ™ cÓ*¨D°wÀQÕGÜœŸ™ dÓ+¨S°wÀQÖGrA   N)r'  r(  r)  r  r{  rc  r.  rA   r>   rq  rq  �  s   „ ò7ò
;óHrA   rq  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ð   r[   r
  r<   s    r>   Útest_ellipj_nanzTestEllip.test_ellipj_nan»  s   € ä�‰�sœBŸF™FÕ#rA   c                 ó~   — t        j                  dd«      }t        d«      t        d«      ddg}t	        ||dd¬«       y )NrÖ   r   r…   çá7ÎQE=rY   )r   rð   r	   r
   r   )r=   ÚelÚrels      r>   rñ   zTestEllip.test_ellipj¿  s6   € Ü�^‰^˜C Ó"ˆÜ�3‹xœ˜C›  TÐ*ˆÜ˜˜C g°AÖ6rA   c                 óZ  — t        j                  d«      }t        |d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Ñ�ú?r=  r   rY   r–   r…   rH   rK   r  g­Õü�ÒNé?)	r   r   r   r   r    r[   r   r   r
  )r=   Úelks     r>   ró   zTestEllip.test_ellipkÄ  s´   € Ü�n‰n˜RÓ ˆÜ˜Ð.°WÀ1ÕEä”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Ó+Ð-?Õ@rA   c                 óZ  — t        j                  t        dz  d«      }t        j                  d«      }t	        ||dd¬«       dt        z  dz  }dt        z  dz  }t        |«      dz  }t        j                  ||«      }t	        |d	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 )NrH   rÖ   rÑ   r   rY   rl   r  rÆ   gëfo¾Khé?r3  r–   r…   r„   g–±t½„ñØ?rV   rI   r!  rO   ç6<½R–!ù?r  gfäO¨•Né?)
r   rõ   r   r   r   r	   r   r[   r   r
  )r=   Úelkincr†  ÚalphaÚphir  s         r>   rö   zTestEllip.test_ellipkincÏ  s  € Ü×"Ñ"¤2 a¡4¨Ó+ˆÜ�n‰n˜SÓ!ˆÜ˜ ¨'¸Õ:Ø”2‘�c‘	ˆØ”‰e�C‰iˆÜ�‹J˜‰MˆÜ×"Ñ" 3 qÓ)ˆÜ˜ 
°¸aÕ@ô 	”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ÕLrA   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   r  rV   gV»^»8jð?g,j6êÆ„@rH   )	r[   Ú	nextafterrt   Úappendr   rõ   r   Ú	full_liker   ©r=   Úmbadr‹  r  ÚmvalsÚjra  Úf1s           r>   Ú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ÕSrA   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<r  rH   Frî  rV   r#  rO   )r[   rn   r2  r   r   r   rõ   Úarcsinhr   r   r   )r=   ÚxlogÚxlinÚxlin2s       r>   Ú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Õ<rA   c                 ó\  — t        j                  d«      }t        |d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   rY   r–   rH   r…   r  g?egô@)r   r   r   r   r   r[   r   r
  )r=   Úeles     r>   rè   zTestEllip.test_ellipe  s¬   € Ü�n‰n˜RÓ ˆÜ˜Ð/°fÀ1ÕEä”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Ó+Ð-?Õ@rA   c                 ó  — t        j                  t        dz  d«      }t        j                  d«      }t	        ||dd¬«       dt        z  dz  dt        z  dz  }}t        |«      dz  }t        j                  ||«      }t	        |d	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 )NrH   rÖ   r[  r   rY   é4   r  é#   g�'ˆÉÒâ?r3  r–   r…   r„   rˆ  r  g¢‚‰çL@)
r   rë   r   r   r   r	   r   r[   r   r
  )r=   ÚeleincrŸ  rŠ  r‹  r  s         r>   rì   zTestEllip.test_ellipeinc  sd  € Ü×"Ñ"¤2 a¡4¨Ó+ˆÜ�n‰n˜SÓ!ˆÜ˜ ¨'¸Õ:àœ‘U˜3‘Y˜r¤"™u S™yˆsˆÜ�‹J˜‰MˆÜ×"Ñ" 3 qÓ)ˆÜ˜ 
°¸aÕ@ä”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ÕKrA   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   r  rV   gà%‰¤�ë?rH   gXo«�óÆ
@rF   )	r[   r�  rt   r�  r   rë   r   r‘  r   r’  s           r>   Útest_ellipeinc_2zTestEllip.test_ellipeinc_26  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ÕSrA   N)r'  r(  r)  r€  rñ   ró   rö   r—  r�  rè   rì   r¥  r.  rA   r>   r~  r~  º  s5   „ ò$ò7ò
	AòMò:Tò =ò*	AòLó4TrA   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 )NrV   r–   r   r  g      @rk  r  ù       €      ð¿rè  rÕ   y
cÝƒÅñ?
cÝƒÅñ¿y=‹€Bžó?C†GÀÖ¿rÑ  yæª fŸãè?P×9lµbÉ?)
r   r!   r   r   r  r   r[   r   r   Ú	enumerate©r=   rç  Úexpected_resultsrx   Úarrs        r>   Útest_elliprczTestEllipCarlson.test_elliprcL  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Ñ+>Õ?ñ	@rA   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 )NrV   r   rH   rÑ  gÌ`C•+ã?r–   rk  rK   )r–   rk  r…   ©rk  rÑ  r  ©r  r©  rk  ©r–   r  r©  )r–   ù      ð¿      ð?r  )y       À      ð¿r©  r³  )gfe¤_Áü?gÓÃ×i+"Å?g”P$Må?ytgöFUô?7¨·?@y™¢R<¹ý¿ý8á*Èî¿y{ ÿ6Í2ý?×zä°Œó¿)r   r"   r   r[   rÄ  r  r   r   rÚ   Útinyr   rª  r«  s        r>   Ú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Ñ+>Õ?ñ	@rA   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 )NrV   r   rH   g°PŸOùùô?r–   rK   )r…   rk  r–   )r  r©  r–   )r„   r…   r–   ©r³  r  r–   r°  r±  )r³  r  ù      ð?      ð¿)geQŸOùùô?çÊžu5Jªý?r¹  yp\©óÜyé?õª¯øôkó¿g2åÎ°â?gHw‹îÐ´ð?y­‘|pFî?-6Fjá¿)	r   r#   r   r[   rÄ  r   r  r   rª  r«  s        r>   Útest_elliprfzTestEllipCarlson.test_elliprfx  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Ñ+>Õ?ñ	@rA   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 )NrV   r   r„   )r–   rÞ  rÞ  r°  r²  r·  )r©  r³  r  )r–   g8øÂdª`´?r  gˆL+©›û?g’Þ}�^Û?yæ—®û0•Ü?Ê‹µêW¥æ?yjèN”×?Ó^ßì·ÒÙ?géÈ£tð?)	r   r$   r[   rÄ  r   r  r   r   rª  r«  s        r>   Útest_elliprgzTestEllipCarlson.test_elliprg‘  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Ñ+>Õ?ñ	@rA   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 )NrV   r–   r   rK   )r–   r…   rk  rÑ  )rk  rÑ  r  r0  )rk  rÑ  r  r³  )r  r©  r–   rk  )r³  ù      ð¿      ð¿r…   rk  )r  r©  r–   r¸  )r³  r¾  r…   y      À      ð?)rk  rÑ  r  rê  )rk  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        r>   Útest_elliprjzTestEllipCarlson.test_elliprj¦  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Ñ+>Õ?ñ	@rA   zInsufficient accuracy on 32-bitr  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%   r<   s    r>   Útest_elliprj_hardz"TestEllipCarlson.test_elliprj_hardÁ  sN   € äœÐ 5Ø 6Ø 3Ø 1ó3ð ;Ø"¨õ	0ô 	œÐ 2Ø 5Ø 4Ø 5ó7ð <Ø"¨ö	0rA   N)r'  r(  r)  rË  r®  rµ  rº  r¼  rÀ  r*  r+  r,  rÂ  r.  rA   r>   r§  r§  G  sM   „ ñò@ò(@ò0@ò2@ò*@ð6 ‡[�[×ÑÐ?ÐÓ@ñ0ó Añ0rA   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…   r5  rk  rK   r–   )r[   r   Úm_n1_1r   r   ÚminÚmax_negÚlog2Ú
very_neg_mÚconcatenateÚ
ms_up_to_1r<   s    r>   Ú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ˆ�rA   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#   r   s     r>   Útest_kz)TestEllipLegendreCarlsonIdentities.test_kã  s(   € ð �O‰OˆÜœ˜q›	¤7¨2¨r°!©t°RÓ#8Õ9rA   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
        rk  r–   r…   N)	r   r   r´  r   r[   rÉ  r   r    r#   )r=   r´  Úm1s      r>   Útest_km1z+TestEllipLegendreCarlsonIdentities.test_km1ê  sJ   € ô ”V‹}×!Ñ!ˆà�Bœ˜r¤B§G¡G¨D£M >Ó2Ñ2Ñ2ˆÜœ ›¤g¨b°"°bÓ&9Õ:rA   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)
        rk  r–   r…   N)rÌ  r   r   r$   r   s     r>   Útest_ez)TestEllipLegendreCarlsonIdentities.test_eõ  s-   € ð �O‰OˆÜœ˜q›	 2¤g¨b°"°Q±$¸Ó&;Ñ#;Õ<rA   N)r'  r(  r)  rË  rÍ  rÏ  rÒ  rÔ  r.  rA   r>   rÄ  rÄ  Ñ  s   „ ñò

8ò:ò	;ó=rA   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                 óL   — t        j                  d«      }t        |ddd¬«       y )Nr  g)‘;âT¯Ñ?r3  r   rY   )r   rù   r   )r=   Úers     r>   rú   zTestErf.test_erfÿ  s   € Ü�[‰[˜ÓˆÜ˜˜L¨v¸AÖ>rA   c                 óf   — t        j                  d«      }t        g d¢«      }t        ||dd¬«       y )NrÎ   )yTücJ¹5÷?÷=ê¯Wþ?yo²ìõ@ìœnò¾î@yŸÞÖ'Ê·@¦Ž´¯g	@y»"[
¯
@•ç,y]+@y¼ldì&@-;'j'>@r<  r   rY   )r   Ú	erf_zerosr   r   )r=   ÚerzÚerzrs      r>   Útest_erf_zeroszTestErf.test_erf_zeros  s1   € Ü×Ñ Ó"ˆÜò -ó .ˆô
 	˜˜T¨°QÖ7rA   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)NrQ   r?  g{®Gáz”?rH   r   rV   r  ró  ©Úallr"  )	r[   ra   rb   ÚparetoÚrandintrð  r   Úisfiniter1   )r=   ræ  Ú
other_funcrP   rZ   rh   rd   rÝ   r  r  r%  Úw_realÚmasks                r>   Ú_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 rr   ©r:   rù   ©r  s    r>   ú<lambda>z.TestErf.test_erfc_consistent.<locals>.<lambda>&  s   € �aœ&Ÿ*™* Q›-Ñ'€ rA   r   r!  r"  )rç  r:   rÿ   r<   s    r>   Útest_erfc_consistentzTestErf.test_erfc_consistent#  s%   € Ø× Ñ Ü�K‰KÙ'ØØð	 	!õ 	rA   c                 óJ   — | j                  t        j                  d„ d¬«       y )Nc                 ó^   — t        j                  | | z  «      t        j                  | «      z  S ri  )r[   r   r:   rÿ   rë  s    r>   rì  z/TestErf.test_erfcx_consistent.<locals>.<lambda>.  s   € ”b—f‘f˜Q˜q™S“k¤F§K¡K°£NÑ2€ rA   r   rO   )rç  r:   Úerfcxr<   s    r>   Útest_erfcx_consistentzTestErf.test_erfcx_consistent+  s"   € Ø× Ñ Ü�L‰LÙ2Øð 	!õ 	rA   c                 óJ   — | j                  t        j                  d„ d¬«       y )Nc                 ó8   — dt        j                  d| z  «      z  S )Nr©  r  rê  rë  s    r>   rì  z.TestErf.test_erfi_consistent.<locals>.<lambda>5  s   € �cœFŸJ™J r¨!¡tÓ,Ñ,€ rA   r   rO   )rç  r:   Úerfir<   s    r>   Útest_erfi_consistentzTestErf.test_erfi_consistent2  s"   € Ø× Ñ Ü�K‰KÙ,Øð 	!õ 	rA   c                 óJ   — | j                  t        j                  d„ d¬«       y )Nc                 ó†   — t        t        «      dz  t        j                  |  | z  «      z  t	        j
                  | «      z  S r·  )r   r   r[   r   r:   rô  rë  s    r>   rì  z/TestErf.test_dawsn_consistent.<locals>.<lambda><  s.   € ”dœ2“h˜q‘j¤2§6¡6¨1¨"¨Q©$£<Ñ/´&·+±+¸a³.Ñ@€ rA   r   rO   )rç  r:   rË   r<   s    r>   Útest_dawsn_consistentzTestErf.test_dawsn_consistent9  s"   € Ø× Ñ Ü�L‰LÙ@Øð 	!õ 	rA   c                 óÌ   — t         j                  t         j                   t         j                  g}t         j                  ddg}t        t	        j
                  |«      |d¬«       y )NrK   rV   rÒ   rO   )r[   r
  r   r   r   rù   ©r=   rH  r  s      r>   Útest_erf_nan_infzTestErf.test_erf_nan_inf@  s@   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘F˜B �?ˆÜœŸ™ DÓ)¨8¸%Ö@rA   c                 óÌ   — t         j                  t         j                   t         j                  g}t         j                  ddg}t        t	        j
                  |«      |d¬«       y )NrH   r   rÒ   rO   )r[   r
  r   r   r   rÿ   rú  s      r>   Útest_erfc_nan_infzTestErf.test_erfc_nan_infE  s@   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘F˜A˜q�>ˆÜœŸ™ TÓ*¨H¸5ÖArA   c                 óè   — t         j                  t         j                   t         j                  g}t         j                  t         j                  dg}t        t	        j
                  |«      |d¬«       y )Nr   rÒ   rO   )r[   r
  r   r   r   rð  rú  s      r>   Útest_erfcx_nan_infzTestErf.test_erfcx_nan_infJ  sE   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘FœBŸF™F AÐ&ˆÜœŸ™ dÓ+¨X¸EÖBrA   c                 ó  — t         j                  t         j                   t         j                  g}t         j                  t         j                   t         j                  g}t        t	        j
                  |«      |d¬«       y r	  )r[   r
  r   r   r   rô  rú  s      r>   Útest_erfi_nan_infzTestErf.test_erfi_nan_infO  sK   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘FœRŸV™V˜G¤R§V¡VÐ,ˆÜœŸ™ TÓ*¨H¸5ÖArA   c                 óÌ   — t         j                  t         j                   t         j                  g}t         j                  ddg}t        t	        j
                  |«      |d¬«       y )NrF  r–   rÒ   rO   )r[   r
  r   r   r   rË   rú  s      r>   Útest_dawsn_nan_infzTestErf.test_dawsn_nan_infT  sA   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘F˜D #Ð&ˆÜœŸ™ dÓ+¨X¸EÖBrA   c                 óô   — t         j                  t         j                   t         j                  g}t         j                  t         j                  dz  z   ddg}t        t	        j
                  |«      |d¬«       y )Nr  r  rÒ   rO   )r[   r
  r   r   r   r$  rú  s      r>   Útest_wofz_nan_infzTestErf.test_wofz_nan_infY  sN   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘FœRŸV™V c™\Ñ)¨6°6Ð:ˆÜœŸ™ TÓ*¨H¸5ÖArA   N)r   )r'  r(  r)  rú   rÝ  rç  rí  rñ  rõ  rø  rû  rý  rÿ  r  r  r  r.  rA   r>   rÖ  rÖ  ý  sJ   „ ò?ò8óEò.òòòòAò
Bò
Cò
Bò
Có
BrA   rÖ  c                   ó   — e Zd Zd„ Zy)Ú	TestEulerc                 óV  — 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d¬«       y # 1 sw Y   ŒxY w)Nr   rV   rH   rÒ   rO   )rV   r   rK   rÔ   )rV   rV   rÎ   é=   ii  iYÅ  i­=) iÕâl   Q~¥ l   10ÿ[¿l   Õ$8gC
 l   í2�¼³l   ¹vö}Ju: )rÏ   Údé   ró  rß  r–   r[  rY   )
r   Úeulerr   r   rt   ru   r[   rð  r   r  )
r=   Úeu0Úeu1Úeu2Úeu24Ú	mathworldÚcorrectre   ÚerrÚerrmaxs
             r>   Ú
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÷	ô 	˜ ¨'¸Ö:÷	ð 	ús   Ã*DÄD(N)r'  r(  r)  r  r.  rA   r>   r  r  _  s   „ ó;rA   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 )NrH   rF   )r   r  r   ©r=   ÚexÚexrls      r>   r  zTestExp.test_exp2y  s   € Ü�\‰\˜!‹_ˆØˆÜ�R˜ÕrA   c                 óP   — t        j                  d«      }d}t        ||dd¬«       y )NrÚ  gÍ;fž @r3  r   rY   )r   r  r   ©r=   ÚexmÚexmrls      r>   Útest_exp2morezTestExp.test_exp2more~  s#   € Ü�l‰l˜3ÓˆØˆÜ˜˜U¨°aÖ8rA   c                 óP   — t        j                  d«      }d}t        ||dd¬«       y )NrH   r  r©   r   rY   ©r   r  r   r  s      r>   r  zTestExp.test_exp10ƒ  s#   € Ü�]‰]˜1ÓˆØˆÜ˜˜D t°!Ö4rA   c                 óP   — t        j                  d«      }d}t        ||dd¬«       y )NrÚ  gY—úí¤Ãs@r3  r   rY   r"  r  s      r>   Útest_exp10morezTestExp.test_exp10moreˆ  s#   € Ü�m‰m˜CÓ ˆØˆÜ˜˜U¨°aÖ8rA   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d¬«       y )NrH   rŠ   rF   rV   r3  r   rY   ©r   r	  r   r   r  s      r>   r  zTestExp.test_expm1�  s[   € Ü�m‰m˜AÓ¤§¡¨aÓ 0´'·-±-ÀÓ2BÐCˆÜ�A“˜‘
œC ›F Q™J¬¨A«°©
Ð3ˆÜ˜˜D v°AÖ6rA   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d¬«       y )NrH   çÍÌÌÌÌÌ @çš™™™™™@rV   r3  r   rY   r&  )r=   Úex1Úexrl1s      r>   Útest_expm1morezTestExp.test_expm1more’  s[   € Ü�}‰}˜QÓ¤§¡¨sÓ!3´W·]±]À3Ó5GÐHˆÜ�Q“˜!‘œS ›X¨™\¬3¨s«8°a©<Ð8ˆÜ˜˜U¨°aÖ8rA   N)	r'  r(  r)  r  r   r  r$  r  r,  r.  rA   r>   r  r  x  s    „ òò
9ò
5ò
9ò
7ó
9rA   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 )NrO   )r+   r*   )rÝ   r  rP   s     €r>   Úassert_funcz(assert_really_equal.<locals>.assert_func¤  s   ø€ Ø!% Œ˜˜1Õ´?À1ÀaÈdÖ3SrA   c                 ó„   — t        j                  | j                  «      rt        j                  | j                  «      sJ ‚y ri  )r[   r   r   r  ©rÝ   s    r>   Úassert_complex_nanz/assert_really_equal.<locals>.assert_complex_nan§  s*   € Ü�x‰x˜Ÿ™Ô¤B§H¡H¨Q¯V©VÔ$4Ð4Ð4Ð$4rA   ztypes not equal: z, rO   rø  N)
r-  Ú
isinstancer[   Úndarrayrÿ  Úzipr`   Úassert_really_equalr   r/   )rÝ   r  rP   r/  r2  Úelem_xÚelem_ys     `    r>   r6  r6  ˜  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ÕrA   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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
                  jK                  d&«      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/d0«      «      d1„ «       Z'ej
                  j                  d e( edd2«      «       e( ed.d/d0«      «      z   «      d3„ «       Z)d4„ Z*d5„ 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                  d6g d%gd!gej                  gej                  ej                  dz  z   gej                  d%ggg d7¢¬«      d8„ «       «       «       «       «       Z-ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  dd%d!d9ej                  ej                  ej                  dz  z   dgg d:¢¬«      d;„ «       «       «       Z.ej
                  j                  d ed.d/d<«      «      d=„ «       Z/ej
                  j                  d e( edd2«      «       e( ed.d/d<«      «      z   «      d>„ «       Z0d?„ Z1e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                  d6g d%gd!gej                  gej                  ej                  dz  z   gej                  d%ggg d7¢¬«      d@„ «       «       «       «       «       Z2ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  dd%d!d9ej                  ej                  ej                  dz  z   dgg d:¢¬«      dA„ «       «       «       Z3ej
                  j                  dB ed%d&«      «      ej
                  j                  d edCdDdE«      «      dF„ «       «       Z4ej
                  j                  dB e( ed%d&«      «      d0dDgz   «      ej
                  j                  d e( edd2«      «       e( ed2dGd<«      «      z   «      dH„ «       «       Z5dI„ Z6e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                  d6g d%gd!gej                  gej                  ej                  dz  z   gej                  d%ggg d7¢¬«      dJ„ «       «       «       «       «       Z7ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  dB ed%d&«      «      ej
                  j                  dd%d!d9ej                  ej                  ej                  dz  z   dgg d:¢¬«      dK„ «       «       «       «       Z8ej
                  j                  ddd	g«      ej
                  j                  dg d¢«      ej
                  j                  dBdLdMddNdd!ej                  g«      dO„ «       «       «       Z9ej
                  j                  ddd	g«      ej
                  j                  dg d¢«      ej
                  j                  dBd" ej"                  dd«      gd"dPg¬«      dQ„ «       «       «       Z:ej
                  j                  dg d¢«      ej
                  j                  dB ed%dR«      «      dS„ «       «       Z;dT„ Z<y)UÚ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©re   r  ÚzerorV   )r   Ú
factorialkr[   ÚmodÚpowerr;  rÍ  Úmaximum)r=   rd   re   r  ÚextendÚrrH  s          r>   Úfactorialk_refz%TestFactorialFunctions.factorialk_ref½  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Ó&Ñ&Ð&rA   zexact,extend))Tr=  )Fr=  )Fr  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  rB  re   rŠ   ©rV   )r[   Úisscalarr   Ú	factorialÚ
factorial2r>  )r=   r  rB  Úkws       r>   Ú"test_factorialx_scalar_return_typez9TestFactorialFunctions.test_factorialx_scalar_return_typeÆ  ss   € ð ¨Ñ/ˆÜ�{‰{œ7×,Ñ,Ñ5°"Ñ5Ô6Ð6Ð6Ü�{‰{œ7×-Ñ-Ñ6°2Ñ6Ô7Ð7Ð7Ü�{‰{œ7×-Ñ-Ñ;°1Ð;¸Ñ;Ô<Ð<Ñ<rA   rd   )rK   rï  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   re   rŠ   )r   r   rI  rJ  r>  )r=   r  rd   rK  s       r>   Ú$test_factorialx_negative_extend_zeroz;TestFactorialFunctions.test_factorialx_negative_extend_zeroÎ  sa   € ð �uÐˆÜ”W×&Ñ& qÑ/¨BÑ/°Ô3Ü”W×'Ñ'¨Ñ0¨RÑ0°!Ô4Ü”W×'Ñ'¨Ñ5¨QÐ5°"Ñ5°qÕ9rA   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Ò   )éûÿÿÿrD  r   rV   )r   r   rV   rV   r  rO   re   rŠ   )	r[   r   Ú
native_intrÚ   r6  r   rI  rJ  r>  )r=   r  rK  rP   rd   r  s         r>   Ú*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ÖRrA   ©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 )NrB  r  gRc/a_%Àg:\Oag@g*BZ'÷¿rS  go	08G)ñ?goíNb]ÒÀg¢MxcQÞï¿g¡N«yŠç?g†=uÌò?gÙ7ÁKÓÀç [n‡ë<rO   re   rŠ   r   )r   r   rI  rJ  r>  )r=   rd   rK  Úexp_1Úexp_2Úexp_krP   s          r>   Ú'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ÖSrA   r  r   r  Ún_outerc                 óJ   ‡— ddiŠˆfd„} |||z   «        |d|z  |z   «       y )NrB  r  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
  rH   rŠ   re   y      ø?       Àr   )
r/   r-  r[   Ú
complex128rÚ   r6  r   rI  rJ  r>  )rd   Ú
complexifyÚcomplex_nanr   rø  rK  s        €r>   Ú_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È;ÕWrA   i † r.  )r=   rZ  r  ra  rK  s       @r>   Ú-test_factorialx_negative_extend_complex_poleszDTestFactorialFunctions.test_factorialx_negative_extend_complex_polesõ  s5   ø€ ð ˜	Ð"ˆô	Xñ( 	ˆw˜‰~Ôáˆw˜Ñ  4Ñ'Õ(rA   ÚboxedrB  r=  r  r
  r  r]  NÚnatrÜ  )
Ú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)NFrF  rŠ   re   ©rx   ra  rø  rx   ra  rø  úUnsupported data type.*rî  r  úIn order to use non-integer.*r]  r
  r=  r   r   )r   r>  r-  rI  r/   r*  r   r(  r[   r^  rÚ   rÄ  r6  )r=   rj  rd   rB  rc  rK  Úpermissible_typesÚtypes_need_complex_extr_  r  Úneg_inf_resultr…  s               r>   Ú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î  rV   )rB  rŠ   T©re   r  rB  )r*  r   r(  r   rI  rJ  r>  )r=   rB  s     r>   Útest_factorialx_raises_extendz4TestFactorialFunctions.test_factorialx_raises_extendC	  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ÚlevelsrV   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 )NrV   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   rV   r.  ©rÝ   re   Ú_nest_mes     €r>   r{  zDTestFactorialFunctions.test_factorialx_array_shape.<locals>._nest_meO	  s&   ø€ ð �AŠvØ�á  A ¨¨!©Ó,Ð,rA   c                 óÚ   •— t        j                   ‰|‰¬«      t        ¬«      }t        | j	                  t         j
                  «       |j                  t         j
                  «      «       y )N©re   r  )r[   r   Úobjectr   r×   rÚ   )r  Únucleusr   r{  rw  s      €€r>   ra  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ÕKrA   rÎ   rÏ   r}  r  rz   Tr  r  rŠ   rd  rH   rG  )r[   r   ÚmathrI  r   rJ  r>  )r=   rw  r  ra  rd   Úexp_nucleusr{  s    `    @r>   Útest_factorialx_array_shapez2TestFactorialFunctions.test_factorialx_array_shapeL	  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ÕErA   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  rz   r  rd  r  rV   ©r…  rH   rŠ   )r[   r   r   r   rI  rJ  r>  )r=   rƒ  rÿ  r  rd   r   s         r>   Útest_factorialx_array_dimensionz6TestFactorialFunctions.test_factorialx_array_dimensionl	  sŸ   € ô �H‰H�Q˜e¨3Ô/ˆØ˜" Ñ$ˆÜœ×)Ñ)¨!°5Ô9ÜŸ™  Q¡¨sÔ3ô	5äœ×*Ñ*¨1°EÔ:ÜŸ™  Q¡¨sÔ3ô	5äœ×*Ñ*¨1¨a°uÔ=ÜŸ™  Q¡¨sÔ3õ	5rA   Ú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 )NrV   c                 ó,   •— |dk(  r| S  ‰| g|dz
  «      S rï   r.  rz  s     €r>   r{  zCTestFactorialFunctions.test_factorialx_array_like.<locals>._nest_me	  s"   ø€ Ø�AŠvØ�á   Q q¡SÓ)Ð)rA   rÎ   r}  r  rz   r  rd  r  r†  rH   rŠ   rG  )r   r   r   rI  r[   r   rJ  r>  )r=   rˆ  r  rd   r�  r/  r{  s         @r>   Ú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õ	;rA   c                 óü  ‡‡— ||dœŠ|rt         nt        Šˆˆfd„}ˆˆfd„} | |d«      «        | |d«      «        |t        j                  d|¬«      «        |t        j                  ddg|¬«      «        |t        j                  |«      j
                  «      }|t        j                  k(  rV|ry  | ||dz
  «      «        |t        j                  |dz
  |¬«      «        |t        j                  |dz
  g|¬«      «       y |t        j                  t        j                  fv s|sQ ||dz
  «        |t        j                  |dz
  |¬«      «        |t        j                  |dz
  |dz
  g|¬«      «       y y )NrF  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 )Nre   rŠ   )	r3  r[   r4  r×   r  r   rI  rJ  r>  )rd   Ún_refr/  rK  s     €€r>   ra  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Ð<¸Ñ<õ>rA   c                 óH  •— t        j                  «       5  t        j                  dt        «       | dz  }d d d «        ‰t	        j
                  | fi ‰¤Ž«        ‰t	        j                  | fi ‰¤Ž|«        ‰t	        j                  | fddi‰¤Ž|«       y # 1 sw Y   ŒcxY w)Nró  r   re   rŠ   )rô  rõ  Úsimplefilterr÷  r   rI  rJ  r>  )rd   Ú
shaped_infr/  rK  s     €€r>   Ú
_check_infz?TestFactorialFunctions.test_factorialx_uint.<locals>._check_inf�	  s’   ø€ ä×(Ñ(Ó*ñ #Ü×%Ñ% h´Ô?Ø ™U�
÷#ñ œ×)Ñ)¨!Ñ2¨rÑ2°JÔ?Ùœ×*Ñ*¨1Ñ3°Ñ3°ZÔ@Ùœ×*Ñ*¨1Ñ8°Ð8°RÑ8¸*ÕE÷#ð #ús   – BÂB!r   rV   r  rH   )	r   r   r[   r   r  r  Úuint64Úuint8Úuint16)	r=   r  rB  rÿ  ra  r’  r*  r/  rK  s	          @@r>   Útest_factorialx_uintz+TestFactorialFunctions.test_factorialx_uint�	  s3  ù€ ð ¨Ñ/ˆÙ,1Õ(´ˆõ	>õ	Fñ 	‰u�Q‹xÔÙ‰u�Q‹xÔÙŒr�x‰x˜ Ô'Ô(ÙŒr�x‰x˜˜A˜ eÔ,Ô-á”"—(‘(˜5“/×%Ñ%Ó&ˆà”B—I‘IÒÙàñ ™5  1¡›:Ô&Ùœ2Ÿ8™8 A a¡C¨uÔ5Ô6Ùœ2Ÿ8™8 Q q¡S E°Ô7Õ8Ø”r—x‘x¤§¡Ð+Ñ+±5ñ �1�Q‘3ŒKÙ”2—8‘8˜A˜a™C uÔ-Ô.Ù”2—8‘8˜Q˜q™S ! A¡#˜J¨eÔ4Õ5ð 49rA   rR   r  r  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 )Nr4   ç´àø¤tã0=rÒ   Tr  FrO   )ÚsysÚplatformr   ru   r   rI  r×   ©r=   rd   rP   s      r>   Útest_factorial_accuracyz.TestFactorialFunctions.test_factorial_accuracy¿	  s~   € ô
 Ÿ™¨Ò/‰u°Uˆäœœg×/Ñ/°¸Ô>Ó?Ü×)Ñ)¨!°5Ô9Àõ	Fäœ×)Ñ)¨1¨#°TÔ:×AÑAÄ%ÓHÜ×)Ñ)¨1¨#°UÔ;À$ö	HrA   é   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   r4   ç›+¡†›„6=rÒ   FrO   r  rF  )r€  rI  r   r   r™  rš  ru   r   ©r=   rd   r  rP   rK  s        r>   Útest_factorial_int_referencez3TestFactorialFunctions.test_factorial_int_referenceË	  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ÖLrA   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)
Nr4   rŸ  rÒ   rO   r   ú`exact=True` only supports.*rî  Tr  )r™  rš  r   r   rI  r*  r   r(  )rd   r  rP   s      r>   ra  zETestFactorialFunctions.test_factorial_float_reference.<locals>._checkß	  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+r5  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=Âüïr.  ©r=   ra  s     r>   Útest_factorial_float_referencez5TestFactorialFunctions.test_factorial_float_referenceÞ	  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Õ8rA   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 )	Nr4   rU  çVçž¯â<Fr  rF  rO   r   )r™  rš  r   r   rI  ©rd   r  rP   rK  s       r>   ra  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ÖQrA   rê  gkï´‘ø[ü?©r  ù      à¿        ykï´‘ø[ü?        ù       @       @y·±B}Û¿æŒçåë?g§èH.ÿï¿gK«	!¶‡Ã@y      ð¿-Cëâ6?yI{�÷Œxâ¿ØQÂüÿ‡ÃÀr.  r¦  s     r>   Ú test_factorial_complex_referencez7TestFactorialFunctions.test_factorial_complex_referenceõ	  sA   € ò	Rñ 	ˆtÐ3Õ4ÙˆyÐ#=Õ>ÙˆvÐ QÕRáˆwÐ!5Õ6Ùˆ|Ð&SÖTrA   Ú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ri  ©r[   r   rs   ©Ú.0rÝ   s     r>   ú	<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©r/   r-  r´  s     r>   r¶  zKTestFactorialFunctions.test_factorial_array_corner_cases.<locals>.<genexpr>
  ó   è ø€ Ò&SÀa¤|´D¸³G¸S×'AÑ&Sùó   ‚!rF  r   rV   ©r…  rÿ  r  úIncompatible options:.*rî  rl  rm  rø  rn  rx   r¤  rÒ   rO   )r~  r,   r*  Úskipr[   r  ÚanyrÚ   Úlenr   r   r(  r   rI  r/   rÿ  r`   rä   r^  rQ  r6  ©r=   r°  rƒ  r  rB  rÿ  rK  rd   r…  rÝ   r  Úcxr  s                r>   Ú!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+2jre  rf  rg  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)NrF  r  rÀ  rî  rx   ra  rø  rm  rn  r]  r
  r¤  rV   )r*  r   r(  r   rI  r/   r-  r[   r   r^  rÚ   r6  r   r;  ©r=   rd   r  rB  rK  r_  r  s          r>   Ú"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r  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 )Nr4   ç›+¡†›„=rÒ   Tr  FrO   )r™  rš  r   ru   r   rJ  r×   r›  s      r>   Útest_factorial2_accuracyz/TestFactorialFunctions.test_factorial2_accuracyV
  s~   € ô
 Ÿ™¨Ò/‰u°Uˆäœœg×0Ñ0°¸$Ô?Ó@Ü×*Ñ*¨1°EÔ:Àõ	Gäœ×*Ñ*¨A¨3°dÔ;×BÑBÄ5ÓIÜ×*Ñ*¨A¨3°eÔ<À4ö	IrA   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ï  rV   Tr  r4   rÌ  rÒ   FrO   r  rF  rH   )Ú	functoolsÚreduceÚoperatorÚmulr  rt   r   r   rJ  r™  rš  ru   r   r   s        r>   Útest_factorial2_int_referencez4TestFactorialFunctions.test_factorial2_int_referenceb
  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ð rA   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á  Fr  rF  rO   r   )r   r   rJ  r«  s       r>   ra  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ÖRrA   rŠ   r¬  rF   rH   rl   rê  g^D]?JOê?r­  y^D]?JOê?        y      @      @y­ÄÓ&0ñ¿!›Ÿ:÷?g�St$—ÿÿ¿gtäQä*¿@y       À-Cëâ6?yqƒjí®§?¯xØ*¿À)r   rJ  r€  r   r   r¦  s     r>   Ú!test_factorial2_complex_referencez8TestFactorialFunctions.test_factorial2_complex_referencez
  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ÖVrA   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ri  r³  r´  s     r>   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     r>   r¶  zLTestFactorialFunctions.test_factorial2_array_corner_cases.<locals>.<genexpr>ž
  r½  r¾  rF  r   rV   r¿  r  rÀ  rî  rl  rm  ra  rø  rn  rª  rO   )r[   r  rÂ  r*  rÁ  rÚ   rÃ  r   r   r(  r   rJ  r/   rÿ  r`   rä   r^  rQ  r6  rÄ  s                r>   Ú"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)NrF  r  rÀ  rî  rx   ra  rø  rm  rn  r]  r
  re   rH   rÒ   rO   )r*  r   r(  r   rJ  r/   r-  r[   r   r^  rÚ   r6  rD  rÉ  s          r>   Ú#test_factorial2_scalar_corner_casesz:TestFactorialFunctions.test_factorial2_scalar_corner_casesÀ
  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re   rÇ  rl   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 )Nr4   r˜  rÌ  Tr<  FrO   )r™  rš  r   ru   r   r>  r×   )r=   rd   re   rP   s       r>   Ú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rA   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   rV   Tr  r4   g´àø¤tã =r!  FrO   r  ru  rÌ  )rÏ  rÐ  rÑ  rÒ  r  rt   r   r   r>  r™  rš  ru   r   )r=   rd   re   r  rP   rK  s         r>   Útest_factorialk_int_referencez4TestFactorialFunctions.test_factorialk_int_referenceç
  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ð rA   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!  Fr  ru  rO   r   )r   r   r>  )rd   re   r   rP   rK  s        r>   ra  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ÈÖMrA   rF   rŠ   Tr<  )rd   re   r   rÎ   gD!Áñ)@g      @gNqåÅ5®3@rÚ  gªGÜ`­@r  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   r>  r¦  s     r>   Ú!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ÖWrA   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ri  r³  r´  s     r>   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     r>   r¶  zLTestFactorialFunctions.test_factorialk_array_corner_cases.<locals>.<genexpr>/  r½  r¾  rŠ   ru  r   rV   r¿  r  rÀ  rî  rl  rm  ra  rø  rn  rª  rO   )r[   r  rÂ  r*  rÁ  rÚ   rÃ  r   r   r(  r   r>  r/   rÿ  r`   rä   r^  rQ  r6  rÄ  s                r>   Ú"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)Nru  r  rÀ  rî  rx   ra  rø  rm  rn  r]  r
  rÒ   rO   )r*  r   r(  r   r>  r/   r-  r[   r   r^  rÚ   r6  rD  )r=   rd   re   r  rB  rK  r_  r  s           r>   Ú#test_factorialk_scalar_corner_casesz:TestFactorialFunctions.test_factorialk_scalar_corner_casesQ  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rK   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)
NrV   ru  r=  rn  rx   zFor `extend='zero'`.*rî  r   zParameter k cannot be zero!)r/   r-  r*  r   r(  r   r>  )r=   re   r  rB  rc  rd   rK  r¯  s           r>   Ú test_factorialk_raises_k_complexz7TestFactorialFunctions.test_factorialk_raises_k_complexj  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rh  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)NrV   ru  rm  rî  )r*  r   r(  r   r>  )r=   re   r  rB  rc  rd   rK  s          r>   Útest_factorialk_raises_k_otherz5TestFactorialFunctions.test_factorialk_raises_k_other~  sR   € ñ ˆQ‰C˜aˆØ˜u°Ñ7ˆÜ�]‰]œ:Ð-FÔGñ 	(Ü×Ñ˜qÑ' BÒ'÷	(÷ 	(ñ 	(ús   ©A	Á	Ar  c                 ón  — |||dœ}|�rÀ|t        j                  «       v �r©t        j                  t        |   g«      }t        t        j                  |fi |¤Žj                  t        j                  «       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 )Nru  rV   )r-   Úkeysr[   r   r.   r   r   r>  rÿ  Úlongr  r  Úint32r  r~  ÚgetrÚ   )r=   re   r  rB  rK  rd   rÿ  s          r>   Útest_factorialk_dtypez,TestFactorialFunctions.test_factorialk_dtypeŠ  sž  € ð ˜u°Ñ7ˆÚ�QÔ3×8Ñ8Ó:Ò:Ü—‘Ô3°AÑ6Ð7Ó8ˆAÜœ×+Ñ+¨AÑ4°Ñ4×:Ñ:¼B¿G¹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ÕBrA   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)
NrV   rH   rŠ   rL   Fr  r¤  rî  T)	r[   r   r
  r   r   rI  r*  r   r(  ©r=   rÝ   r  s      r>   Ú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)=r'  r(  r)  rD  r*  r+  r-  rL  rN  rR  rY  rb  r[   r
  rÚ   r^  r   Ú
datetime64r   rI  rJ  r>  rr  rv  rt   r‚  rs   Úint8Úint16rñ  r  r”  r•  Úuint32r“  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   r>   r:  r:  ¼  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ÐSVÓ>Wð	
ò
ð ó 
ð ‡[�[×ÑØØ	×	Ñ	˜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ð;ð" ‡[�[×Ñ˜1ÓØ‡[�[×Ñ˜W r§x¡x°·±¸B¿I¹IÀrÇyÁyÐ&QÓRØ‡[�[×Ñ˜^ÚRóTñ)6óTó Só ð)6ðX ‡[�[×Ñ˜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À#Ó-FÐ"GØ"*¨EÐ!2ð ó 4ñ(ó4óTó 5ð(ð ‡[�[×Ñ˜^ÚRóTà‡[�[×Ñ˜S¡%¨¨2£,Ó/ñCó 0óTðCó(-rA   r:  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�ŽÇ/—¸?½�¶!�ëÛ¿)r9  ç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                 ót   — t        t        j                  |«      «      }t        |t        ||g«      dd¬«       y )Nr3  r   rY   )r   r   r6  r   )r=   r  rÜ  rø  Úfrss        r>   Útest_fresnel_valueszTestFresnel.test_fresnel_valuesª  s.   € ô@ ”G—O‘O AÓ&Ó'ˆÜ˜œU A q 6›]°¸aÖ@rA   c                 ó8  — t        j                  d«      \  }}t        |t        g d¢«      dd¬«       t        |t        g d¢«      dd¬«       t        j                  |«      d   }t        j                  |«      d   }t        |ddd¬«       t        |ddd¬«       y )	NrÎ   )y‰ÒÞà @X9´ÈvÒ?y^ºI«@¡Ö4ï8EÏ?y=
×£p½@+‡ÙÎ÷Ë?yßà“©@eâX·É?y„O¯”å@Çº¸�È?çú~j¼t“X?r   rY   )y.� ø1æû?ãÇ˜»–�Ó?yƒÀÊ¡E6@:#J{ƒ/Ð?yqà-�
@yé&1¬Ì?yŒÛh o@¤ß¾œ3Ê?y¨WÊ2Äq@q¬‹ÛhÈ?rV   r[  )r   Úfresnel_zerosr   r   r6  )r=   ÚszoÚczoÚvals1Úvals2s        r>   Útest_fresnel_zeroszTestFresnel.test_fresnel_zerosÏ  s–   € Ü×(Ñ(¨Ó+‰ˆˆSÜ˜œUò $4ó 5ð
 $¨!õ	-ô 	˜œUò $4ó 5ð
 $¨!õ	-ô —‘ Ó$ QÑ'ˆÜ—‘ Ó$ QÑ'ˆÜ˜˜q w°QÕ7Ü˜˜q w°QÖ7rA   c                 ó|   — t        j                  d«      \  }}t        j                  d«      }t        ||dd¬«       y )NrL   çßÄAfcz=r   rY   )r   r  Úfresnelc_zerosr   )r=   r  r  Úfrcs       r>   Útest_fresnelc_zeroszTestFresnel.test_fresnelc_zerosâ  ó4   € Ü×(Ñ(¨Ó+‰ˆˆSÜ×$Ñ$ QÓ'ˆÜ˜˜S w°QÖ7rA   c                 ó|   — t        j                  d«      \  }}t        j                  d«      }t        ||dd¬«       y )NrÎ   r  r   rY   )r   r  Úfresnels_zerosr   )r=   r  r  r  s       r>   Útest_fresnels_zeroszTestFresnel.test_fresnels_zerosç  r  rA   N)r'  r(  r)  r*  r+  r-  r[   r   r  r  r  r  r.  rA   r>   rü  rü  ©  sz   „ Ø‡[�[×Ñ˜Yà7Ø=ð	
ð
	
ð 	&Ø,Ø)Ø/Ø*à	�‰��cÐØ
�&‰&ˆ�$˜Ðð;)ó ñ>Aó?ð>Aò8ò&8ó
8rA   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 r9  )r   r;  r   )r=   Úgams     r>   r<  zTestGamma.test_gammaî  s   € Ü�m‰m˜AÓˆÜ�S˜ÕrA   c                 óˆ   — t        j                  d«      }t        t        j                  d«      «      }t	        ||dd¬«       y )NrŠ   r3  r   rY   )r   rA  r   r;  r   )r=   ÚgamlnÚlngams      r>   rB  zTestGamma.test_gammalnò  s1   € Ü—‘ Ó"ˆÜ”G—M‘M !Ó$Ó%ˆÜ˜˜u¨6¸Ö:rA   c                 óz   — t        j                  dd«      }t        j                  dd«      }t        ||dd¬«       y )Nr„   r3  r   rY   )r   r>  Úgammaincinvr   )r=   ÚgccinvÚgcinvs      r>   r?  zTestGamma.test_gammainccinv÷  s4   € Ü×%Ñ% b¨Ó,ˆÜ×#Ñ# B rÓ*ˆÜ˜ ¨F¸Ö;rA   c                 óX  — t        j                  dd«      }t        j                  d|«      }t        |ddd¬«       t        j                  dd«      }t        j                  dd«      }t        d|dd¬«       t        |ddd¬«       t        j                  dd	«      }t        d
|dd¬«       y )NrI   r>  r   rY   r  gš™™™™™©?g`£	í\Þ;r  g¦m�áìb<g      &@)r   r  Úgammaincr   ©r=   r  rÝ   s      r>   Útest_gammaincinvzTestGamma.test_gammaincinvü  s—   € ä×Ñ  2Ó&ˆÜ×Ñ˜R Ó"ˆÜ˜˜3 W°1Õ5Ü×Ñ˜R Ó&ˆÜ×Ñ Ð$:Ó;ˆÜ˜˜a g°AÕ6Ü˜Ð1¸ÀaÕHÜ×Ñ Ð$JÓKˆÜ˜˜a g°AÖ6rA   c                 óä   — dt        j                  dd«      dt        j                  dd«      dg}|D ]<  }t        j                  d|«      }t        j                  d|«      }t        ||d¬«       Œ> y )	Nr  r   gCsÿÿÿÿÏ?rV   g^F    Ð?rI   r   rO   )r[   r�  r   r  r!  r   )r=   ÚptsÚptr  rÝ   s        r>   Útest_975zTestGamma.test_975  so   € ð
 Ü�|‰|˜D !Ó$ lÜ�|‰|˜D !Ó$ lð4ˆð ò 	/ˆBÜ×#Ñ# B¨Ó+ˆAÜ× Ñ   aÓ(ˆAÜ˜A˜r¨Ö.ñ	/rA   c                 ó|   — t        j                  d«      }dt        j                  d«      z  }t        ||dd¬«       y )Nr  rV   r3  r   rY   )r   rÍ  r;  r   )r=   ÚrgamÚrlgams      r>   rÎ  zTestGamma.test_rgamma  s1   € Ü�~‰~˜aÓ ˆØ”'—-‘- Ó"Ñ"ˆÜ˜˜e¨&°qÖ9rA   c                 óB   — t        t        j                  d«      d«       y )NrK   r   )r   r   rÍ  r<   s    r>   Útest_infinityzTestGamma.test_infinity  s   € Ü”W—^‘^ BÓ'¨Õ+rA   z
x,expectedrF  r–   iàÿÿÿr   é    i üÿÿéc   r  gPÚÂ²ZdbÃc                 óB   — t        t        j                  |«      |«       y ri  )r   r   r;  rõ  s      r>   Ú
test_poleszTestGamma.test_poles  s   € ô  	œ7Ÿ=™=¨Ó+¨XÕ6rA   N)r'  r(  r)  r<  rB  r?  r0   r#  r'  rÎ  r,  r*  r+  r-  r[   r   r
  rt   Úfullr0  r.  rA   r>   r  r  í  s  „ òò;ò
<ð
 ñ	7ó ð	7ð ñ
/ó ð
/ò:ò
,ð ‡[�[×ÑØð �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óñ7rA   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                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y ©Nr  rH   rŠ   r[  r   rY   )r   r   rb  r<   s    r>   Ú
test_negv1zTestHankel.test_negv12  ó,   € ÜœŸ™¨¨AÓ.´·±ÀÀAÓ1FÐ0FØ$¨1ö	.rA   c                 ó®   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      dz  z   }t	        ||dd¬«       y ©NrV   r  r  r3  r   rY   )r   rb  r±  r  r   )r=   Úhank1Úhankrls      r>   rc  zTestHankel.test_hankel16  sE   € Ü—‘  "Ó%ˆÜ—*‘*˜Q˜rÓ"¤W§Z¡Z°°"Ó%5°bÑ%8Ñ8ˆÜ˜˜v¨F¸Ö;rA   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y r5  )r   r   rf  r<   s    r>   Útest_negv1ezTestHankel.test_negv1e;  ó0   € Üœ×(Ñ(¨¨QÓ/´'×2BÑ2BÀ1ÀaÓ2HÐ1HØ$¨1ö	.rA   c                 ó’   — t        j                  dd«      }t        j                  dd«      t        d«      z  }t	        ||dd¬«       y )NrV   r  y       €š™™™™™¹¿r3  r   rY   )r   rf  rb  r   r   )r=   Úhank1eÚhankrles      r>   rg  zTestHankel.test_hankel1e?  s;   € Ü×!Ñ! ! BÓ'ˆÜ—/‘/ ! BÓ'¬¨D«	Ñ1ˆÜ˜ ¨f¸1Ö=rA   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y r5  )r   r   rj  r<   s    r>   Ú
test_negv2zTestHankel.test_negv2D  r7  rA   c                 ó®   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      dz  z
  }t	        ||dd¬«       y r9  )r   rj  r±  r  r   )r=   Úhank2Úhankrl2s      r>   rk  zTestHankel.test_hankel2H  sE   € Ü—‘  "Ó%ˆÜ—:‘:˜a Ó#¤g§j¡j°°2Ó&6°rÑ&9Ñ9ˆÜ˜˜w¨V¸!Ö<rA   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y r5  )r   r   rm  r<   s    r>   Ú
test_neg2ezTestHankel.test_neg2eM  r>  rA   c                 óz   — t        j                  dd«      }t        j                  dd«      }t        ||dd¬«       y )NrV   r  r3  r   rY   )r   rm  r   )r=   Úhank2eÚhankrl2es      r>   Útest_hankl2ezTestHankel.test_hankl2eQ  s4   € Ü×!Ñ! ! BÓ'ˆÜ×#Ñ# A bÓ)ˆÜ˜ ¨v¸AÖ>rA   c                 ó´   — t        j                  dd«      }t        j                  |j                  «      sJ ‚t        j
                  |j                  «      sJ ‚y r9   )r   rj  r[   r   r   Úisposinfr  ©r=   r  s     r>   Útest_hankel2_gh4517zTestHankel.test_hankel2_gh4517V  s>   € ä�o‰o˜a Ó#ˆÜ�x‰x˜Ÿ™Ô!Ð!Ð!Ü�{‰{˜3Ÿ8™8Ô$Ð$Ñ$rA   N)r'  r(  r)  r6  rc  r=  rg  rC  rk  rH  rL  rP  r.  rA   r>   r3  r3  0  s/   „ ò.ò<ò
.ò>ò
.ò=ò
.ò?ó
%rA   r3  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d¬«       y r9  )r   Úh1vpÚjvpÚyvpr   )r=   Úh1Úh1reals      r>   Ú	test_h1vpzTestHyper.test_h1vp^  óE   € Ü�\‰\˜!˜BÓˆÜ—+‘+˜a Ó#¤g§k¡k°!°BÓ&7¸Ñ&:Ñ:ˆÜ˜˜F¨°aÖ8rA   c                 ó®   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      dz  z
  }t	        ||dd¬«       y r9  )r   Úh2vprU  rV  r   )r=   Úh2Úh2reals      r>   Ú	test_h2vpzTestHyper.test_h2vpc  rZ  rA   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   rO   r   r…   rÒ   rÑ  )g      ø¿rK   r   rV   r  )gÄñÌ·â?g3|t-Õ”æ?r…   g�ßo�Ýö?g�{hùç¨ù?r  ©r„   r  rÚ  )r   rV   r„   )r…   gŸá¶cÏý?ra  rH   rŠ   rV   )
r   r   Úhyp0f1r[   r   r×   r  ÚvstackÚassert_raisesr(  )r=   rÝ   r  rØ  Úx2s        r>   Útest_hyp0f1zTestHyper.test_hyp0f1h  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õ	3rA   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )Nçš™™™™™é?y      à?      à?y;EÊGÔÒù?uMÂâé?rÇ   r   rY   )r   rc  r   rO  s     r>   Útest_hyp0f1_gh5764zTestHyper.test_hyp0f1_gh5764‚  s&   € ô �n‰n˜S ,Ó/ˆä˜ÐHØ#¨!ö	-rA   c                 ó  — t        j                  ddd«      }t        |d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 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¢‘g di¢‘g dj¢‘«      }|D ];  \  }}}}t        j                  |||«      }t	        t        ||z
  «      |z  dkk  «       Œ= y )lNr  r  g–ŒŒ™õ?rÇ   r   rY   )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ï¢ õ?rC  )r   rq  r   r   r   r7  )r=   Úhyp1Úref_datar8  r9  rø  r  r…  s           r>   rr  zTestHyper.test_hyp1f1Š  s²  € Ü�~‰~˜b  BÓ'ˆÜ˜Ð0°vÀAÕFô ð 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Ñ:Õ;ñ	<rA   c                 ó~   — t        j                  ddd«      }t        j                  ddd«      }t        ||dd¬«       y )Nr„   r  g7úþB.†Àg|:úþB.†Àr  r   rY   ©r   rq  r   )r=   rl  Úhyp2s      r>   Útest_hyp1f1_gh2957zTestHyper.test_hyp1f1_gh2957þ  s4   € Ü�~‰~˜c 3¨Ó8ˆÜ�~‰~˜c 3¨Ó8ˆÜ˜˜d¨°qÖ9rA   c                 óP   — t        j                  ddd«      }t        |ddd¬«       y )Nr„   r  iüÿÿgÅ<`÷’²œ?r  r   rY   ro  )r=   Úhyps     r>   Útest_hyp1f1_gh2282zTestHyper.test_hyp1f1_gh2282  s#   € Ü�n‰n˜S # uÓ-ˆÜ˜Ð1¸ÀaÖHrA   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 ]6  \  }\  }}}}}t	        j                  ||||«      }t        ||d&d'd(|› �¬)«       Œ8 y )*Nr„   rV   r  ç|®Gáz¤?rÚ  gÿÿÿÿÿÿ÷?g|®Gáz¤¿r0  rÖ   rH   r¿  ri  )rŠ   rÔ  r  rv  gŒYiô2õ?r  rŠ   g433333ó?rF   r  rÎ   rK   rÜ  rk  g       ?rÑ  ç      @g      ÀgUUUUUUÕ¿g  º†@gUUUUUUõ?g«ªªªªªÀ)r  rê  r…   ç      $ÀgEciH!…@)rï  rŠ   rV   çffffffî?gáz®Gáæ?)rH   r  rV   ry  gyé&1¬|¿)rp  rŠ   rV   ry  g"nN%@?)rH   rP  rV   ry  g!¡JÍþ¾)r  é|üÿÿç      %@r2  g²z˜SŽ;)r  rz  g      %Àr2  g[�B.—VP<r3  r   útest #©rZ   rP   Úerr_msg)r   r   r	   r
   r   r;  r   r   rª  rt  r   )	r=   Úvaluesrx   r8  r9  rø  rÝ   rD  Úcvs	            r>   ru  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ò 	NÑˆA‰��1�a˜˜AÜ—‘  1 a¨Ó+ˆBÜ˜B ¨°QÀ&ÈÈÀÖMñ	NrA   c                 óT  — t        j                  ddd«      }t        |d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d¬«       y )NrV   r  r  gÑà D„?rÇ   r   rY   )r  rö  ç333333ó?gš™™™™™À)r  gš™™™™™	@r!  gš™™™™™	Àr„   rH   r  )r   Úhyperur   r   r   r	   rq  r;  )r=   Úval1r8  r9  r  ÚhypuÚhprls          r>   Útest_hyperuzTestHyper.test_hyperu+  s  € Ü�~‰~˜a  CÓ(ˆÜ˜˜i¨f¸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ˆô 	˜˜d¨°qÖ9rA   c                 óL   — t        t        j                  ddd«      ddd¬«       y )NrV   r  g3333334@g«ð(ÃÂ¨?r  r   rY   )r   r   rƒ  r<   s    r>   Útest_hyperu_gh2287zTestHyper.test_hyperu_gh22878  s!   € ÜœŸ™ q¨#¨tÓ4Ð6JØ$¨1ö	.rA   N)r'  r(  r)  rY  r_  rg  rj  rr  rq  rt  ru  r‡  r‰  r.  rA   r>   rR  rR  ]  s9   „ ò9ò
9ò
3ò4-òr<òh:ò
Iò"NòH:ó.rA   rR  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„ Z3dVd3„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„ ZFdWdC„ZGdD„ ZHdE„ ZIdF„ ZJdG„ ZKdH„ ZLdI„ ZMdJ„ ZNdK„ ZOdL„ ZPdM„ ZQdN„ ZRdO„ ZSdP„ ZTdQ„ ZUe5jl                  j­                  dRdSdTg«      dU„ «       ZWy2)XÚ
TestBesselc                 ót   — t        t        j                  d«      «      }t        |t        ddg«      dd¬«       y )NrÖ   gîb�“ÉƒÉ?gÎ�Jö Ö¿r3  r   rY   )r   r   r—  r   )r=   Úit0s     r>   r˜  zTestBessel.test_itj0y0>  s2   € Ü”G—N‘N 2Ó&Ó'ˆÜ˜œUÐ$7Ð9MÐ#NÓOØ#¨!ö	-rA   c                 ót   — t        t        j                  d«      «      }t        |t        ddg«      dd¬«       y )NrÖ   gbqòÌTtt?g/]ÃooÊÛ¿r3  r   rY   )r   r   r‰  r   )r=   Úit2s     r>   rŠ  zTestBessel.test_it2j0y0C  s2   € Ü”G—O‘O BÓ'Ó(ˆÜ˜œUÐ$9Ð;OÐ#PÓQØ#¨!ö	-rA   c                 ól   — t        t        j                  dd«      t        j                  dd«      «       y ©NrŠ   rH   r  )r   r   r   r<   s    r>   Útest_negv_ivzTestBessel.test_negv_ivH  s!   € Ü”W—Z‘Z  !“_¤g§j¡j°°AÓ&6Õ7rA   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y ©Nr  r   r3  rY   )r   r¨  r®  r   ©r=   ÚozÚozrs      r>   r©  zTestBessel.test_j0K  ó-   € Ü�Z‰Z˜‹^ˆÜ�j‰j˜˜2ÓˆÜ˜˜C f°1Ö5rA   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y ©Nr  rV   r3  r   rY   )r   r«  r®  r   ©r=   Úo1Úo1rs      r>   r¬  zTestBessel.test_j1P  r˜  rA   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )NrV   rÖ   çÕ;öâx¹?r3  r   rY   )r   r®  r   )r=   Újnnrs     r>   r¯  zTestBessel.test_jnU  s!   € Ü�z‰z˜!˜BÓˆÜ˜Ð2¸ÀaÖHrA   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y r5  ©r   r   r±  r<   s    r>   Útest_negv_jvzTestBessel.test_negv_jvY  s*   € ÜœŸ
™
 2 qÓ)¬G¯J©J°q¸!Ó,<Ð+<À7ÐQRÖSrA   c           	      ó¦   — g d¢g d¢g d¢g d¢g d¢g}t        |«      D ]2  \  }\  }}}t        j                  ||«      }t        ||ddd|› �¬	«       Œ4 y )
N)r   r  g³
Yeˆëï?)çUUUUUUå?ç:Œ0âŽyE>gË¿ÀÀÂ+Ë>)r¥  rX   g)%¡›¹-„>)gÍÌÌÌÌÌ@rX   g5Ôc)Ç!9)r¥  r  g%²,ÄÍ¿r3  r   r|  r}  )rª  r   r±  r   )r=   r  rx   rD  rÝ   r  Úycs          r>   r²  zTestBessel.test_jv\  s`   € Ú/Ú5Ú6Ú6Ú2ð	ˆô & fÓ-ò 	N‰LˆA‰y��1�aÜ—‘˜A˜qÓ!ˆBÜ˜B ¨°QÀ&ÈÈÀÖMñ	NrA   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y r5  )r   r   r´  r<   s    r>   Útest_negv_jvezTestBessel.test_negv_jveg  ó,   € ÜœŸ™ B¨Ó*¬W¯[©[¸¸AÓ->Ð,>Ø$¨1ö	.rA   c                 ó  — t        j                  dd«      }t        |ddd¬«       t        j                  dd«      }d}t        j                  d|«      t	        t        |j                  «       «      z  }t        ||dd¬«       y )NrV   rÖ   rŸ  r3  r   rY   ùš™™™™™É?      ð?)r   r´  r   r±  r   r7  r  )r=   ÚjvexpÚjvexp1r  Újvexprs        r>   rµ  zTestBessel.test_jvek  sg   € Ü—‘˜A˜bÓ!ˆÜ˜Ð3¸&ÀqÕIÜ—‘˜Q˜uÓ%ˆØˆÜ—‘˜A˜a“¤¤c¨!¯&©&£k \Ó!2Ñ2ˆÜ˜ ¨V¸!Ö<rA   c                 ó€  — t        j                  dd«      }t        j                  dd«      }t        |t        g d¢«      dd¬«       t        |t        g d¢«      dd¬«       t        j                  dd«      }t        |t        g d	¢«      d
¬«       t        j                  dd«      }t        |t        g d¢«      d
¬«       y )Nr   rÎ   rV   )go@—.=@gzj,[�@g“ÆÌlµN!@g5/ƒ D•'@g”hó>¡Ü-@r<  rY   ©gžŽ’W§@g”0Óö@g›¬QÑX$@g ²º¥*@g8„*5{x0@rU   )g’Eèk¹[@g÷~CÅju]@gYrÊ�ìì^@g�Ê,Æ `@gò»f	À`@rN   rO   é-  )g“õ¦t™s@g&»Ç­r3t@gWú¦þ’³t@gæ,‘$Y&u@gëú­…†�u@©r   Újn_zerosr   r   )r=   Újn0Újn1Újn102Újn301s        r>   Útest_jn_zeroszTestBessel.test_jn_zeross  sÆ   € Ü×Ñ˜q Ó#ˆÜ×Ñ˜q Ó#ˆÜ˜œUò $3ó 4ð
 $¨!õ	-ô 	˜œUò $.ó /ð
 $¨!õ	-ô × Ñ   QÓ'ˆÜ˜œuò &>ó  ?ð FKõ		Lô × Ñ   QÓ'ˆÜ˜œuò &>ó  ?ð FKö		LrA   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   rk   i  gç¾;€‰@rN   rO   i  g¬8ç¯âv‹@i+  g×‚MŠm�@r  gíxæÙiý‰@g‡	,ô‹@gÐ¸{>Éê�@iÂ  rÎ   )gU´DX»¹§@g×ÒÈ!â§@g*±HÄS¨@g¾zú5Á ¨@g@–2�º;¨@r¦  r³  )r=   rµ  Újn10Újn3010s       r>   Ú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rA   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|› �«      ‚ Œw y )Nc                 ó<   •—  ‰| dz
  |«       ‰| dz   |«      z
  dz  S )NrV   rH   r.  )rd   rÝ   r®  s     €r>   Újnpz(TestBessel.test_jnjnp_zeros.<locals>.jnp¦  s'   ø€ Ù�q˜‘s˜1“I¡ 1 Q¡3 q£	Ñ)¨1Ñ,Ð,rA   rV   rR   r   r©   r  zInvalid t return for nt=)r   r®  rt   Újnjnp_zerosr5  r   ÚAssertionError)r=   rÀ  Úntr  rd   r  ÚtÚzzÚnnÚttr®  s             @r>   Útest_jnjnp_zeroszTestBessel.test_jnjnp_zeros£  s¤   ø€ Ü�Z‰Zˆô	-ä˜˜2“,ò 	JˆBÜ ×,Ñ,¨RÓ0‰JˆAˆq�!�QÜ! ! Q¨›lò J‘
��B˜Ø˜’7Ü#¡B r¨2£J°¸Ö=Ø˜1’WÜ#¡C¨¨B£K°¸Ö>ä(Ð+CÀBÀ4Ð)HÓIÐIñJñ	JrA   c                 óÔ   — t        j                  dd«      }t        |t        g d¢«      dd¬«       t        j                  dd«      }t        t        j                  d|«      dd¬	«       y )
NrV   rÎ   ©gÚÉà(yuý?gOXâeS@g¦aøˆ˜!@g¶óýÔxi'@g'Nîw(º-@r<  r   rY   é»  rÒ   r  )r   Ú	jnp_zerosr   r   rU  )r=   rÀ  s     r>   Útest_jnp_zeroszTestBessel.test_jnp_zeros²  s\   € Ü×Ñ  !Ó$ˆÜ˜œUò $.ó /ð
 $¨!õ	-ô ×Ñ  AÓ&ˆÜœŸ™ C¨Ó-¨q°uÖ=rA   c           
      ó®   — t        j                  dd«      }t        |t        g d¢«      t        g d¢«      t        g d¢«      t        g d¢«      fdd¬	«       y )
NrV   rÎ   r±  rÊ  )çÞå"¾“@g+û®þ·@gŒ-9(1!@gÈ˜»–�'@g–>tA}Ë-@)g‚”0Óv@gj¼t“Ä@g§èH.?$@gŠ}"O’*@gG¬Å§p0@rn  r   rY   )r   Ú
jnyn_zerosr   r   )r=   Újnzs     r>   Útest_jnyn_zeroszTestBessel.test_jnyn_zeros½  sc   € Ü× Ñ   AÓ&ˆÜ˜œeò %/ó 0ô
 $ò %/ó 0ô
 $ò %/ó 0ô
 $ò %/ó 0ð1ð( $¨!ö)	-rA   c                 ó®   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      z
  dz  }t        ||dd¬«       y )NrH   rV   rŠ   r>  r   rY   )r   rU  r±  r   )r=   ÚjvprimÚjv0s      r>   Útest_jvpzTestBessel.test_jvpÕ  sC   € Ü—‘˜Q˜qÓ!ˆÜ�z‰z˜!˜A‹œwŸz™z¨!¨A›Ñ.°Ñ1ˆÜ˜ ¨'¸Ö:rA   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y r”  )r   r¸  rè  r   )r=   ÚozkÚozkrs      r>   r¹  zTestBessel.test_k0Ú  ó-   € Ü�j‰j˜‹nˆÜ�z‰z˜!˜BÓˆÜ˜˜D v°AÖ6rA   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y r”  )r   r¼  rë  r   )r=   ÚozkeÚozkers      r>   r½  zTestBessel.test_k0eß  ó-   € Ü�{‰{˜2‹ˆÜ—‘˜A˜bÓ!ˆÜ˜˜e¨&°qÖ9rA   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y rš  )r   rÀ  rè  r   )r=   Úo1kÚo1krs      r>   rÁ  zTestBessel.test_k1ä  rÚ  rA   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y rš  )r   rÃ  rë  r   )r=   Úo1keÚo1kers      r>   rÄ  zTestBessel.test_k1eé  rÞ  rA   c                 óP  — 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d¬«       t	        |j
                  t        ||z   dz   ||z
  g«      dz  d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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d¬«       y )NrÎ   rV   r   rH   rŠ   r‚  rY   rk  rF   g       @rL   r  r  g      H@)r[   ra   r   Újacobir   rø  r   )
r=   r8  r9  ÚP0ÚP1ÚP2ÚP3ÚcpÚp2cÚp3cs
             r>   Útest_jacobizTestBessel.test_jacobiî  s]  € ØŒb�i‰i×ÑÓ Ñ  1Ñ$ˆØŒb�i‰i×ÑÓ Ñ  1Ñ$ˆÜ�^‰^˜A˜a Ó"ˆÜ�^‰^˜A˜a Ó"ˆÜ�^‰^˜A˜a Ó"ˆÜ�^‰^˜A˜a Ó"ˆä˜Ÿ™˜q˜c¨°aÕ8Ü˜Ÿ™œe Q¨¡U¨Q¡Y°°A±Ð$6Ó7¸#Ñ=Ø$¨1õ	.à�‰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ˆÜ˜Ÿ™œe C›j¨3Ñ.°WÀ1ÕEØ�‰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ˆÜ˜Ÿ™œe C›j¨4Ñ/°gÀAÖFrA   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )Nr   rÖ   ç_±2ü?r3  rY   )r   rÕ  r   )r=   Úkn1s     r>   rÖ  zTestBessel.test_kn  s!   € Ü�j‰j˜˜2ÓˆÜ˜Ð/°fÀ1ÖErA   c                 ól   — t        t        j                  dd«      t        j                  dd«      «       y ©NrÑ  r)  rÓ  ©r   r   rè  r<   s    r>   Útest_negv_kvzTestBessel.test_negv_kv  s"   € Ü”W—Z‘Z  SÓ)¬7¯:©:°d¸CÓ+@ÕArA   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )Nr   rÖ   rð  r>  rY   ©r   rè  r   )r=   Úkv0s     r>   Útest_kv0zTestBessel.test_kv0  s!   € Ü�j‰j˜˜2ÓˆÜ˜Ð/°gÀAÖFrA   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )NrV   rÖ   gKçÞ‹˜@r>  r   rY   r÷  )r=   Úkv1s     r>   Útest_kv1zTestBessel.test_kv1  ó!   € Ü�j‰j˜˜3ÓˆÜ˜Ð.°WÀ1ÖErA   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )NrH   rÖ   g¢)lH—ÁH@r>  r   rY   r÷  )r=   Úkv2s     r>   Útest_kv2zTestBessel.test_kv2  rý  rA   c                 óD   — t        t        j                  dd«      d«       y )Nr-  rV   gÜ.€Õ”"éH)r   r   rÕ  r<   s    r>   Útest_kn_largeorderzTestBessel.test_kn_largeorder  s   € ÜœŸ
™
 2 qÓ)Ð+AÕBrA   c                 óD   — t        t        j                  dd«      d«       y )Nr   g =‘`äXáCrô  r<   s    r>   Útest_kv_largeargzTestBessel.test_kv_largearg  s   € Ü”W—Z‘Z  4Ó(¨!Õ,rA   c                 ól   — t        t        j                  dd«      t        j                  dd«      «       y ró  )r   r   rë  r<   s    r>   Útest_negv_kvezTestBessel.test_negv_kve  s"   € Ü”W—[‘[  cÓ*¬G¯K©K¸¸cÓ,BÕCrA   c                 ó$  — t        j                  dd«      }t        j                  dd«      t        d«      z  }t	        ||dd¬«       d}t        j                  d|«      }t        j                  d|«      t        |«      z  }t	        ||dd¬«       y )Nr   rÖ   r3  rY   r¬  )r   rë  rè  r   r   )r=   Úkve1rû  r  Úkve2rÿ  s         r>   rì  zTestBessel.test_kve  st   € Ü�{‰{˜1˜RÓ ˆÜ�j‰j˜˜2Óœs 2›wÑ&ˆÜ˜˜c¨°QÕ7ØˆÜ�{‰{˜1˜QÓˆÜ�j‰j˜˜1‹oœc !›fÑ$ˆÜ˜˜c¨°QÖ7rA   c                 ó|   — d}t        t        j                  d|«       t        j                  d|d¬«      dd¬«       y )Nr)  rV   r   ©rd   r>  rY   )r   r   rè  Úkvp)r=   r  s     r>   Útest_kvp_v0n1zTestBessel.test_kvp_v0n1&  s3   € ØˆÜœŸ™ A qÓ)Ð)¬7¯;©;°q¸!¸qÔ+AØ$¨1ö	.rA   c                 óÈ   — d}d}t        j                  |dz   |«       ||z  t        j                  ||«      z  z   }t        j                  ||d¬«      }t        ||dd¬«       y )NrÑ  r)  rV   r  r>  r   rY   ©r   rè  r  r   ©r=   rD  r  ÚxcrÝ   s        r>   Útest_kvp_n1zTestBessel.test_kvp_n1+  s[   € ØˆØˆÜ�j‰j˜˜1™˜QÓÐ ! A¡#¤g§j¡j°°1£oÑ"5Ñ5ˆÜ�K‰K˜˜!˜qÔ!ˆä˜˜A G°!Ö4rA   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d¬«       y )	NrÑ  r)  rH   rV   r  r>  r   rY   r  r  s        r>   Útest_kvp_n2zTestBessel.test_kvp_n23  sr   € ØˆØˆØ�‰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 Ô"ˆÜ˜˜A G°!Ö4rA   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y r”  )r   r  r  r   r•  s      r>   r  zTestBessel.test_y0:  r˜  rA   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y rš  )r   r4  r  r   r›  s      r>   r  zTestBessel.test_y1?  s-   € Ü�Z‰Z˜‹^ˆÜ�j‰j˜˜2ÓˆÜ˜˜3 V°!Ö4rA   c                 óJ  — t        j                  d«      \  }}t        j                  dd¬«      \  }}t        ||f   }t        ||f   }t        t	        t        j
                  d|«      «      ddd¬«       t        t	        t        j
                  d|«      |z
  «      ddd¬«       y )NrH   rV   ©r  r–   r=  r   rY   )r   Úy0_zerosr   r   r7  r  )r=   ÚyoÚypoÚzoÚzporà  Úallvals          r>   Útest_y0_zeroszTestBessel.test_y0_zerosD  sˆ   € Ü×!Ñ! !Ó$‰ˆˆ3Ü×!Ñ! !¨AÔ.‰ˆˆ3Ü��B�‰iˆÜ�C˜�G‘ˆÜœœGŸJ™J s¨CÓ0Ó1°3¸WÈ1ÕMÜœœGŸJ™J q¨#Ó.°Ñ7Ó8¸#ÀGÐRSÖTrA   c                 óx   — t        j                  d«      }t        |t        dg«      t        dg«      fdd¬«       y )NrV   rÏ  gÑ®BÊOªà?rn  r   rY   )r   Úy1_zerosr   r   )r=   r4  s     r>   Útest_y1_zeroszTestBessel.test_y1_zerosL  s6   € Ü×Ñ˜aÓ ˆÜ˜œU G 9Ó-¬u°g°YÓ/?Ð@Ø#¨!ö	-rA   c                 ó|   — t        j                  dd¬«      }t        |t        dg«      t        dg«      fdd¬«       y )NrV   r  yL¦
F%uâ?!°rh‘íì?y;ßO�—nè¿Ð³Yõ¹Úâ?r  r   rY   )r   Ú	y1p_zerosr   r   )r=   Úy1ps     r>   Útest_y1p_zeroszTestBessel.test_y1p_zerosQ  s9   € Ü×Ñ ¨!Ô,ˆÜ˜œe ] OÓ4´e¸_Ð<MÓ6NÐOØ#¨!ö	-rA   c                 ó°   — t        j                  dd«      }t        |t        ddg«      dd¬«       t        j                  dd	«      }t        |g d
¢d¬«       y )NrF   rH   g¿œ3¢”@g·(³A&¹"@rn  r   rY   rË  rÎ   )g]E.ô+"|@gçHå(éð|@gffÂ|çŒ}@g&îb`~@g�HO_°�~@rÒ   rO   )r   Úyn_zerosr   r   )r=   Úans     r>   Útest_yn_zeroszTestBessel.test_yn_zerosV  sR   € Ü×Ñ˜a Ó"ˆÜ˜œE 7¨GÐ"4Ó5¸FÈÕKÜ×Ñ˜c !Ó$ˆÜ˜ò 4ð
 #ö	%rA   c                 óD  — t        j                  dd«      }t        |t        ddg«      dd¬«       t        j                  dd«      }t        t        j                  d|«      dd	¬
«       t        j                  dd«      }t        t        j                  d|«      dd¬
«       y )Nr   rH   gÎQhÕ¾“@gŠzNþ·@r6  rY   é+   rÎ   rÒ   r  rË  rÐ   )r   Ú	ynp_zerosr   r   rV  ©r=   Úaos     r>   Útest_ynp_zeroszTestBessel.test_ynp_zerosa  s~   € Ü×Ñ˜q Ó#ˆÜ˜œE :¨zÐ":Ó;À&ÈqÕQÜ×Ñ˜r !Ó$ˆÜœŸ™ B¨Ó+¨Q°UÕ;Ü×Ñ˜s 1Ó%ˆÜœŸ™ C¨Ó,¨a°dÖ;rA   c                 ót   — t        j                  dd«      }t        t        j                  d|«      dd¬«       y )NrË  rÎ   r   r!  r  )r   r-  r   rV  r.  s     r>   Útest_ynp_zeros_large_orderz%TestBessel.test_ynp_zeros_large_orderi  s+   € Ü×Ñ˜s 1Ó%ˆÜœŸ™ C¨Ó,¨a°eÖ<rA   c                 óN   — t        j                  dd«      }t        |ddd¬«       y ©NrV   rÖ   ç5‹,Ž1—
Àr3  r   rY   )r   r  r   )r=   Úyn2ns     r>   r  zTestBessel.test_ynm  s!   € Ü�z‰z˜!˜BÓˆÜ˜Ð1¸ÀQÖGrA   c                 ó\   — t        j                  dd«      }|t        j                   k(  sJ ‚y )NrT   rV   )r:   r  r[   r   )r=   rû  s     r>   Útest_yn_gh_20405zTestBessel.test_yn_gh_20405q  s&   € ä—9‘9˜S !Ó$ˆØœBŸF™F˜7Ò"Ð"Ñ"rA   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y r5  )r   r   r  r<   s    r>   Útest_negv_yvzTestBessel.test_negv_yvv  s,   € ÜœŸ
™
 2 qÓ)¬G¯J©J°q¸!Ó,<Ð+<Ø$¨1ö	.rA   c                 óN   — t        j                  dd«      }t        |ddd¬«       y r4  )r   r  r   )r=   Úyv2s     r>   r  zTestBessel.test_yvz  s!   € Ü�j‰j˜˜2ÓˆÜ˜Ð0°vÀAÖFrA   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y r5  )r   r   r  r<   s    r>   Útest_negv_yvezTestBessel.test_negv_yve~  rª  rA   c                 óÜ   — t        j                  dd«      }t        |ddd¬«       t        j                  dd«      t	        d«      z  }t        j                  dd«      }t        ||dd¬«       y )	NrV   rÖ   r5  r3  r   rY   r¬  rK   )r   r  r   r  r   )r=   Úyve2Úyve2rÚyve22s       r>   r  zTestBessel.test_yve‚  sX   € Ü�{‰{˜1˜RÓ ˆÜ˜Ð1¸ÀQÕGÜ—
‘
˜1˜UÓ#¤C¨£GÑ+ˆÜ—‘˜A˜eÓ$ˆÜ˜˜u¨6¸Ö:rA   c                 ó®   — t        j                  dd«      t        j                  dd«      z
  dz  }t        j                  dd«      }t        ||dd¬«       y )	NrV   rÖ   rŠ   rk  rH   r>  r   rY   )r   r  rV  r   )r=   ÚyvprÚyvp1s      r>   Útest_yvpzTestBessel.test_yvp‰  sE   € Ü—
‘
˜1˜RÓ ¤7§:¡:¨a°Ó#3Ñ3°SÑ8ˆÜ�{‰{˜1˜RÓ ˆÜ˜˜d¨°qÖ9rA   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Àrx  rÕ   rê  r–   r…   ç{®Gáú(@r  r²  )iìúÿÿéõÿÿÿr  rK   r…   rp  ç     i@g     y@g     Ä‚@gÍÌÌÌÌä…@é  i'  Nr„   iÄÿÿÿrB  rÔ  )Ú	itertoolsÚproductr   )r=   rD  r  s      r>   Ú_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 )Nr  çœu ˆ<ä7~r   )r~  rP   rZ   )	rO  rs   r[   rÄ  r   r7  r   r  r   )r=   r–  Úf2rP   rZ   rÁ  rD  r  Úc1Úc2Úc3s              r>   Ú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ö;ñ	;rA   Úppc64lezfails on ppc64ler  c                 óf   — | j                  t        j                  t        j                  dd¬«       y )NrX   çu5%ÅÅœ r"  )rV  r   r±  r®  r<   s    r>   Útest_jv_cephes_vs_amosz!TestBessel.test_jv_cephes_vs_amos©  ó#   € ð 	×!Ñ!¤'§*¡*¬g¯j©j¸uÈ6Ð!ÕRrA   c                 óf   — | j                  t        j                  t        j                  dd¬«       y )Nç•dyáý¥=rY  r"  ©rV  r   r  r  r<   s    r>   Útest_yv_cephes_vs_amosz!TestBessel.test_yv_cephes_vs_amos®  r[  rA   c                 ón   — d„ }| j                  t        j                  t        j                  dd|¬«       y )Nc                 ó   — t        | «      dkD  S )Nr  )r7  )rD  r  s     r>   ÚskipperzDTestBessel.test_yv_cephes_vs_amos_only_small_orders.<locals>.skipper´  s   € Ü�q“6˜B‘;ÐrA   r]  rY  )rP   rZ   rÁ  r^  )r=   rb  s     r>   Ú(test_yv_cephes_vs_amos_only_small_ordersz3TestBessel.test_yv_cephes_vs_amos_only_small_orders³  s-   € ò	à×!Ñ!¤'§*¡*¬g¯j©j¸uÈ6Ø'.ð 	"õ 	0rA   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>rY  r"  )r[   rð  rV  r   r   r<   s    r>   Ú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 rV   r„   rK   rH   ©rä   rÖ   r  r   ró  rß  r  rQ  gYóøÂn¥gH¯¼šò×Š>)r[   ra   rm   rá  râ  r×   r  rð  r   r   r   r7  r   Úargmaxr   )	r=   r*  rD  rÝ   ÚimskrS  rT  Údcre   s	            r>   Ú 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Ð   rY  r"  )rV  r   rè  rÕ  r<   s    r>   Útest_kv_cephes_vs_amosz!TestBessel.test_kv_cephes_vs_amosÝ  s@   € Ø×!Ñ!¤'§*¡*¬g¯j©j¸tÈ&Ð!ÔQØ×!Ñ!¤'§*¡*¬g¯j©j¸tÈ&Ð!ÕQrA   c                 óÄ   — t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       y )	NrŠ   rF   gPòýîí‡Û?r²  rL  g©~OmÊ’?gY†8ÖE@”@gKÆSn˜ô–¿r¢  r<   s    r>   Útest_ticket_623zTestBessel.test_ticket_623á  sD   € ÜœŸ
™
 1 aÓ(Ð*=Ô>ÜœŸ
™
 3¨Ó-Ð/AÔBÜœŸ
™
 3¨	Ó2Ð4GÕHrA   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 BesselsrK   rV   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Ó?      ð?r  N)r   r   r±  r  r   rè  r´  r   r  r¤  rë  rb  rj  r<   s    r>   Útest_ticket_853zTestBessel.test_ticket_853æ  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¸Ó(=Ñ%=Ñ=õ	
rA   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„   rK   rV   r   rH   rF   N)r   r   r   r±  r   r  rè  r´  r¤  r  rë  rC   rà  rÂ  r<   s    r>   Ú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ÕKrA   c                 óÄ   — t        t        j                  dd«      t        j                  k(  «       t        t        j
                  dd«      t        j                  k(  «       y )Nr  r   )r   r   rè  r[   r   rë  r<   s    r>   Útest_gh_7909zTestBessel.test_gh_7909)  s:   € Ü”—
‘
˜3 Ó"¤b§f¡fÑ,Ô-Ü”—‘˜C Ó#¤r§v¡vÑ-Õ.rA   c                 ó„   — t        t        j                  dd«      d«       t        t        j                  dd«      d«       y)zReal-valued Bessel I overflowrV   i¼  gá¹Îõ¥‡¬~rS   i`  g ¶?los~N©r   r   r   r<   s    r>   Útest_ticket_503zTestBessel.test_ticket_503-  s.   € äœŸ
™
 1 cÓ*Ð,AÔBÜœŸ
™
 4¨Ó.Ð0EÕFrA   c                 óD   — t        t        j                  dd«      d«       y )Nrê  rV   rq  rx  r<   s    r>   Útest_iv_hyperg_poleszTestBessel.test_iv_hyperg_poles2  s   € ÜœŸ
™
 4¨Ó+Ð->Õ?rA   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   rH   r„   rV   rK   r  )r   r×   r   r   r   rA  r   r   r   r7  r  r   r  Úsum©r=   rD  r  rd   re   rC  r  s          r>   Ú	iv_serieszTestBessel.iv_series5  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˜ˆ|ÐrA   c                 ó€   — dD ]9  }| j                  d|«      \  }}t        t        j                  |«      |||¬«       Œ; y )N©r…   rp  rK  r   ©rZ   r~  )r  r   r   rx  ©r=   r  Úvaluer  s       r>   Útest_i0_serieszTestBessel.test_i0_series=  ó=   € Ø!ò 	GˆAØŸ™¨¨1Ó-‰JˆE�3ÜœGŸJ™J q›M¨5°sÀAÖFñ	GrA   c                 ó€   — dD ]9  }| j                  d|«      \  }}t        t        j                  |«      |||¬«       Œ; y )Nr�  rV   r‚  )r  r   r   r  rƒ  s       r>   Útest_i1_serieszTestBessel.test_i1_seriesB  r†  rA   c           	      ó”   — dD ]C  }dD ]<  }| j                  ||«      \  }}t        t        j                  ||«      ||||f¬«       Œ> ŒE y )N)rH  rx  rÕ   r–   r…   rI  r  )r…   rp  rK  y      ð¿       @r‚  )r  r   r   r   ©r=   rD  r  r„  r  s        r>   Útest_iv_serieszTestBessel.test_iv_seriesG  sU   € Ø7ò 	SˆAØ,ò S�Ø!Ÿ^™^¨A¨qÓ1‘
��sÜ¤§
¡
¨1¨aÓ 0°%¸cÈAÈqÈ6ÖRñSñ	SrA   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d|› �¬«       Œ? y )Nr–   r…   rX   r  g0oO…øí?r„   gÖÊÿ!¤ä?gr¢·bÏÝ?rÚ  gâ®ÄÞpHÑ?r0  gð“ÌíC~Ç?ç      4@gïgo¯×û¶?r3  r   r|  r}  )rª  r   rx  r   r   ©r=   r  rx   rÝ   rD  r€  s         r>   ry  zTestBessel.test_i0M  s•   € Ø˜�*Ø˜#�,Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð&ðˆô # 6Ó*ò 	N‰IˆA‰v��1Ü—‘˜A“¤ a R£Ñ(ˆBÜ˜B ¨°QÀ&ÈÈÀÖMñ	NrA   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y r”  )r   r|  r¤  r   )r=   ÚoizeÚoizers      r>   r}  zTestBessel.test_i0e[  ó-   € Ü�{‰{˜2‹ˆÜ—‘˜A˜rÓ"ˆÜ˜˜e¨&°qÖ9rA   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d|› �¬«       Œ? y )Nr–   rX   gjïËÙß|Ë=r  gÈ•!§[1§?r„   g;Í˜Ä?r…   gèRùÎœÊ?r0  g|«äýÄ?r�  g}¦‹ÊÎf¶?r3  r   r|  r}  )rª  r   r  r   r   rŽ  s         r>   r€  zTestBessel.test_i1`  s�   € Ø˜�*ØÐ0Ð1Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð&ðˆô # 6Ó*ò 	N‰IˆA‰v��1Ü—‘˜A“¤ a R£Ñ(ˆBÜ˜B ¨°QÀ&ÈÈÀÖMñ	NrA   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y rš  )r   r‚  r¤  r   )r=   Úoi1eÚoi1ers      r>   rƒ  zTestBessel.test_i1em  r’  rA   c                 ót   — t        t        j                  d«      «      }t        |t        ddg«      dd¬«       y )NrÎ   gÑ—JBÙ?@g*uõÌù?rn  r   rY   )r   r   r“  r   )r=   Úiti0s     r>   r”  zTestBessel.test_iti0k0r  s2   € Ü”W—^‘^ AÓ&Ó'ˆÜ˜œeÐ%7Ð9KÐ$LÓMØ#¨!ö	-rA   c                 ób   — t        j                  d«      }t        |t        ddg«      dd¬«       y )Nr  gÝ³¿É„|T?gVäÀ‚Æ¥
@r6  r   rY   )r   r…  r   r   )r=   Úit2ks     r>   r†  zTestBessel.test_it2i0k0w  s-   € Ü�‰˜rÓ"ˆÜ˜œeÐ%:Ð<NÐ$OÓPØ#¨!ö	-rA   c                 óf   — t        j                  dd«      t        d«      z  }t        |ddd¬«       y )Nr   r  çš™™™™™¹¿gv M…øí?r>  rY   )r   r   r   r   )r=   Úiv1s     r>   r¡  zTestBessel.test_iv|  s*   € Ü�j‰j˜˜2Óœs 3›xÑ'ˆÜ˜Ð0°wÀQÖGrA   c                 ól   — t        t        j                  dd«      t        j                  dd«      «       y r‘  )r   r   r¤  r<   s    r>   Útest_negv_ivezTestBessel.test_negv_ive€  s"   € Ü”W—[‘[  1Ó%¤w§{¡{°2°aÓ'8Õ9rA   c                 ó’   — t        j                  dd«      }t        j                  dd«      t        d«      z  }t	        ||dd¬«       y )Nr   r  rœ  r>  rY   )r   r¤  r   r   r   )r=   Úive1r�  s      r>   r¥  zTestBessel.test_iveƒ  s9   € Ü�{‰{˜1˜RÓ ˆÜ�j‰j˜˜2Óœs 3›xÑ'ˆÜ˜˜c¨°aÖ8rA   c                 ór   — t        t        j                  dd«      t        j                  dd«      dd¬«       y )NrV   rH   r   r>  rY   )r   r   r   Úivpr<   s    r>   Ú	test_ivp0zTestBessel.test_ivp0ˆ  s'   € ÜœŸ
™
 1 aÓ(¬'¯+©+°a¸Ó*;À'ÐPQÖRrA   c                 ó®   — t        j                  dd«      t        j                  dd«      z   dz  }t        j                  dd«      }t        ||dd¬«       y )Nr   rH   rV   r>  rY   )r   r   r£  r   r"  s      r>   Útest_ivpzTestBessel.test_ivp‹  sC   € Ü�Z‰Z˜˜!‹_œwŸz™z¨!¨A›Ñ.°Ñ1ˆÜ�K‰K˜˜!ÓˆÜ˜˜1 7°Ö3rA   zx, expected)ç  4&õkCgÀeA¸Kq:>)çêŒ 9Y>)Fg/ˆ£ò"Ä¼c                 óF   — t        t        j                  |«      |d¬«       y )Nrá  rO   )r   r   r¨  rõ  s      r>   Útest_gh22705zTestBessel.test_gh22705�  s   € ô 	œŸ
™
 1› x°eÖ<rA   )r]  r   N)éÈ   )Xr'  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  r2  r  r8  r:  r  r>  r  rF  rO  rV  r*  r+  r,  rš  ÚmachinerZ  r_  rc  re  Úslowrk  rm  ro  rr  rt  rv  ry  r{  r  r…  rˆ  r‹  ry  r}  r€  rƒ  r”  r†  r¡  rŸ  r¥  r¤  r¦  r-  rª  r.  rA   r>   r‹  r‹  =  sb  „ ò-ò
-ò
8ò6ò
6ò
IòTò	Nò.ò=òLò<Gò$Jò	>ò-ò0;ò
7ò
:ò
7ò
:ò
Gò&FòBòGòFòFòCò-òDò8ò.ò
5ò5ò6ò
5ò
Uò-ò
-ò
	%ò<ò=òHò#ò
.òGò.ò;ò:ò

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òNò:ò
Nò:ò
-ò
-ò
Hò:ò9ò
Sò4ð
 ‡[�[×Ñ˜]Ø	&Ø	'ð	
óñ=ó	ñ=rA   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d¬«       t        |j                  d	dgdd¬«       t        |j                  t	        g d
¢«      dz  dd¬«       t        |j                  t	        g d¢«      dz  dd¬«       t        |j                  t	        g d¢«      dz  dd¬«       t        |j                  t	        g d¢«      dz  dd¬«       y )Nr   rV   rH   rŠ   rF   rÎ   r‚  rY   rK   )rV   rD  rH   rk  )rK   r  iîÿÿÿrL   r9  )rV   iðÿÿÿéH   i ÿÿÿrÔ   r:  )rK   rÏ   i8ÿÿÿiX  i¨ýÿÿr  r  )r   Úlaguerrer   rø  r   )r=   Úlag0Úlag1Úlag2Úlag3Úlag4Úlag5s          r>   Útest_laguerrezTestLaguerre.test_laguerre�  s  € Ü×Ñ Ó"ˆÜ×Ñ Ó"ˆÜ×Ñ Ó"ˆÜ×Ñ Ó"ˆÜ×Ñ Ó"ˆÜ×Ñ Ó"ˆÜ˜Ÿ™  ¨'¸Õ:Ü˜Ÿ™  Q ¨g¸AÕ>Ü˜Ÿ™¤¢iÓ 0°3Ñ 6¸WÈ1ÕMÜ˜Ÿ™¤¢mÓ 4°SÑ 8¸wÈQÕOÜ˜Ÿ™¤Ò&8Ó 9¸$Ñ >Ø$¨1õ	.ä˜Ÿ™¤Ò&DÓ EÈÑ MØ$¨1ö	.rA   c           
      óf  — 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  dd¬«       t        dd|dz   z  d|dz   z  |dz   z  |dz   |dz   z  |dz   z  g«      dz  }t        |j
                  |dd¬«       y )NrÎ   rå  r   rV   rH   rŠ   rK   rï  r…   rk  rÇ   rY   r  r9  )r[   ra   r   ra  r   rø  r   r   )r=   re   r³  r´  rµ  r¶  r  s          r>   Ú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¡%˜[Ô)Ü˜Ÿ™¤ q¨"°°A±©,¸¸R¹ÀAÈÁFÑ8KÐ&LÓ MÐPSÑ SØ#¨!õ	-ä˜"Ø˜q 1™u™+Ø  A¡™,¨!¨a©%Ñ0Ø˜q™5 Q¨¡UÑ+¨q°1©uÑ5ð7ó 8ð ;>ñ>ˆô 	˜Ÿ™ ¨v¸AÖ>rA   N)r'  r(  r)  r¹  r»  r.  rA   r>   r¯  r¯  œ  s   „ ò.ó ?rA   r¯  c                   ó   — e Zd Zd„ Zy)Ú
TestLambdac           
      ót  — 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d¬«       y )	NrV   r  r   rH   rï  r5  r3  rY   )r   Úlmbdar   r®  rU  r±  r   )r=   ÚlamÚlamrs      r>   Ú
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ð
ˆô 	˜˜T¨°QÖ7rA   N)r'  r(  r)  rÂ  r.  rA   r>   r½  r½  ¾  s   „ ó8rA   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d¬«       y )Nr  r  r  r  r3  r   rY   ©r   rð  r   r   )r=   Úl1pÚl1prls      r>   rñ  zTestLog1p.test_log1pÉ  sO   € Ü�}‰}˜RÓ ¤'§-¡-°Ó"3´W·]±]À2Ó5FÐGˆÜ�R“œ#˜b›'¤3 r£7Ð+ˆÜ˜˜U¨°aÖ8rA   c                 óÞ   — t        j                  d«      t        j                  d«      t        j                  d«      f}t        d«      t        d«      t        d«      f}t        ||dd¬	«       y )
NrV   rê  r‚  rH   r(  r)  r3  r   rY   rÆ  )r=   Úl1pmÚl1pmrls      r>   Útest_log1pmorezTestLog1p.test_log1pmoreÎ  sO   € Ü—‘˜aÓ ¤'§-¡-°Ó"4´g·m±mÀCÓ6HÐIˆÜ�a“&œ˜S›¤# c£(Ð+ˆÜ˜˜f¨6¸Ö:rA   N)r'  r(  r)  rñ  rÌ  r.  rA   r>   rÄ  rÄ  È  s   „ ò9ó
;rA   rÄ  c           	      ó®   ‡‡— ‰dz  dk(  rdnd}d|z  t        ˆˆfd„| dz  |dz  ddt        j                  z  | z  |z  d¬	«      d   z  }| dkD  r|dz  }|S )
zÜ
    Compute the Fourier coefficient of the even Mathieu function.
    The integral definition of a Fourier coefficient is used.
    This function is used as an alternative implementation of
    mathieu_even_coef().
    rH   r   r  éh  rV   c                 ó8   •— t        j                  ‰‰| «      d   S r9   )r   r#  ©rÄ  rd   r  s    €€r>   rì  z7ce_fourier_coefficient_using_integral.<locals>.<lambda>Þ  ó   ø€ ¤'×"5Ñ"5°a¸¸AÓ">¸qÑ"A€ rA   r
   r!  ©ÚweightÚwvarÚepsrel©r3   r[   r   ©re   rd   r  Úperiodrø  s    ``  r>   Ú%ce_fourier_coefficient_using_integralrÙ  Ô  sy   ù€ ð ˜‘E˜Q’J‰S C€Fð 
ˆ6‰”4ÔAØ˜ ™	 6¨!¡8Ø$¨1¬R¯U©U©7°1©9°VÑ+;ÀEôKàKLñNñ 	N€Að 	ˆ1‚uØ	ˆQ‰ˆØ€HrA   c           	      ó¦   ‡‡— | dk(  ry‰dz  dk(  rdnd}d|z  t        ˆˆfd„| dz  |dz  ddt        j                  z  | z  |z  d¬	«      d   z  }|S )
zÚ
    Compute the Fourier coefficient of the odd Mathieu function.
    The integral definition of a Fourier coefficient is used.
    This function is used as an alternative implementation of
    mathieu_odd_coef().
    r   r–   rH   r  rÎ  c                 ó8   •— t        j                  ‰‰| «      d   S r9   )r   r)  rÐ  s    €€r>   rì  z7se_fourier_coefficient_using_integral.<locals>.<lambda>ò  rÑ  rA   r	   r!  rÒ  rÖ  r×  s    ``  r>   Ú%se_fourier_coefficient_using_integralrÜ  æ  sq   ù€ ð 	ˆA‚vØØ˜‘E˜Q’J‰S C€FØ	
ˆ6‰”4ÔAØ˜ ™	 6¨!¡8Ø$¨1¬R¯U©U©7°1©9°VÑ+;ÀEôKàKLñNñ 	N€Að €HrA   c                   ó,  — e Zd Zej                  j                  dddg«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  ddd	g«      d
„ «       Zej                  j                  dddg«      d„ «       Z	y)ÚTestMathieuzn, q)rF   rÔ  )r  g      @c                 ó´   — t        j                  ||«      }t        d«      D �cg c]  }t        |||«      ‘Œ }}t	        ||d t        |«       d¬«       y c c}w )NrF   rX   rO   ©r   r(   rt   rÙ  r   rÃ  ©r=   rd   r  ÚAre   rø  s         r>   Ú.test_mathieu_even_coef_against_integral_n_evenz:TestMathieu.test_mathieu_even_coef_against_integral_n_evenú  sW   € ô
 ×%Ñ% a¨Ó+ˆô FKÈ1ÃXÖNÀÔ2°1°a¸Õ;ÐNˆÐNÜ˜˜1˜Wœc !›f˜:¨EÖ2ùò Os   ¤A)rŠ   rÔ  )rJ   rH   c                 ó¸   — t        j                  ||«      }t        ddd«      D �cg c]  }t        |||«      ‘Œ }}t	        ||d t        |«       d¬«       y c c}w ©NrV   r  rH   rX   rO   rà  rá  s         r>   Ú-test_mathieu_even_coef_against_integral_n_oddz9TestMathieu.test_mathieu_even_coef_against_integral_n_odd  s\   € ô ×%Ñ% a¨Ó+ˆô FKÈ1ÈaÐQRÃ^ÖTÀÔ2°1°a¸Õ;ÐTˆÐTÜ˜˜1˜Wœc !›f˜:¨EÖ2ùò Uó   ¦A)rH   rÔ  )r  rH   c                 ó¶   — t        j                  ||«      }t        dd«      D �cg c]  }t        |||«      ‘Œ }}t	        ||d t        |«       d¬«       y c c}w )NrV   rÎ   rX   rO   ©r   r'   rt   rÜ  r   rÃ  ©r=   rd   r  ÚBre   rø  s         r>   Ú-test_mathieu_odd_coef_against_integral_n_evenz9TestMathieu.test_mathieu_odd_coef_against_integral_n_even  sY   € ô ×$Ñ$ Q¨Ó*ˆô FKÈ1ÈaÃ[ÖQÀÔ2°1°a¸Õ;ÐQˆÐQÜ˜˜1˜Wœc !›f˜:¨EÖ2ùò Rs   ¥Ac                 ó¸   — t        j                  ||«      }t        ddd«      D �cg c]  }t        |||«      ‘Œ }}t	        ||d t        |«       d¬«       y c c}w rå  ré  rê  s         r>   Ú,test_mathieu_odd_coef_against_integral_n_oddz8TestMathieu.test_mathieu_odd_coef_against_integral_n_odd  s\   € ô ×$Ñ$ Q¨Ó*ˆô FKÈ1ÈaÐQRÃ^ÖTÀÔ2°1°a¸Õ;ÐTˆÐTÜ˜˜1˜Wœc !›f˜:¨EÖ2ùò Urç  N)
r'  r(  r)  r*  r+  r-  rã  ræ  rì  rî  r.  rA   r>   rÞ  rÞ  ø  s¨   „ à‡[�[×Ñ˜V h°	Ð%:Ó;ñ3ó <ð3ð ‡[�[×Ñ˜V h°Ð%7Ó8ñ	3ó 9ð	3ð ‡[�[×Ñ˜V h°Ð%8Ó9ñ	3ó :ð	3ð ‡[�[×Ñ˜V h°Ð%7Ó8ñ	3ó 9ñ	3rA   rÞ  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestFresnelIntegralc                  ó   — y ri  r.  r<   s    r>   rL  z$TestFresnelIntegral.test_modfresnelp,  rj  rA   c                  ó   — y ri  r.  r<   s    r>   rH  z$TestFresnelIntegral.test_modfresnelm/  rj  rA   N)r'  r(  r)  rL  rH  r.  rA   r>   rð  rð  *  s   „ òórA   rð  c                   ó   — e Zd Zd„ Zy)ÚTestOblCvSeqc                 óf   — t        j                  ddd«      }t        |t        g d¢«      dd¬«       y )Nr   rŠ   rV   )g~TÃ~OÖ¿g£té_’Jö?gmÅþ²{ò@g@j'÷û&@rn  rY   )r   Ú
obl_cv_seqr   r   )r=   Úobls     r>   Útest_obl_cv_seqzTestOblCvSeq.test_obl_cv_seq4  s3   € Ü× Ñ   1 QÓ'ˆÜ˜œUò $/ó 0ð $¨!ö		-rA   N)r'  r(  r)  rø  r.  rA   r>   rô  rô  3  ó   „ ó-rA   rô  c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestParabolicCylinderc                 ó~   — t        j                  dd«      }t        |t        ddg«      t        ddg«      fdd¬	«       y )
NrV   r  gìQ¸…ëï?gx$(~Œ¹?gx$(~Œ©¿gÃõ(\�Âï?r<  r   rY   )r   Úpbdn_seqr   r   )r=   Úpbs     r>   Útest_pbdn_seqz#TestParabolicCylinder.test_pbdn_seq>  sM   € Ü×Ñ˜a Ó$ˆÜ˜œU FØ$*ð$,ó -ä" GØ$*ð$,ó -ð.ð $¨!ö		-rA   c                 óœ   — t        j                  dd«       dt        j                  dd«      d   z  t        j                  dd«      d   z
   y )NrV   rÖ   r  r   )r   r™  r<   s    r>   rš  zTestParabolicCylinder.test_pbdvF  s=   € Ü�‰�Q�rÔØ”—‘˜a Ó# AÑ&Ñ&¬¯©°a¸Ó);¸AÑ)>Ó>rA   c                 ó®   — t        j                  dd«      }t        j                  dd«      }t        |t	        |d   «      t	        |d   «      fdd¬«       y )NrV   r  r   r<  rY   )r   rý  Úpbdv_seqr   r   )r=   ÚpbnÚpbvs      r>   Útest_pbdv_seqz#TestParabolicCylinder.test_pbdv_seqJ  sI   € Ü×Ñ˜q Ó$ˆÜ×Ñ˜q Ó$ˆÜ˜œd 3 q¡6›l¬D°°Q±«LÐ9ÀÈQÖOrA   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  r  rÎ   rH   r„   r–   r   r!  r"  g®Gáz®$@gq=
×£p4@g©³HáÓQ9r   rO   g�Âõ(\#Àg…ëQ¸…@gŸ¡kÓS a>)r[   r2  r   r   r   rÍ  r   r™  )r=   Úetar  s      r>   Útest_pbdv_pointsz&TestParabolicCylinder.test_pbdv_pointsO  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ÖWrA   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 ©NrD  rF   r  r  r  rÎ   rß  r   rk  rV   r©   r"  )r[   r2  r   r™  r7  r   ©r=   rÝ   r  r&  r  Údps         r>   Útest_pbdv_gradientz(TestParabolicCylinder.test_pbdv_gradientY  ó©   € Ü�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°$Ö7rA   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
  )r[   r2  r   rœ  r7  r   r  s         r>   Útest_pbvv_gradientz(TestParabolicCylinder.test_pbvv_gradientb  r  rA   c                 óº   — t        j                  dd«      \  }}t        |t        j                  g d¢«      «       t        |t        j                  g d¢«      «       y )NrH   rŠ   )g:4¦¬€Ï@gŽ1{Ð½õ?g7,%Ònšá?)g�µ»ûXØ@g=<'‡’î?gÊ ¾áùá?)r   Úpbvv_seqr   r[   r   )r=   Úres1Úres2s      r>   Útest_pbvv_seqz#TestParabolicCylinder.test_pbvv_seqk  sN   € Ü×%Ñ% a¨Ó+‰
ˆˆdÜ˜œbŸh™hò (<ó =ô 	>ô 	˜œbŸh™hò (;ó <õ 	=rA   N)
r'  r(  r)  rÿ  rš  r  r  r  r  r  r.  rA   r>   rû  rû  =  s'   „ ò-ò?òPò
Xò8ò8ó=rA   rû  c                   ó   — e Zd Zd„ Zy)ÚTestPolygammac           	      ó„  — t        j                  dd«      }t        j                  dd«      }t        |ddd¬«       t        |ddd¬«       g d	¢}t        t        j                  d|«      t        j                  |«      d
d¬«       g d¢}g d¢}g d¢}t        t        j                  ||«      |d
d¬«       t	        j
                  |gdz  «      }t        t        j                  |t	        j
                  |gdz  «      «      |d
d¬«       t        t        j                  t	        j
                  |gdz  «      |«      |d
d¬«       y )NrH   rV   rŠ   gX]ï ;Àr>  r   rY   gOV,@Ëù@)rH   rŠ   g  8»×ÙBrÇ   r£  rb  )gý2}‰jÿ¿gó.òMæéí?gçð}2ï;Î¿)r   Ú	polygammar   rÇ  r[   rd  )r=   Úpoly2Úpoly3rÝ   rd   r  s         r>   Útest_polygammazTestPolygamma.test_polygammaw  s  € Ü×!Ñ! ! QÓ'ˆÜ×!Ñ! ! QÓ'ˆÜ˜˜}°7ÀÕCÜ˜˜|°'ÀÕBò ˆÜœ×)Ñ)¨!¨QÓ/´·±¸Q³Ø#¨!õ	-ò ˆÚˆò*ˆäœ×)Ñ)¨!¨QÓ/°ÀÈQÕOÜ—9‘9˜h˜Z¨™\Ó*ˆÜœ×)Ñ)¨!¬R¯Y©Y¸°s¸1±uÓ-=Ó>ÀØ#¨!õ	-äœ×)Ñ)¬"¯)©)°Q°C¸±EÓ*:¸AÓ>ÀØ#¨!ö	-rA   N)r'  r(  r)  r  r.  rA   r>   r  r  u  s   „ ó-rA   r  c                   ó   — e Zd Zd„ Zy)ÚTestProCvSeqc                 óf   — t        j                  ddd«      }t        |t        g d¢«      dd¬«       y )Nr   rŠ   rV   )gÑ"Ûù~jÔ?g6?þÒ¢¾@g)uÉ8F"@gË2�g)@rn  rY   )r   Ú
pro_cv_seqr   r   )r=   Úprols     r>   Útest_pro_cv_seqzTestProCvSeq.test_pro_cv_seq�  s3   € Ü×!Ñ! ! Q¨Ó*ˆÜ˜œeò %0ó 1ð $¨!ö		-rA   N)r'  r(  r)  r"  r.  rA   r>   r  r  �  rù  rA   r  c                   ó   — e Zd Zd„ Zy)ÚTestPsic                 óL   — t        j                  d«      }t        |ddd¬«       y )NrV   g¶oüŒxâ¿r3  r   rY   )r   rÇ  r   )r=   Úpss     r>   rÈ  zTestPsi.test_psiš  s   € Ü�[‰[˜‹^ˆÜ˜Ð0°vÀAÖFrA   N)r'  r(  r)  rÈ  r.  rA   r>   r$  r$  ™  s   „ óGrA   r$  c                   ó   — e Zd Zd„ Zd„ Zy)Ú
TestRadianc                 ó^   — t        j                  ddd«      }t        |t        dz  dd¬«       y )Nrà  r   rk  rn  rY   ©r   rÊ  r   r   )r=   Úrads     r>   rË  zTestRadian.test_radian   s&   € Ü�n‰n˜R  AÓ&ˆÜ˜œR ™V¨&°qÖ9rA   c                 ód   — t        j                  ddd«      }t        |t        dz  dz   dd¬«       y )	Nrà  rV   rB  rH   gƒ†íC?rn  r   rY   r*  )r=   Úrad1s     r>   Útest_radianmorezTestRadian.test_radianmore¤  s,   € Ü�~‰~˜b ! RÓ(ˆÜ˜œb ™dÐ%:Ñ:ÀÈaÖPrA   N)r'  r(  r)  rË  r.  r.  rA   r>   r(  r(  Ÿ  s   „ ò:óQrA   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d¬«       y ©N)rH   rÖ   T)Ú
derivativer   rV   r3  rY   )r[   Úemptyrt   r   Úspherical_jnr   Ú
riccati_jn)r=   r*  rÝ   ÚSrd   r•  Újps          r>   Ú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ð		ô
 	˜œ7×-Ñ-¨a°Ó3¸&ÀqÖIrA   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d¬«       y r2  )r[   r4  rt   r   Úspherical_ynr   Ú
riccati_yn)r=   r*  rÝ   ÚCrd   r  Úyps          r>   Útest_riccati_ynzTestRiccati.test_riccati_yn´  r:  rA   N)r'  r(  r)  r9  r@  r.  rA   r>   r0  r0  ©  s   „ òJóJrA   r0  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Ûÿÿÿrg  é   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ª  rO   )Únumpyra   Údefault_rngÚuniformÚstackr&   r   )r=   r[   rh   rd   rc  rd  Úa3Úa4r8  r  r  s              r>   Ú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Ö-rA   c                 óÞ   — t        j                  d«      dz
  }t        j                  d«      }|j                  «       }|dkD  }t	        |||¬«       t	        ||   «      ||<   t        ||«       y )NrÎ   rH   r   )ÚoutÚwhere)r[   r   ÚonesÚcopyr&   r   )r=   rÝ   rM  r  rN  s        r>   Ú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Õ!rA   N)r'  r(  r)  rK  rQ  r.  rA   r>   rB  rB  ¿  s   „ ò.ó:"rA   rB  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%@)r  r  r  r  )r  Úmaprs   r   rÕ  r   )r=   ÚrndÚrndrls      r>   rÖ  zTestRound.test_roundé  sZ   € Ü”3”sœWŸ]™]¨4Ó0Ü$Ÿ]™]¨4Ó0Ü$Ÿ]™]¨4Ó0Ü$Ÿ]™]¨4Ó0ð2ó 3ó 4ˆð ˆÜ˜3˜uÕ%rA   N)r'  r(  r)  rÖ  r.  rA   r>   rS  rS  è  s   „ ó&rA   rS  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   rK   r„   rH   rV   r  )	r   r   r;  r7  r  r   r   r  r}  r~  s          r>   Ú_serieszTestStruve._seriesø  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˜ˆ|ÐrA   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Ò  rK   r   rV   rÐ  rI  é   )rV   r  é   r"  rR   r   r"  N)r[  r   r   r
  rŠ  s        r>   Útest_vs_serieszTestStruve.test_vs_seriesÿ  s]   € àBò 	WˆAØ(ò W�Ø!Ÿ\™\¨!¨QÓ/‘
��sÜ¤§¡¨q°!Ó 4°eÀ!È#ÔNÐQRÐTUÐPVÒVñWñ	WrA   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 )Nr]  r"  gä;cv=ð§?rß  rO   g…ëQ¸ ÀgŠ< j¤?r¦  rÓ  r«  g³÷ýï�?r   g       Ài×ÿÿÿg©Ÿ zzµ“?r]  iôÿÿÿé)   r  rJ  r  gffffffÀrK   g333333$À)r   r   r
  r   r   r   r<   s    r>   Útest_some_valueszTestStruve.test_some_values  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Õ1rA   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   r
  r<   s    r>   Útest_regression_679zTestStruve.test_regression_679  sk   € äœŸ™ t¨YÓ7ÜŸ™ t¨YÓ7ô	9äœŸ™ t¨YÓ7ÜŸ™ t¨YÓ7ô	9äœŸ™ t¨YÓ7ÜŸ™ t¨YÓ7õ	9rA   N)r  )r'  r(  r)  r[  r`  rc  re  r.  rA   r>   rY  rY  ÷  s   „ óòWò2ó9rA   rY  c                  óJ   — t        t        j                  dd«      ddd¬«       y )Nrö  rŠ   gdX	
§î?rÇ   r   rY   )r   r   r®   r.  rA   r>   Útest_chi2_smalldfrg    s   € Ü”G—M‘M # qÓ)Ð+<À6ÐPQÖRrA   c                  ó`   — t        t        j                  dt        j                  «      d«       y )Nr  r…   )r   r   r®   r[   r   r.  rA   r>   Útest_ch2_infri  !  s   € Ü”—‘˜s¤2§6¡6Ó*¨CÕ0rA   rÝ   rÕ   rF  r–   c                 óv   — t        j                  t        j                  t         j                  | «      «      sJ ‚y ri  ©r[   r   r   r®   r
  r1  s    r>   Útest_chi2_v_nanrl  %  s#   € ä�8‰8”G—M‘M¤"§&¡&¨!Ó,Ô-Ð-Ñ-rA   rD  c                 óv   — t        j                  t        j                  | t         j                  «      «      sJ ‚y ri  rk  ©rD  s    r>   Útest_chi2_x_nanro  *  s#   € ä�8‰8”G—M‘M !¤R§V¡VÓ,Ô-Ð-Ñ-rA   c                 óv   — t        j                  t        j                  t         j                  | «      «      sJ ‚y ri  ©r[   r   r   r²   r
  r1  s    r>   Útest_chi2c_v_nanrr  /  s#   € ä�8‰8”G—N‘N¤2§6¡6¨1Ó-Ô.Ð.Ñ.rA   c                 óv   — t        j                  t        j                  | t         j                  «      «      sJ ‚y ri  rq  rn  s    r>   Útest_chi2c_x_nanrt  4  s#   € ä�8‰8”G—N‘N 1¤b§f¡fÓ-Ô.Ð.Ñ.rA   c            	      óÚ  — t        j                  ddddt         j                  g«      d d …t         j                  f   } t        j                  t         j                   dddt         j                  g«      }t	        j
                  | dz  |dz  «      }|dk  | dk  z  |dk(  | dk(  z  z  t        j                  | «      t        j                  |«      z  z  }t        j                  t        j                  ||   «      «      sJ ‚t        j                  t        j                  ||    «      «      sJ ‚t        t	        j                  | |«      |«       t        t	        j                  d| dz  |dz  «      |«       t        dt	        j                  | dz  |dz  «      z
  |«       t        dt	        j                  | |«      z
  |«       t        dt	        j                  d| dz  |dz  «      z
  |«       y )Ng{®Gáz„¿r   r5  rV   rH   )r[   r   r   râ   r   r!  rÄ  rà  r   rã  r   r®   rL  Ú	gammainccr²   rR  )rD  rÝ   r  ræ  s       r>   Útest_chi2_edgecases_gh20972rw  9  sƒ  € ô 	�
‰
�E˜1˜d A¤r§v¡vÐ.Ó/²´2·:±:°Ñ>€AÜ
�
‰
”R—V‘V�G˜U A t¬R¯V©VÐ4Ó5€Aô ×
Ñ
˜1˜q™5 ! a¡%Ó
(€CØ�‰E�a˜!‘eÑ  Q¡¨1°©6Ñ2Ñ2´R·X±X¸a³[Ä2Ç8Á8ÈAÃ;Ñ5NÑN€DÜ�6‰6”"—(‘(˜3˜t™9Ó%Ô&Ð&Ð&Ü�6‰6”"—+‘+˜c 4 %™jÓ)Ô*Ð*Ð*ô ”G—M‘M ! QÓ'¨Ô-Ü”G—L‘L  A¨¡E¨1¨q©5Ó1°3Ô7Ü�Aœ×)Ñ)¨!¨a©%°°Q±Ó7Ñ7¸Ô=Ü�AœŸ™ q¨!Ó,Ñ,¨cÔ2Ü�AœŸ™ a¨¨Q©°°A±Ó6Ñ6¸Õ<rA   c                  óJ   — t        t        j                  dd«      ddd¬«       y )Nrö  rŠ   çÀyj_�¥?rÇ   r   rY   )r   r   r²   r.  rA   r>   Útest_chi2c_smalldfrz  N  s   € Ü”G—N‘N 3¨Ó*Ð,AØ aö)rA   c                  óJ   — t        t        j                  dd«      ddd¬«       y )Nrö  ry  rŠ   rÇ   r   rY   )r   r   r·   r.  rA   r>   Útest_chi2_inv_smalldfr|  S  s   € Ü”G—N‘N 3Ð(=Ó>ÀØ aö)rA   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 )'NrN   rV   rH   gDS«YCµê?rO   gQÕ_Ñý?g®Å?Õ@g>;,
i}@rŠ   )rV   rŠ   rÎ   gÊ=·O÷?rK   rï  rÔ   rL   gXñÓs•ê*@r  g   V4o�Agˆ†ôO„1eAr¨  g‹¾ÜìÒ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.  r  )r   r   Úagmr[   r   r   r´  r  r   r
  r   )rP   Úagm13Úagm15Úagm35Úagm12Úfis         r>   Útest_agm_simpler„  X  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Õ3rA   c            	      ó@  — t        j                  «       5  t        j                  ddt        «       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¬  rV   r  gÍÌÌÌÌÌü?rH   gffffff@)rô  rõ  rö  r÷  r   r   ÚexpnrT  rQ  rW  r­  rÕ  r  ræ  r÷  r.  rA   r>   Útest_legacyr‡  •  sn  € ä	×	 Ñ	 Ó	"ñ KÜ×ÑØÐEÄ~ô	Wä”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   •G6HÈHc                  ó*   — dd l } | j                  «       S r9   )Ú	threadingÚLock)r‰  s    r>   Úerrstate_lockr‹  ¦  s   € ãØ�>‰>ÓÐrA   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ß  rV   y        .Ÿ‡¢®B}T)r   rð  re  rñ  r   )r‹  s    r>   Útest_error_raisingr�  ¬  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   )r[   rð  r   r   ©rÝ   r  s     r>   Úxfuncztest_xlogy.<locals>.xfunc´  sR   € Ü�[‰[ Ô*ñ 	#Ø�AŠvœbŸh™h qœkØ÷	#ñ 	#ð œŸ™ ›‘{÷		#÷ 	#ò 	#úó   —A½AÁA'©r   r   r   ©r…   rk  r  )r   r  )rV   r  rV   rN   r"  )
r[   r   r
  r   ru   r   r{   r1   r   Úxlogy)r“  Úz1Úz2Úw1Úw2s        r>   Ú
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ÖDrA   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r�  )r[   rð  r   rð  r’  s     r>   r“  ztest_xlog1py.<locals>.xfuncÅ  sR   € Ü�[‰[ Ô*ñ 	'Ø�AŠvœbŸh™h qœkØ÷	'ñ 	'ð œ2Ÿ8™8 A›;‘÷		'÷ 	'ò 	'úr”  r•  r   r–  )rV   g ÂëþKH´9r  rV   rN   r"  )	r[   r   r
  r   ru   r{   r1   r   Úxlog1py)r“  r˜  rš  s      r>   Útest_xlog1pyr   Ä  su   € ò'ô 
�‰�U˜Q¤§¡˜K¨!¬R¯V©V¨°jØð!Ü(-ô
/€Bà	Œ�‰�eÓ	˜R¢ ! ™W bª¨1¨¡gÓ	.€BÜ”g—o‘o r¨2°EÀÖFrA   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 r9   )r[   r   r   r—  r1  s    r>   r“  ztest_entr.<locals>.xfuncÓ  s(   € ØˆqŠ5Ü—F‘F�7ˆNä—M‘M ! QÓ'Ð'Ð'rA   r   r„   r…   rK   rV   r  ©ÚotypesrN   r"  )r[   r   rM  rN  r�  r   ru   r{   rÚ   r1   r   Úentr)r“  r  Úsignsr­  ÚsgnrD  r  r%  s           r>   Ú	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ÖArA   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 r9   )r[   r   rN  r   r—  r’  s     r>   r“  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Ð0rA   ©r   r„   r…   rK   rV   r  r£  r   rN   r"  )rM  rN  r�  r[   r   ru   r{   rÚ   r1   r   Úkl_div©
r“  r  r¦  r­  ÚsgnaÚvaÚsgnbÚvbr  r%  s
             r>   Ú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ÖCrA   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 r9   )r   r—  r[   r   r’  s     r>   r“  ztest_rel_entr.<locals>.xfuncù  s=   € ØˆqŠ5�Q˜’UÜ—=‘=  A a¡CÓ(Ð(Ø�!ŠV˜˜QšØä—6‘6ˆMrA   r«  rK   rV   r  r£  r   rN   r"  )rM  rN  r�  r[   r   ru   r{   rÚ   r1   r   Úrel_entrr­  s
             r>   Ú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ÖErA   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   rV   rN   r"  )r[   r   r   r   rµ  ©Úinputsr  rÝ   r  s       r>   Ú test_rel_entr_gh_20710_near_zerorº  
  sS   € ä�X‰Xò ó €Fò€Hð
 	Šq�!ˆt‰€AØŠq�!ˆt‰€AÜ”G×$Ñ$ Q¨Ó*¨H¸5ÀqÖIrA   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ß  ))rF   çX™çë¨ö )r¼  gZb××çti)r¼  r§  )gMÂá«G.¦@g)ØZ?—g åwaò)§€r   rV   rN   r"  )r   Úseterrr[   r   r   rµ  r¸  s       r>   Útest_rel_entr_gh_20710_overflowr¾    s_   € Ü‡N�N�xÕ Ü�X‰Xò ó €Fò€Hð
 	Šq�!ˆt‰€AØŠq�!ˆt‰€AÜ”G×$Ñ$ Q¨Ó*¨H¸5ÀqÖIrA   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 )NrK   r  rH   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„   )r[   r   r7  Úsquare©ÚdeltarC  s     r>   r“  ztest_huber.<locals>.xfunc8  sQ   € Ø�1Š9Ü—6‘6ˆMÜ�V‰V�A‹Y˜ÒØœŸ™ 1›Ñ%Ð%àœBŸF™F 1›I¨¨e©Ñ3Ñ4Ð4rA   r  r£  r   rV   rN   r"  )r   r   Úhuberr[   r   r   rÁ  ra   Úrandnr{   rÚ   r1   ©r“  r  r%  s      r>   Ú
test_huberrÇ  3  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ÖBrA   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   rH   rV   )r[   r   r   rÂ  s     r>   r“  z test_pseudo_huber.<locals>.xfuncF  sD   € Ø�1Š9Ü—6‘6ˆMÙ¡Øà˜!‘8œrŸw™w q¨A¨e©G°a©<Ñ'7Ó8¸1Ñ<Ñ=Ð=rA   r  rH   r   r„   r£  rV   rN   r"  )
r[   r   ra   rÅ  Útolistr{   rÚ   r1   r   Úpseudo_huberrÆ  s      r>   Útest_pseudo_huberrÌ  E  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ÖIrA   c                  óX   — d} d}t        j                  | |«      }d}t        ||d¬«       y )Nr…   g¬CÒÑ]r2<gs.-“„De8rN   rO   )r   rË  r   )rÃ  rC  r  r  s       r>   Útest_pseudo_huber_small_rrÎ  S  s1   € Ø€EØ€AÜ×Ñ˜U AÓ&€Að &€HÜ�A�x eÖ,rA   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î  rS   )r*  Úwarnsr÷  r'   r(   r.  rA   r>   Ú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&)'ÚTestStirling2rV   r   )r   rV   rV   )r   rV   rŠ   rV   )r   rV   rJ   rL   rV   )r   rV   rz   rÏ   r  rV   )r   rV   é   rà  éA   rz   rV   )r   rV   é?   r²  i^  éŒ   r"  rV   )	r   rV   é   iÆ  i¥  é  i
  é   rV   )
r   rV   éÿ   iÑ  iZ  i'  iV
  iÎ  é$   rV   )r   rV   r~   ér$  i9…  i¦  i+Y  éø  iî  rÆ   rV   zis_exact, comp, kwargsTFrP   r   c           	      óÆ   — t        dt        | j                  «      «      D ]?  }t        t        |dz   «      «      }| j                  |   } ||t	        |g||¬«      fi |¤Ž ŒA y )NrV   r  )rt   rÃ  Útabler  r)   )r=   Úis_exactÚcompÚkwargsrd   Úk_valuesÚrows          r>   Útest_table_caseszTestStirling2.test_table_casesx  s]   € ô
 �qœ#˜dŸj™j›/Ó*ò 	JˆAÜœE ! A¡#›JÓ'ˆHØ—*‘*˜Q‘-ˆCÙ�”i   X°XÔ>ÑIÀ&ÓIñ	JrA   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  rF   rH   rÎ   rŠ   rÏ   )r)   rà  ©r=   rá  râ  rã  s       r>   Ú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¸&ÓArA   c                 óˆ   —  |t        dd|¬«      dfi |¤Ž  |t        dd|¬«      dfi |¤Ž  |t        dd|¬«      dfi |¤Ž y )NrK   r  r   rH   ©r)   rè  s       r>   Útest_negative_integerz#TestStirling2.test_negative_integerŽ  sL   € ñ 	ŒY�r˜2 XÔ.°Ñ<°VÒ<ÙŒY�r˜1 HÔ-¨qÑ;°FÒ;ÙŒY�q˜" HÔ-¨qÑ;°FÓ;rA   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 )Nr  rŠ   rF   r  )rà  r)   r   )r=   rá  râ  rã  Úanss        r>   Ú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Ø%-ô/ð õ	rA   rN   c                 óH   — g d¢}g d¢}g d¢} |t        |||¬«      |fi |¤Ž y )N)r   rV   rŠ   rÏ   rÙ  rÞ  rÝ  )rK   r   rŠ   rÎ   r  r  r  )rï  r   rH   rŠ   rÎ   rJ   rŠ   r  rë  ©r=   rá  râ  rã  rî  rd   re   s          r>   Útest_mixed_valueszTestStirling2.test_mixed_values«  s+   € ò .ˆÚ$ˆÚ"ˆÙŒY�q˜! 8Ô,¨cÑ<°VÓ<rA   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  rH   rV   N)r[   r   r   r)   r€  r  )r=   rd   ÚKre   s       r>   Ú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Ï   rR   rG   rF   Tr  l	   D,"ÒSBX¡p!NæÑ l   wY®)ÄHŠ_î1e_é*   r,  é   )r   r   r)   )r=   rî  rd   re   s       r>   Útest_big_numberszTestStirling2.test_big_numbersÁ  s}   € ä�~Ð'8Ð9Ó:ˆØ�ˆHˆØ�ˆGˆÜœ9 Q¨°Ô6¸Ô<Ð<Ð<äÐ<Ø:ð<ó =ˆà�ˆHˆØ�ˆHˆÜœ9 Q¨°Ô6¸Ô<Ð<Ñ<rA   r*  rw  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  )r*  r   Ú	TypeErrorr)   )r=   r*  rõ  rá  s       r>   Ú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)NrF   rV   ©rF   rF   rF   rF   r  ©rV   rH   rŠ   rF   r  )r   rà  r~  r*  r   rþ  r   r)   )r=   rá  rî  rd   re   s        r>   Ú!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        j                  ¬«      }t        g d¢t        j                  ¬«      } |t	        ||d¬«      |fi |¤Ž y )NrF   rV   r	  r  r	  Fr  )r   rà  r[   Úulongr)   rñ  s          r>   Ú#test_numpy_array_unsigned_int_dtypez1TestStirling2.test_numpy_array_unsigned_int_dtypeà  sU   € ô �d—j‘j ‘m A BÐ'Ó(ˆÜ’L¬¯©Ô1ˆÜ’L¬¯©Ô1ˆÙŒY�q˜! 5Ô)¨3Ñ9°&Ó9rA   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)rV   rz   rÏ   r  )rV   rJ   rL   rV   )rÎ   rÎ   rÎ   rÎ   r	  r	  r  rF   )r   rV   rH   rŠ   rF   rÎ   rÎ   )r   rV   rJ   rL   rV   r   F)r   r)   rt   )r=   rá  râ  rã  rî  rd   re   rM  s           r>   Ú"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Î   rV   Tr  Fgñhãˆµøô>)r  rt   r)   r[   r  r7  )r=   rÝ   rd   Ú	k_entriesÚdenomrv   s         r>   Ú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ñ		6rA   N)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   r>   rÓ  rÓ  i  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ó ñ:ó	ð:ó6rA   rÓ  ri  )�rÏ  rM  rÑ  rš  r™  rô  rE  r[   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r*  r   re  Únumpy.testingr   r   r   r   r   Úscipyr   Úscipy.special._ufuncsÚ_ufuncsr:   Úscipy.specialr   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   Úscipy._lib._array_apir*   r+   r,   Úscipy.special._basicr-   r.   r/   Úscipy.special._testutilsr0   r1   r2   Úscipy.integrater3   r€  Úarchitecturerñ  r  rQ  r7   r0  r_  rg  rl  r³  r¹  rÍ  r	  r<  rq  r~  r§  rÄ  rÖ  r  r  r6  r:  rü  r  r3  rR  r‹  r¯  r½  rÄ  rÙ  rÜ  rÞ  rð  rô  rû  r  r  r$  r(  r0  rB  rS  rY  rg  ri  r+  r-  r
  rl  ro  rr  rt  rw  rz  r|  r„  r‡  Úfixturer‹  r�  rœ  r   r¨  r²  r¶  rº  r¾  rÇ  rÌ  rÎ  rÑ  rÓ  r.  rA   r>   ú<module>r	     s;  ðó" Û Û Û Û 
Û ã ÷÷ ÷ ÷ ÷ ó ó Ý *÷Lõ Lõ ß &Ð &ß 2Ñ 2ß EÕ EÝ "ß HÑ Hß SÑ S÷ñ ÷!ñ !å  ã ð ‡L�L�GÒØ€x×ÑÓ˜qÑ! WÒ,ð �XŠXð 
‡x�xð ÷d9ñ d9÷NuGñ uG÷p8ñ 8÷ñ ÷
k-ñ k-÷\	-ñ 	-÷0ñ 0÷<D3ñ D3÷NO/ñ O/÷dB;ñ B;÷JHñ H÷:JTñ JT÷ZG0ñ G0÷T)=ñ )=÷X_Bñ _B÷D;ñ ;÷29ñ 9ó@!÷Hj-ñ j-÷ZA8ñ A8÷H@7ñ @7÷F*%ñ *%÷Z].ñ ].÷@\	=ñ \	=÷~?ñ ?÷D8ñ 8÷	;ñ 	;òò$÷$/3ñ /3÷dñ ÷-ñ -÷5=ñ 5=÷p-ñ -÷4-ñ -÷Gñ G÷Qñ Q÷Jñ J÷,&"ñ &"÷R&ñ &÷#9ñ #9òLSò1ð ‡�×Ñ˜ §¡˜w¨¨d°C¸¿¹ÀÇÁÐHÓIñ.ó Jð.ð ‡�×Ñ˜ §¡˜w¨¨d°C¸¿¹ÀÇÁÐHÓIñ.ó Jð.ð ‡�×Ñ˜ §¡˜w¨¨d°C¸¿¹ÀÇÁÐHÓIñ/ó Jð/ð ‡�×Ñ˜ §¡˜w¨¨d°C¸¿¹ÀÇÁÐHÓIñ/ó Jð/ò=ò*)ò
)ò
:4òzKð" ‡‚ñó ðð
 ñNó ðNòEò"GòBò Dò,Fò$Jò&Jò,Cò$Jò
-ò&÷[6ò [6rA   