Ë
    qw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
l7m8Z8m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z?m@Z@mAZA d dlBmCZCmDZDmEZE d dlFmGZG d dlHZHej                  dk(  s ej’                  «       d    dk(  rej”                  nej–                  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 d+„ d,«      ZZ G d-„ d.«      Z[ G d/„ d0«      Z\ G d1„ d2«      Z]dd3„Z^ G d4„ d5«      Z_ G d6„ d7«      Z` G d8„ d9«      Za G d:„ d;«      Zb G d<„ d=«      Zc G d>„ d?«      Zd G d@„ dA«      Ze G dB„ dC«      Zf G dD„ dE«      ZgdF„ ZhdG„ Zi G dH„ dI«      Zj G dJ„ dK«      Zk G dL„ dM«      Zl G dN„ dO«      Zm G dP„ dQ«      Zn G dR„ dS«      Zo G dT„ dU«      Zp G dV„ dW«      Zq G dX„ dY«      Zr G dZ„ d[«      Zs G d\„ d]«      Zt G d^„ d_«      Zud`„ Zvda„ Zwejð                  jó                  dbej,                   dcdddeej,                  ejô                  g«      df„ «       Z{ejð                  jó                  dgej,                   dcdddeej,                  ejô                  g«      dh„ «       Z|ejð                  jó                  dbej,                   dcdddeej,                  ejô                  g«      di„ «       Z}ejð                  jó                  dgej,                   dcdddeej,                  ejô                  g«      dj„ «       Z~dk„ Zdl„ Z€dm„ Z�dn„ Z‚do„ Zƒe�j                  dp„ «       Z…eCdq„ «       Z†dr„ Z‡ds„ Zˆdt„ Z‰du„ ZŠdv„ Z‹dw„ ZŒdx„ Z�dy„ ZŽdz„ Z�d{„ 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)Únp_longÚnp_ulong)Úxp_assert_closeÚxp_assert_equalÚSCIPY_ARRAY_API)Ú_FACTORIALK_LIMITS_64BITSÚ_FACTORIALK_LIMITS_32BITSÚ_is_subdtype)Úwith_special_errorsÚassert_func_equalÚFuncData)Ú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(d'„ Z)e*jV                  jY                  d(¬)«      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„ Zkdi„ Zle*jV                  jÛ                  djg dk¢«      dl„ «       Zndm„ Zoe*jV                  jÛ                  djg dn¢«      do„ «       Zpdp„ Zqdq„ Zrdr„ Zsds„ Ztdt„ Zudu„ Zvdv„ Zwdw„ Zxdx„ Zydy„ Zzdz„ Z{d{„ Z|d|„ Z}d}„ Z~d~„ Zd„ Z€d€„ Z�d�„ Z‚e*jV                  jY                  d‚¬)«      dƒ„ «       Zƒe*jV                  jY                  d„¬)«      d…„ «       Z„e*jV                  jY                  d†¬)«      d‡„ «       Z…dˆ„ Z†d‰„ Z‡dŠ„ Zˆd‹„ Z‰dŒ„ ZŠd�„ Z‹dŽ„ ZŒd�„ Z�d�„ ZŽd‘„ Z�d’„ Z�d“„ Z‘d”„ Z’d•„ Z“d–„ Z”d—„ Z•d˜„ Z–d™„ Z—dš„ Z˜d›„ Z™dœ„ Zšd�„ Z›dž„ ZœdŸ„ Z�d „ Zžd¡„ ZŸd¢„ Z d£„ Z¡d¤„ Z¢d¥„ Z£d¦„ Z¤d§„ Z¥d¨„ Z¦d©„ Z§dª„ Z¨d«„ Z©d¬„ Zªd­„ Z«d®„ Z¬d¯„ Z­d°„ Z®d±„ Z¯d²„ Z°d³„ Z±d´„ Z²dµ„ Z³d¶„ Z´d·„ Zµd¸„ Z¶d¹„ Z·dº„ Z¸y»)¼Ú
TestCephesc                 ó.   — t        j                  d«       y ©Nr   )ÚcephesÚairy©Úselfs    úc/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/special/tests/test_basic.pyÚ	test_airyzTestCephes.test_airy<   ó   € Ü�‰�A�ó    c                 ó.   — t        j                  d«       y r;   )r<   Úairyer>   s    r@   Ú
test_airyezTestCephes.test_airye?   s   € Ü�‰�Q�rC   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
@rJ   éÿÿÿÿ)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   é   ç     ð?ç»½×Ùß|Û=©ÚatolrR   )Únpr   Úbroadcast_arraysÚreshapeÚTr3   r<   ÚbinomÚravelÚrandomÚRandomStater   r   Úrand)r?   ÚnÚkÚnkÚrknownÚrngs         r@   Ú
test_binomzTestCephes.test_binomB   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ö	2rC   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 )NrS   rX   é,  é   r   rW   rJ   rM   rY   rZ   r[   )r]   rc   Úseedr   Úlogspacer   r   r^   r_   r`   r3   r<   ra   )r?   rf   rg   rh   s       r@   Útest_binom_2zTestCephes.test_binom_2Y   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ö	2rC   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 ©NrX   )ÚintÚrangeÚfloat)rf   rg   ÚnumÚdenÚis        r@   Ú	binom_intz.TestCephes.test_binom_exact.<locals>.binom_intg   s]   € ä�A“ˆAÜ�A“ˆAØˆCØˆCÜ˜1˜a ™c–]�Ø�q˜1‘u˜q‘yÑ �Ø�q‘‘ð #ô ˜˜S™“>Ð!rC   rS   rX   é   r   rJ   rM   r[   )r]   Ú	vectorizerc   ro   r   r   r^   r_   r`   r3   r<   ra   )r?   r{   rf   rg   rh   s        r@   Útest_binom_exactzTestCephes.test_binom_exactf   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ö	*rC   c                 óŽ   — g d¢}t        j                  |«      }t        t        j                  |ddd¬«      j                  «        y )N))rU   rV   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   rX   rJ   çê-�™—q=rQ   )r]   r   r4   r<   ra   Úcheck)r?   Údatasets     r@   Útest_binom_nooverflow_8346z%TestCephes.test_binom_nooverflow_8346}   s6   € ò
ˆô" —*‘*˜WÓ%ˆÜ”—‘˜w¨°¸Ô>×DÑDÕFrC   c                 óF   — t        t        j                  ddd«      d«       y )NrX   ç      à?ç      ð?)r   r<   Úbdtrr>   s    r@   Ú	test_bdtrzTestCephes.test_bdtr“   s   € Ü”V—[‘[  1 SÓ)¨#Õ.rC   c                 óF   — t        t        j                  ddd«      d«       y ©NrX   é   r†   )r   r<   Úbdtrir>   s    r@   Ú
test_bdtrizTestCephes.test_bdtri–   ó   € Ü”V—\‘\ ! A cÓ*¨3Õ/rC   c                 óF   — t        t        j                  ddd«      d«       y r‹   )r   r<   Úbdtrcr>   s    r@   Ú
test_bdtrczTestCephes.test_bdtrc™   r�   rC   c                 óF   — t        t        j                  ddd«      d«       y ©NrX   r   ç      @)r   r<   Úbdtrinr>   s    r@   Útest_bdtrinzTestCephes.test_bdtrinœ   ó   € Ü”V—]‘] 1 Q qÓ)¨#Õ.rC   c                 ó2   — t        j                  ddd«       y r‹   )r<   Úbdtrikr>   s    r@   Útest_bdtrikzTestCephes.test_bdtrikŸ   s   € Ü�‰�a˜˜#ÕrC   c                 óB   — t        t        j                  d«      d«       y ©Nr   ç        )r   r<   Úbeir>   s    r@   Útest_beizTestCephes.test_bei¢   ó   € Ü”V—Z‘Z “] 3Õ'rC   c                 óB   — t        t        j                  d«      d«       y r�   )r   r<   Úbeipr>   s    r@   Ú	test_beipzTestCephes.test_beip¥   ó   € Ü”V—[‘[ “^ CÕ(rC   c                 óB   — t        t        j                  d«      d«       y ©Nr   r‡   )r   r<   Úberr>   s    r@   Útest_berzTestCephes.test_ber¨   r¡   rC   c                 óB   — t        t        j                  d«      d«       y r�   )r   r<   Úberpr>   s    r@   Ú	test_berpzTestCephes.test_berp«   r¥   rC   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Õ2rC   c                 óH   — t        t        j                  d«      ddd¬«       y )NrX   r‡   ç�íµ ÷Æ°>r   r[   )r   r<   Úcbrtr>   s    r@   Ú	test_cbrtzTestCephes.test_cbrt±   s   € ÜœŸ™ A›¨°$¸QÖ?rC   c                 óD   — t        t        j                  dd«      d«       y ©NrX   r   rž   )r   r<   Úchdtrr>   s    r@   Ú
test_chdtrzTestCephes.test_chdtr´   s   € Ü”V—\‘\ ! AÓ& sÕ+rC   c                 óD   — t        t        j                  dd«      d«       y ©NrX   r   r‡   )r   r<   Úchdtrcr>   s    r@   Útest_chdtrczTestCephes.test_chdtrc·   ó   € Ü”V—]‘] 1 QÓ'¨Õ,rC   c                 óD   — t        t        j                  dd«      d«       y ©NrX   rž   )r   r<   Úchdtrir>   s    r@   Útest_chdtrizTestCephes.test_chdtriº   r¼   rC   c                 óF   — t        t        j                  ddd«      d«       y ©Nr   rX   rž   )r   r<   Úchndtrixr>   s    r@   Útest_chndtrixzTestCephes.test_chndtrix½   ó   € Ü”V—_‘_ Q q¨Ó+¨CÕ0rC   c                 óB   — t        t        j                  d«      d«       y r§   )r   r<   Úcosdgr>   s    r@   Ú
test_cosdgzTestCephes.test_cosdgÀ   ó   € Ü”V—\‘\ !“_ SÕ)rC   c                 óB   — t        t        j                  d«      d«       y r�   )r   r<   Úcosm1r>   s    r@   Ú
test_cosm1zTestCephes.test_cosm1Ã   rÉ   rC   c                 óH   — t        t        j                  d«      ddd¬«       y )Né-   r‡   çvƒôõ!„>r   r[   )r   r<   Úcotdgr>   s    r@   Ú
test_cotdgzTestCephes.test_cotdgÆ   s   € ÜœŸ™ RÓ(¨#°FÀÖCrC   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Ó*Ð,?Õ@rC   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)rX   é   é   rJ   g-Cëâ6
?r‡   rÏ   r   r[   ç•Ö&è.>ç [n‡Û<çVçž¯Ò<Úfloat128r�   gÉûÖ"<)rJ   rH   é   ç      ð¿çš™™™™™É?)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ÖQrC   c                 ó
  — t        j                  d«      }t        j                  g d¢«      }t        t	        j
                  |d d …t         j                  f   |«      j                  |j                  |j                  fk(  «       y )NrÖ   )rX   rŒ   rL   )	r]   r   r   r   r   rá   ÚnewaxisÚshapeÚsize)r?   rå   rf   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ÕMrC   c                 óB   — t        t        j                  d«      d«       y ©NrX   r‡   )r   r<   r   r>   s    r@   Útest_ellipezTestCephes.test_ellipeë   ó   € Ü”V—]‘] 1Ó% cÕ*rC   c                 óD   — t        t        j                  dd«      d«       y rÂ   )r   r<   Ú	ellipeincr>   s    r@   Útest_ellipeinczTestCephes.test_ellipeincî   ó   € Ü”V×%Ñ% a¨Ó*¨3Õ/rC   c                 ó0   — t        j                  dd«       y ©Nr   rX   )r<   Úellipjr>   s    r@   Útest_ellipjzTestCephes.test_ellipjñ   s   € Ü�‰�a˜ÕrC   c                 ó<   — t        t        d«      t        dz  «       y )Nr   rJ   )r   r   r   r>   s    r@   Útest_ellipkzTestCephes.test_ellipkô   s   € Üœ˜q›	¤2 a¡4Õ(rC   c                 óD   — t        t        j                  dd«      d«       y r�   )r   r<   Ú	ellipkincr>   s    r@   Útest_ellipkinczTestCephes.test_ellipkinc÷   rõ   rC   c                 óB   — t        t        j                  d«      d«       y r�   ©r   r<   Úerfr>   s    r@   Útest_erfzTestCephes.test_erfú   s   € Ü”V—Z‘Z “] CÕ(rC   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Õ9rC   c                 óB   — t        t        j                  d«      d«       y r§   )r   r<   Úerfcr>   s    r@   Ú	test_erfczTestCephes.test_erfc  s   € Ü”V—[‘[ “^ SÕ)rC   c                 óH   — t        t        j                  d«      ddd¬«       y )NrJ   g      Y@r±   r   r[   )r   r<   Úexp10r>   s    r@   Ú
test_exp10zTestCephes.test_exp10  s   € ÜœŸ™ Q›¨°TÀÖBrC   c                 óB   — t        t        j                  d«      d«       y )NrJ   ç      @)r   r<   Úexp2r>   s    r@   Ú	test_exp2zTestCephes.test_exp2  r¥   rC   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ž   rM   )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Õ2rC   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   rX   rJ   rH   rÖ   rM   )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ÕMrC   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Ö   é   rn   ù              ð?)y”­á=…ÿ�¼Cwˆ¯¹?yC7gg)gF<ëUŠgòÉ?yŠQØá”Š<—™âD*ÌÓ?yg:>¬Œ–<»›sKÀy>ñûÕñ¸£¼$	‹Um>lÀy;VÃél ™<„«£´å@rŒ   rn   )	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·=±=À"ÕErC   c                 óŒ   — t        t        j                  ddd«      d«       t        t        j                  ddd«      dd¬	«       y )
NrX   r   rž   r±   rÖ   é
   g£�2•óÿï?r�   rQ   )r   r<   Úfdtrr   r>   s    r@   Ú	test_fdtrzTestCephes.test_fdtr8  s6   € Ü”V—[‘[  A qÓ)¨3Ô/äœŸ™ D¨!¨RÓ0Ð2DØ"ö	$rC   c                 óŒ   — t        t        j                  ddd«      d«       t        t        j                  ddd«      dd¬	«       y )
NrX   r   r‡   rJ   r  g    _ BgDô�IXlÑ?r�   rQ   )r   r<   Úfdtrcr   r>   s    r@   Ú
test_fdtrczTestCephes.test_fdtrc>  s8   € Ü”V—\‘\ ! Q¨Ó*¨CÔ0ô 	œŸ™ Q¨¨TÓ2Ð4GØ"ö	$rC   c                 ó®   — t        t        j                  ddddg«      t        ddg«      d¬«       d}t        t        j                  d	d|«      d
d¬«       y )NrX   gV-²�ïß?gÕxé&1à?gší
}°Ìï?g<zO'Ñð?r±   rQ   g°×€í‡ì?r  rŒ   r�   )r   r<   Úfdtrir   )r?   Úps     r@   Ú
test_fdtrizTestCephes.test_fdtriE  sM   € ÜœŸ™ Q¨¨E°5¨>Ó:Ü˜y¨*Ð5Ó6¸Tõ	Cð %ˆÜœŸ™ S¨!¨QÓ/°¸Ö?rC   c                 ó€   — d\  }}}t        t        j                  ||t        j                  |||«      «      |d¬«       y )N)rX   éPÃ  g\«/˜Õ¹=@rÚ   rQ   )r   r<   r-  r'  )r?   ÚdfdÚdfnrå   s       r@   Útest_gh20835zTestCephes.test_gh20835M  s4   € à1‰ˆˆS�!ÜœŸ™ S¨#¬v¯{©{¸3ÀÀQÓ/GÓHÈ!ÐRWÖXrC   c                 óF   — t        t        j                  ddd«      d«       y )NrX   r†   )r   r<   r-  r>   s    r@   Útest_fdtri_mysterious_failurez(TestCephes.test_fdtri_mysterious_failureR  s   € ÜœŸ™ Q¨¨3Ó/°Õ3rC   c                 óF   — t        t        j                  ddd«      d«       y r”   )r   r<   Úfdtridfdr>   s    r@   Útest_fdtridfdzTestCephes.test_fdtridfdU  rÅ   rC   c                 óB   — t        t        j                  d«      d«       y ©Nr   ©rž   rž   )r   r<   Úfresnelr>   s    r@   Útest_fresnelzTestCephes.test_fresnelX  s   € Ü”V—^‘^ AÓ& yÕ1rC   c                 óB   — t        t        j                  d«      d«       y ©NrÖ   ç      8@)r   r<   Úgammar>   s    r@   Ú
test_gammazTestCephes.test_gamma[  s   € Ü”V—\‘\ !“_ TÕ*rC   c                 óD   — t        t        j                  dd«      d«       y )NrÖ   rX   rž   )r   r<   Úgammainccinvr>   s    r@   Útest_gammainccinvzTestCephes.test_gammainccinv^  s   € Ü”V×(Ñ(¨¨1Ó-¨cÕ2rC   c                 ó.   — t        j                  d«       y )Nr&  )r<   Úgammalnr>   s    r@   Útest_gammalnzTestCephes.test_gammalna  s   € Ü�‰�rÕrC   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ž   rX   gÍÌÌÌÌÌ@r‡   rÝ   )r]   r   r   râ   r  r   r<   Úgammasgn)r?   ÚvalsÚ	references      r@   Útest_gammasgnzTestCephes.test_gammasgnd  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°)Õ<rC   c                 óF   — t        t        j                  ddd«      d«       y rµ   )r   r<   Úgdtrr>   s    r@   Ú	test_gdtrzTestCephes.test_gdtrm  ó   € Ü”V—[‘[  1 QÓ'¨Õ,rC   c                 ób   — t        t        j                  ddt        j                  «      d«       y rï   )r   r<   rS  r]   r   r>   s    r@   Útest_gdtr_infzTestCephes.test_gdtr_infp  s   € Ü”V—[‘[  1¤R§V¡VÓ,¨SÕ1rC   c                 óF   — t        t        j                  ddd«      d«       y r¹   )r   r<   Úgdtrcr>   s    r@   Ú
test_gdtrczTestCephes.test_gdtrcs  ó   € Ü”V—\‘\ ! A aÓ(¨Õ-rC   c                 óF   — t        t        j                  ddd«      d«       y rÂ   )r   r<   Úgdtriar>   s    r@   Útest_gdtriazTestCephes.test_gdtriav  r˜   rC   c                 ó2   — t        j                  ddd«       y ©NrX   r   )r<   Úgdtribr>   s    r@   Útest_gdtribzTestCephes.test_gdtriby  s   € Ü�‰�a˜˜!ÕrC   c                 ó2   — t        j                  ddd«       y ©NrX   r  )r<   Úgdtrixr>   s    r@   Útest_gdtrixzTestCephes.test_gdtrix}  s   € Ü�‰�a˜˜"ÕrC   c                 ó0   — t        j                  dd«       y rt   )r<   Úhankel1r>   s    r@   Útest_hankel1zTestCephes.test_hankel1€  ó   € Ü�‰�q˜ÕrC   c                 ó0   — t        j                  dd«       y rt   )r<   Úhankel1er>   s    r@   Útest_hankel1ezTestCephes.test_hankel1eƒ  ó   € Ü�‰˜˜!ÕrC   c                 ó0   — t        j                  dd«       y rt   )r<   Úhankel2r>   s    r@   Útest_hankel2zTestCephes.test_hankel2†  rj  rC   c                 ó0   — t        j                  dd«       y rt   )r<   Úhankel2er>   s    r@   Útest_hankel2ezTestCephes.test_hankel2e‰  rn  rC   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 )
NrX   r‡   r±   r   r[   rŒ   rH   éúÿÿÿg¹ãˆ®š?)r   r<   Úhyp1f1r   r>   s    r@   Útest_hyp1f1zTestCephes.test_hyp1f1Œ  sP   € ÜœŸ™ a¨¨AÓ.´°C³¸tÈ!ÕLÜœŸ™ a¨¨BÓ/Ð1HØ!¨õ	+ä�‰�a˜˜!ÕrC   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Õ0rC   c                 óB   — t        t        j                  d«      d«       y r§   )r   r<   Úi0r>   s    r@   Útest_i0zTestCephes.test_i0•  ó   € Ü”V—Y‘Y˜q“\ #Õ&rC   c                 óB   — t        t        j                  d«      d«       y r§   )r   r<   Úi0er>   s    r@   Útest_i0ezTestCephes.test_i0e˜  r¡   rC   c                 óB   — t        t        j                  d«      d«       y r�   )r   r<   Úi1r>   s    r@   Útest_i1zTestCephes.test_i1›  r€  rC   c                 óB   — t        t        j                  d«      d«       y r�   )r   r<   Úi1er>   s    r@   Útest_i1ezTestCephes.test_i1ež  r¡   rC   c                 ó.   — t        j                  d«       y rt   )r<   Úit2i0k0r>   s    r@   Útest_it2i0k0zTestCephes.test_it2i0k0¡  ó   € Ü�‰�qÕrC   c                 ó.   — t        j                  d«       y rt   )r<   Úit2j0y0r>   s    r@   Útest_it2j0y0zTestCephes.test_it2j0y0¤  r�  rC   c                 ó.   — t        j                  d«       y rt   )r<   Ú
it2struve0r>   s    r@   Útest_it2struve0zTestCephes.test_it2struve0§  s   € Ü×Ñ˜!ÕrC   c                 ó.   — t        j                  d«       y rt   )r<   Úitairyr>   s    r@   Útest_itairyzTestCephes.test_itairyª  ó   € Ü�‰�aÕrC   c                 óB   — t        t        j                  d«      d«       y r;  )r   r<   Úiti0k0r>   s    r@   Útest_iti0k0zTestCephes.test_iti0k0­  ó   € Ü”V—]‘] 1Ó% iÕ0rC   c                 óB   — t        t        j                  d«      d«       y r;  )r   r<   Úitj0y0r>   s    r@   Útest_itj0y0zTestCephes.test_itj0y0°  r›  rC   c                 óB   — t        t        j                  d«      d«       y r�   )r   r<   Úitmodstruve0r>   s    r@   Útest_itmodstruve0zTestCephes.test_itmodstruve0³  s   € Ü”V×(Ñ(¨Ó+¨CÕ0rC   c                 óB   — t        t        j                  d«      d«       y r�   )r   r<   Ú	itstruve0r>   s    r@   Útest_itstruve0zTestCephes.test_itstruve0¶  s   € Ü”V×%Ñ% aÓ(¨Õ-rC   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Õ(rC   c                 óD   — t        t        j                  dd«      d«       y rµ   )r   r<   Úiver>   s    r@   Útest_ivezTestCephes.test_ive¼  ó   € Ü”V—Z‘Z  !“_ SÕ)rC   c                 óB   — t        t        j                  d«      d«       y r§   )r   r<   Új0r>   s    r@   Útest_j0zTestCephes.test_j0¿  r€  rC   c                 óB   — t        t        j                  d«      d«       y r�   )r   r<   Új1r>   s    r@   Útest_j1zTestCephes.test_j1Â  r€  rC   c                 óD   — t        t        j                  dd«      d«       y r§   )r   r<   Újnr>   s    r@   Útest_jnzTestCephes.test_jnÅ  r¨  rC   c                 óD   — t        t        j                  dd«      d«       y r§   )r   r<   Újvr>   s    r@   Útest_jvzTestCephes.test_jvÈ  r¨  rC   c                 óD   — t        t        j                  dd«      d«       y r§   )r   r<   Újver>   s    r@   Útest_jvezTestCephes.test_jveË  r¬  rC   c                 ó.   — t        j                  d«       y ©NrJ   )r<   Úk0r>   s    r@   Útest_k0zTestCephes.test_k0Î  ó   € Ü�	‰	�!�rC   c                 ó.   — t        j                  d«       y r½  )r<   Úk0er>   s    r@   Útest_k0ezTestCephes.test_k0eÑ  ó   € Ü�
‰
�1�rC   c                 ó.   — t        j                  d«       y r½  )r<   Úk1r>   s    r@   Útest_k1zTestCephes.test_k1Ô  rÀ  rC   c                 ó.   — t        j                  d«       y r½  )r<   Úk1er>   s    r@   Útest_k1ezTestCephes.test_k1e×  rÄ  rC   c                 ó.   — t        j                  d«       y r½  )r<   Úkeir>   s    r@   Útest_keizTestCephes.test_keiÚ  rÄ  rC   c                 óB   — t        t        j                  d«      d«       y r�   )r   r<   Úkeipr>   s    r@   Ú	test_keipzTestCephes.test_keipÝ  r¥   rC   c                 ó.   — t        j                  d«       y r½  )r<   Úkerr>   s    r@   Útest_kerzTestCephes.test_kerà  rÄ  rC   c                 ó.   — t        j                  d«       y r½  )r<   Úkerpr>   s    r@   Ú	test_kerpzTestCephes.test_kerpã  rB   rC   c                 ó.   — t        j                  d«       y r½  )r<   Úkelvinr>   s    r@   Útest_kelvinzTestCephes.test_kelvinæ  r—  rC   c                 ó0   — t        j                  dd«       y rt   )r<   Úknr>   s    r@   Útest_knzTestCephes.test_kné  ó   € Ü�	‰	�!�A�rC   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Õ1rC   c                 óB   — t        t        j                  d«      d«       y r§   )r   r<   Ú
kolmogorovr>   s    r@   Útest_kolmogorovzTestCephes.test_kolmogorovð  s   € Ü”V×&Ñ& qÓ)¨3Õ/rC   c                 óB   — t        t        j                  d«      d«       y )Nr   rM  )r   r<   Ú_kolmogpr>   s    r@   Útest_kolmogpzTestCephes.test_kolmogpó  s   € Ü”V—_‘_ QÓ'¨Õ.rC   c                 óB   — t        t        j                  d«      d«       y r�   )r   r<   Ú_kolmogcr>   s    r@   Útest_kolmogczTestCephes.test_kolmogcö  s   € Ü”V—_‘_ QÓ'¨Õ-rC   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Õ3rC   c                 ó0   — t        j                  dd«       y rt   )r<   Úkvr>   s    r@   Útest_kvzTestCephes.test_kvý  rÝ  rC   c                 ó0   — t        j                  dd«       y rt   )r<   Úkver>   s    r@   Útest_kvezTestCephes.test_kve   ó   € Ü�
‰
�1�Q�rC   c                 ó&  — t         j                  }t         |d«      d«       t         |d«      t        j                   «       t         |d«      t        j
                  «       t         |t        j                  «      t        j                  «       y )Nr   rž   rM   éþÿÿÿ)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Õ+rC   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  rM   r   Úignorez%invalid value encountered in multiplyrX   rJ   rŒ   rH   )r<   rö  r  r   r]   r   ÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr   r   r  )r?   rö  Úcs      r@   Útest_log1p_complexzTestCephes.test_log1p_complex
  sT  € Ü—‘ˆÜˆÜ‘U˜6“] FÔ+Ü‘U™1˜R ›8“_¡a¬¯©¨°£mÔ4Ü×$Ñ$Õ&Ü×#Ñ#ØÐ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÷ '×&Ñ&ús   Á,NPÐPc                 óF   — t        t        j                  ddd«      d«       y )Nr   rX   r‡   )r   r<   Úlpmvr>   s    r@   Ú	test_lpmvzTestCephes.test_lpmv  rU  rC   c                 óx   — t        j                  g d¢«      }t        t        j                  |d«      |dz  «       y ©N)rX   rJ   rÖ   r   rJ   )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Õ2rC   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Ú   rQ   )r<   r  r   ©r?   r  ÚqÚrefr   s        r@   Útest_mathieu_azTestCephes.test_mathieu_a(  ó"   € ô ×Ñ˜Q Ó"ˆÜ˜˜3 UÖ+rC   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_q03  r	  rC   ))rX   r|   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_b:  r  rC   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 )NrX   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ž æ?rX   r†   rJ   r
  rŒ   rH   é   r  )r]   r   r
   ©r  r  r!  s      r@   Ú	ce_smallqz.TestCephes.test_mathieu_cem.<locals>.ce_smallqI  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ÐUrC   éd   éâÿÿÿé÷ÿÿÿr&  ç°rh‘í|¿?ç›+¡†›„=©rR   r\   )	r   r<   Úmathieu_cemr]   r}   r   r   rp   r   )r?   r"  r  r  s       r@   Útest_mathieu_cemzTestCephes.test_mathieu_cemE  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¸Ó>Ø"¨ö	,rC   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 )NrX   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  rX   r
  rŒ   rJ   rH   r   )r]   r   r	   r!  s      r@   Ú	se_smallqz.TestCephes.test_mathieu_sem.<locals>.se_smallqb  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ÐUrC   r#  r$  r%  r&  r&  r'  r(  )	r   r<   Úmathieu_semr]   r}   r   r   rp   r   )r?   r.  r  r  s       r@   Útest_mathieu_semzTestCephes.test_mathieu_sem^  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¸Ó>Ø"¨ö	,rC   c                 óF   — t        t        j                  ddd«      d«       y ©NrX   r   r<  )r   r<   Úmathieu_modcem1r>   s    r@   Útest_mathieu_modcem1zTestCephes.test_mathieu_modcem1t  ó   € Ü”V×+Ñ+¨A¨a°Ó2°9Õ=rC   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 )
NrX   r   rH   rõ  rJ   r&  rL   rZ   rQ   )	r<   Úmathieu_modcem2r]   r   r   rp   Úlinspacer3  r   ©r?   r  r  r!  Úy1ÚfrÚy2s          r@   Útest_mathieu_modcem2zTestCephes.test_mathieu_modcem2w  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Ö+rC   c                 óF   — t        t        j                  ddd«      d«       y r2  )r   r<   Úmathieu_modsem1r>   s    r@   Útest_mathieu_modsem1zTestCephes.test_mathieu_modsem1‡  r5  rC   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 )
NrX   rH   rõ  rJ   r&  r   rL   rZ   rQ   )	r<   Úmathieu_modsem2r]   r   r   rp   r8  r?  r   r9  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Ö+rC   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/  r3  r?  r7  rB  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ÕOrC   c                 ó–   — t        d«      D ];  }t        j                  ddd«      }t        |d   dd¬«       t        |d	   d
d¬«       Œ= y )Né<   rJ   r#  rM   r   g.ød‰SÂ?rZ   rQ   rX   gà§GcÛì?ç-Cëâ6?)rv   r<   rB  r   )r?   rg   Úvs      r@   Útest_mathieu_ticket_1847z#TestCephes.test_mathieu_ticket_1847£  sH   € ô �r–ˆAÜ×&Ñ& q¨#¨rÓ2ˆAä˜A˜a™DÐ":ÀÕGÜ˜A˜a™DÐ":ÀÖFñ	 rC   c                 ó.   — t        j                  d«       y r;   )r<   Úmodfresnelmr>   s    r@   Útest_modfresnelmzTestCephes.test_modfresnelm¬  ó   € Ü×Ñ˜1ÕrC   c                 ó.   — t        j                  d«       y r;   )r<   Úmodfresnelpr>   s    r@   Útest_modfresnelpzTestCephes.test_modfresnelp¯  rO  rC   c                 óD   — t        t        j                  dd«      d«       y rµ   )r   r<   Ú	modstruver>   s    r@   Útest_modstruvezTestCephes.test_modstruve²  rõ   rC   c                 óF   — t        t        j                  ddd«      d«       y rï   )r   r<   Únbdtrr>   s    r@   Ú
test_nbdtrzTestCephes.test_nbdtrµ  r[  rC   c                 óF   — t        t        j                  ddd«      d«       y r¾   )r   r<   Únbdtrcr>   s    r@   Útest_nbdtrczTestCephes.test_nbdtrc¸  r˜   rC   c                 óF   — t        t        j                  ddd«      d«       y rï   )r   r<   Únbdtrir>   s    r@   Útest_nbdtrizTestCephes.test_nbdtri»  r˜   rC   c                 ó2   — t        j                  ddd«       y )NrX   rK   r†   )r<   Únbdtrikr>   s    r@   Útest_nbdtrikzTestCephes.test_nbdtrik¾  s   € Ü�‰�q˜˜BÕrC   c                 óF   — t        t        j                  ddd«      d«       y r”   )r   r<   Únbdtrinr>   s    r@   Útest_nbdtrinzTestCephes.test_nbdtrinÁ  s   € Ü”V—^‘^ A a¨Ó*¨3Õ/rC   c                 óH   — t        t        j                  dddd«      d«       y rµ   )r   r<   Úncfdtrr>   s    r@   Útest_ncfdtrzTestCephes.test_ncfdtrÄ  r|  rC   c                 óÄ   — t        t        j                  dddd«      d«       g d¢}t        j                  ddd|«      }t	        t        j                  ddd|«      |«       y )NrX   r   rž   )r†   rX   r  rJ   rŒ   r  )r   r<   Úncfdtrirf  r   )r?   Úfr.  s      r@   Útest_ncfdtrizTestCephes.test_ncfdtriÇ  sM   € Ü”V—^‘^ A q¨!¨QÓ/°Ô5ÚˆÜ�M‰M˜!˜Q  QÓ'ˆÜœŸ™ q¨!¨S°!Ó4°aÕ8rC   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©rX   rJ   rŒ   rJ   r  r|   )r<   rf  r   Ú
ncfdtridfd)r?   r2  r.  s      r@   Útest_ncfdtridfdzTestCephes.test_ncfdtridfdÍ  s8   € ò ˆÜ�M‰M˜!˜S $¨Ó+ˆÜœ×)Ñ)¨!¨Q°°bÓ9¸3Õ?rC   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  rX   rJ   rŒ   g     ˆÃ@rJ   r  r|   gñhãˆµøä>rQ   )r<   rf  r   Ú
ncfdtridfn)r?   r3  r.  s      r@   Útest_ncfdtridfnzTestCephes.test_ncfdtridfnØ  s:   € ò "ˆÜ�M‰M˜#˜q $¨Ó+ˆÜœ×)Ñ)¨!¨Q°°bÓ9¸3ÀTÖJrC   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  ç       @rJ   rŒ   r|   )r<   rf  r   Ú	ncfdtrinc)r?   Úncr.  s      r@   Útest_ncfdtrinczTestCephes.test_ncfdtrincã  s8   € ò ˆÜ�M‰M˜!˜Q  BÓ'ˆÜœ×(Ñ(¨¨A¨q°"Ó5°rÕ:rC   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 )NrX   r   r†   r  i   rÎ   rž   r‡   rI  r[   rt  ç      $@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Õ8rC   c                 ó2   — t        j                  ddd«       y )NrX   r†   r   )r<   Ú	nctdtridfr>   s    r@   Útest_nctdtridfzTestCephes.test_nctdtridfú  s   € Ü×Ñ˜˜3˜qÕ!rC   c                 ó2   — t        j                  ddd«       y r`  )r<   Ú	nctdtrincr>   s    r@   Útest_nctdtrinczTestCephes.test_nctdtrincý  s   € Ü×Ñ˜˜1˜QÕrC   c                 ó2   — t        j                  ddd«       y )Nr  rÞ   r†   )r<   Únctdtritr>   s    r@   Útest_nctdtritzTestCephes.test_nctdtrit   s   € Ü�‰˜˜3˜rÕ"rC   c                 óL   — t        t        j                  ddd«      ddd¬«       y )Nr†   rX   r‡   r±   r   r[   )r   r<   Únrdtrimnr>   s    r@   Útest_nrdtrimnzTestCephes.test_nrdtrimn  s   € ÜœŸ™¨¨Q°Ó2°C¸dÈÖKrC   c                 óL   — t        t        j                  ddd«      ddd¬«       y )Nr†   rž   r   r[   )r   r<   Únrdtrisdr>   s    r@   Útest_nrdtrisdzTestCephes.test_nrdtrisd  s    € ÜœŸ™¨¨C°Ó4°cØ aö	)rC   c                 ó4   — t        j                  dddd«       y r`  )r<   Úobl_ang1r>   s    r@   Útest_obl_ang1zTestCephes.test_obl_ang1
  ó   € Ü�‰˜˜!˜A˜aÕ rC   c                 ó~   — t        j                  ddddd«      }t        |d   ddd¬«       t        |d   ddd¬«       y )NrX   r   r‡   rÏ   r[   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¸!Ö<rC   c                 óF   — t        t        j                  ddd«      d«       y ©NrX   r   rt  )r   r<   Úobl_cvr>   s    r@   Útest_obl_cvzTestCephes.test_obl_cv  r˜   rC   c                 ó4   — t        j                  dddd«       y r`  )r<   Úobl_rad1r>   s    r@   Útest_obl_rad1zTestCephes.test_obl_rad1  rŽ  rC   c                 ó6   — t        j                  ddddd«       y r`  )r<   Úobl_rad1_cvr>   s    r@   Útest_obl_rad1_cvzTestCephes.test_obl_rad1_cv  ó   € Ü×Ñ˜1˜Q˜q  1Õ%rC   c                 ó4   — t        j                  dddd«       y r`  )r<   Úobl_rad2r>   s    r@   Útest_obl_rad2zTestCephes.test_obl_rad2  rŽ  rC   c                 ó6   — t        j                  ddddd«       y r`  )r<   Úobl_rad2_cvr>   s    r@   Útest_obl_rad2_cvzTestCephes.test_obl_rad2_cv  r�  rC   c                 óD   — t        t        j                  dd«      d«       y )NrX   r   r,  )r   r<   Úpbdvr>   s    r@   Ú	test_pbdvzTestCephes.test_pbdv!  s   € Ü”V—[‘[  1Ó% iÕ0rC   c                 ó0   — t        j                  dd«       y r`  )r<   Úpbvvr>   s    r@   Ú	test_pbvvzTestCephes.test_pbvv$  ó   € Ü�‰�A�aÕrC   c                 ó0   — t        j                  dd«       y r`  )r<   Úpbwar>   s    r@   Ú	test_pbwazTestCephes.test_pbwa'  rª  rC   c                 óÀ   — t        j                  dd«      }t        |t        j                  d«      dd¬«       t        j                  g d¢d«      }t        |g d¢«       y )Nr   rX   rM   rÏ   r[   ©r   rX   rJ   )rX   rX   rX   )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¢	Õ*rC   c                 óÆ   — t        j                  dd«      }t        |dt        j                  d«      z
  dd¬«       t        j                  g d¢d«      }t        |g d¢«       y )	Nr   rX   rM   rÏ   r[   r¯  rž   )r   r   r   )r<   Úpdtrcr   r]   r   r   r±  s     r@   Ú
test_pdtrczTestCephes.test_pdtrc1  sF   € Ü�l‰l˜1˜aÓ ˆÜ˜˜Q¤§¡¨£™^°&¸qÕAä�l‰lš9 cÓ*ˆÜ˜3¢	Õ*rC   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_pdtri8  s?   € Ü×$Ñ$Õ&ØAˆCÜ×#Ñ# H¨c´>ÔBÜ�L‰L˜˜SÔ!÷ '×&Ñ&ús   •4AÁAc                 ó4   — t        j                  dddd«       y r`  )r<   Úpro_ang1r>   s    r@   Útest_pro_ang1zTestCephes.test_pro_ang1?  rŽ  rC   c           	      ób   — t        t        j                  ddddd«      t        d«      dd¬«       y )NrX   r   r  rÏ   r[   )r   r<   Úpro_ang1_cvr   r>   s    r@   Útest_pro_ang1_cvzTestCephes.test_pro_ang1_cvB  s+   € Üœ×*Ñ*¨1¨a°°A°qÓ9¼5ÀÓ;LØ#¨!ö	-rC   c                 óF   — t        t        j                  ddd«      d«       y r”  )r   r<   Úpro_cvr>   s    r@   Útest_pro_cvzTestCephes.test_pro_cvF  r˜   rC   c                 ó4   — t        j                  dddd«       y rd  )r<   Úpro_rad1r>   s    r@   Útest_pro_rad1zTestCephes.test_pro_rad1I  s   € Ü�‰˜˜!˜A˜cÕ"rC   c                 ó6   — t        j                  ddddd«       y r`  )r<   Úpro_rad1_cvr>   s    r@   Útest_pro_rad1_cvzTestCephes.test_pro_rad1_cvL  r�  rC   c                 ó4   — t        j                  dddd«       y r`  )r<   Úpro_rad2r>   s    r@   Útest_pro_rad2zTestCephes.test_pro_rad2O  rŽ  rC   c                 ó6   — t        j                  ddddd«       y r`  )r<   Úpro_rad2_cvr>   s    r@   Útest_pro_rad2_cvzTestCephes.test_pro_rad2_cvR  r�  rC   c                 ó.   — t        j                  d«       y rt   )r<   Úpsir>   s    r@   Útest_psizTestCephes.test_psiU  rÄ  rC   c                 óF   — t        t        j                  ddd«      d«       y r;   )r   r<   Úradianr>   s    r@   Útest_radianzTestCephes.test_radianX  s   € Ü”V—]‘] 1 Q qÓ)¨!Õ,rC   c                 óB   — t        t        j                  d«      d«       y rï   )r   r<   Úrgammar>   s    r@   Útest_rgammazTestCephes.test_rgamma[  rñ   rC   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      Àç      @rL  )r   r<   Úroundr>   s    r@   Ú
test_roundzTestCephes.test_round^  st   € Ü”V—\‘\ #Ó& sÔ+Ü”V—\‘\ $Ó'¨Ô-Ü”V—\‘\ #Ó& sÔ+Ü”V—\‘\ $Ó'¨Ô-Ü”V—\‘\ #Ó& sÔ+Ü”V—\‘\ $Ó'¨Õ-rC   c                 ó.   — t        j                  d«       y rt   )r<   Úshichir>   s    r@   Útest_shichizTestCephes.test_shichif  r—  rC   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 )NrX   r†   rÏ   r   r[   z cosine integral(-inf) is not nan)r<   Úsicir]   r   r   r   r   r   )r?   Úsrþ  s      r@   Ú	test_sicizTestCephes.test_sicii  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Õ=Ü”—‘˜“Ð?Õ@rC   c                 óB   — t        t        j                  d«      d«       y ©NéZ   r‡   )r   r<   Úsindgr>   s    r@   Ú
test_sindgzTestCephes.test_sindgt  ó   € Ü”V—\‘\ "Ó% cÕ*rC   c                 óÄ   — t        t        j                  dd«      d«       t        t	        j
                  t        j                  dt        j                  «      «      «       y )NrX   r  çÍÌÌÌÌÌì?)r   r<   Úsmirnovr   r]   r   r  r>   s    r@   Útest_smirnovzTestCephes.test_smirnovw  s7   € Ü”V—^‘^ A bÓ)¨#Ô.Ü”—‘œŸ™¨¬"¯&©&Ó1Ó2Õ3rC   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 )	NrX   r  rM   rJ   ç      è?ç      à¿rŒ   g      È¿)r   r<   Ú	_smirnovpr   r]   r   r  r>   s    r@   Útest_smirnovpzTestCephes.test_smirnovp{  sk   € Ü”V×%Ñ% a¨Ó,¨bÔ1Ü”V×%Ñ% a¨Ó.Ð0@ÔAÜ”V×%Ñ% a¨Ó.Ð0@ÔAÜ”—‘œ×)Ñ)¨!¬R¯V©VÓ4Ó5Õ6rC   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 )NrX   r  r   r  T©ÚendpointrŒ   rÏ   r[   rÖ   rH   )
r   r<   Ú	_smirnovcr   r]   r   r  r8  r   rò  )r?   Úx10Úx4s      r@   Útest_smirnovczTestCephes.test_smirnovc�  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Ø#¨!ö	-rC   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 ©NrX   rK   rÏ   r   r[   ç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Õ4rC   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Õ6rC   c                 óB   — t        t        j                  d«      d«       y r¾   )r   r<   Úspencer>   s    r@   Útest_spencezTestCephes.test_spence™  rñ   rC   c                 óÐ   — t        t        j                  dd«      d«       t        t        j                  dd«      ddd¬«       t        t        j                  dd«      ddd¬«       y )	NrX   r   r†   rõ  rÏ   r[   rJ   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ÖPrC   c                 ó0   — t        j                  dd«       y )Nçffffffæ?rX   )r<   Ústdtridfr>   s    r@   Útest_stdtridfzTestCephes.test_stdtridf¡  s   € Ü�‰˜˜AÕrC   c                 ó0   — t        j                  dd«       y )NrX   r  )r<   Ústdtritr>   s    r@   Útest_stdtritzTestCephes.test_stdtrit¤  s   € Ü�‰�q˜ÕrC   c                 óD   — t        t        j                  dd«      d«       y r�   )r   r<   Ústruver>   s    r@   Útest_struvezTestCephes.test_struve§  r¼   rC   c                 óB   — t        t        j                  d«      d«       y )NrÎ   r‡   )r   r<   Útandgr>   s    r@   Ú
test_tandgzTestCephes.test_tandgª  rï  rC   c                 óJ   — t        t        j                  dd«      ddd¬«       y )NrX   r‡   rÏ   r   r[   )r   r<   Útklmbdar>   s    r@   Útest_tklmbdazTestCephes.test_tklmbda­  s   € ÜœŸ™ q¨!Ó,¨c¸ÀQÖGrC   c                 ó.   — t        j                  d«       y rt   )r<   Úy0r>   s    r@   Útest_y0zTestCephes.test_y0°  rÀ  rC   c                 ó.   — t        j                  d«       y rt   )r<   r:  r>   s    r@   Útest_y1zTestCephes.test_y1³  rÀ  rC   c                 ó0   — t        j                  dd«       y rt   )r<   Úynr>   s    r@   Útest_ynzTestCephes.test_yn¶  rÝ  rC   c                 ó0   — t        j                  dd«       y rt   )r<   Úyvr>   s    r@   Útest_yvzTestCephes.test_yv¹  rÝ  rC   c                 ó0   — t        j                  dd«       y rt   )r<   Úyver>   s    r@   Útest_yvezTestCephes.test_yve¼  ró  rC   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  rt  rÝ   r‡   g      "Àg      "@g†4×µ/Y¾gï8EGrùñ?rß  gffffff@iËÿÿÿgš™™™™>@rž   g|ò°Pkš¿?r  rX   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é<rP   rQ   )r  r3   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¨!°%Ö8rC   N)¹Ú__name__Ú
__module__Ú__qualname__rA   rF   rk   rq   r~   r„   r‰   rŽ   r’   r—   r›   r    r¤   r©   r¬   r¯   r³   r·   r»   rÀ   rÄ   rÈ   rÌ   rÑ   rÔ   rè   rí   rð   rô   rù   rû   rþ   r  r  r  r  r  r  r  ÚpytestÚmarkÚxfailr$  r(  r+  r/  r4  r6  r9  r>  rC  rF  rI  rQ  rT  rW  rZ  r^  rb  rf  ri  rm  rq  rt  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  Úparametrizer  r  r  r*  r0  r4  r=  r@  rC  rF  rK  rN  rR  rU  rX  r[  r^  ra  rd  rg  rk  ro  rr  rw  r{  r~  r�  r„  r‡  rŠ  r�  r’  r–  r™  rœ  r   r£  r¦  r©  r­  r³  r¶  r¼  r¿  rÂ  rÅ  rÈ  rË  rÎ  rÑ  rÔ  r×  rÚ  râ  rå  ré  rî  ró  rø  rÿ  r  r  r
  r  r  r  r  r  r  r   r"  r%  r(  r+  r2  © rC   r@   r9   r9   ;   s}  „ òòò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ò.ò/ò/ò ò0ò1ò9ð ‡[�[×ÑðIð ó ñ@óð@ð
 ‡[�[×ÑðIð ó ñKóðKð
 ‡[�[×ÑðIð ó ñ;óð;ò

9ò"ò ò#òLò)ò!ò=ò
/ò!ò&ò!ò&ò1òòò+ò+ò"ò!ò-ò/ò#ò&ò!ò&òò-ò+ò.òò	Aò+ò4ò7ò-ò5ò7ò+òQò
òò-ò+òHòòòòòó*9rC   r9   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   r[   g=
×£p=Ú?)g‚'Ý$'Ð?ge«ªÎ¿g›‰LÐÑé?gæ
ŒHVVà?g
×£p=
×¿)gl@ÆÔD|Ü?gVƒ¬~×­Í¿gU–¬äÂÜ?g¨3{É”ÉÞ?)r   r=   r   r   r  s     r@   rA   zTestAiry.test_airyí  ss   € ô �L‰L˜ÓˆÜ˜œ5Ò!RÓSØ#¨!õ	-ä�L‰L˜ÓˆÜ˜œ5Ò!QÓRØ#¨!õ	-ä�L‰L˜ÓˆÜ˜œ5Ò!OÓPØ#¨!ö	-rC   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„?rH   rJ   gNè´�N{?çTäqs*¹>r   r[   )	r   rE   r=   rv   r   r   Úabsr   r   )r?   ÚaÚbÚb1rf   s        r@   rF   zTestAiry.test_airyeú  s¢   € Ü�M‰M˜$ÓˆÜ�L‰L˜ÓˆØˆV�A‰XˆÜ�q–ˆAØ�a‘Dœ˜\¬$¨t«*Ñ4Ó5Ñ5ˆBˆqŠEð ä�q˜–ˆAØ�a‘Dœœc¤$ |´D¸³JÑ'>Ó"?Ó@Ð@ÓAÑAˆBˆqŠEð ä˜˜2 F°Ö3rC   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 )NrJ   g‘†lƒ‡Çò¿goe‰Î2+
Àg(õá0[Àg Xü*éJÀgõUfÏÝ¿gË°zU¡`Ù?g4Ðc1=Cã?gó¿CîuTè¿ça2U0*©#?r   r[   rÖ   )g²&„‡Çò¿g(Æ.÷2+
Àg²óÕð¬RÀg}þ`·í­Àg¯%ëÍ�Àçpé~°=rX   )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ö	.rC   c           	      ó¤   — t        j                  d«      }t        |t        dg«      t        dg«      t        dg«      t        dg«      fdd¬«       y )	NrX   gÒác¨q´Àg!·xÛùLð¿gMóŽSt$á?g ‘~û:pæ?rH  r   r[   )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›_ð.ð $¨!ö		-rC   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 )Nr1  rX   r  rZ   rQ   r   r[   rN   )gÞu¨q´Àg‹qHkZÀg4µ¢Àg™é9Î–%ÀgB™~ôÊÆÀgÌL„ä˜"À)g ªæÛùLð¿gQö“Oü	ÀgMQnÈGÀg3þ:§Àg)Ê}Àg¥æîú À)r   rP  r=   rC  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_big1  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rC   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 )Nr1  rX   r  rZ   rQ   r   r[   rN   )gx&„‡Çò¿gg†-÷2+
ÀgÁšÖð¬RÀggÑ`·í­Àgu•%ëÍ�Àg{¸àû À)g K;1[ÀgÂáì*éJÀg¬¯Vw±Àg<w¸¦ Àgd
Ê3¾ÂÀg/{Ô
"À)r   rK  r=   rC  r   )r?   r!  rT  Úbi_zpxÚbip_zxrY  Úbi_zÚbip_zÚbi_zpÚbip_zpÚbi_envelopeÚbip_envelopes               r@   Útest_bi_zeros_bigzTestAiry.test_bi_zeros_bigJ  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rC   N)r3  r4  r5  rA   rF   rN  rR  r6  r7  Ú	fail_slowr^  rh  r:  rC   r@   r<  r<  ì  sa   „ ò-ò4ò#.òJ-ð ‡[�[×Ñ˜1ÓñGó ðGð0 ‡[�[×Ñ˜1ÓñGó ñGrC   r<  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  rX   rÞ   r?  r   r[   )r   ÚgenlaguerreÚassoc_laguerrer   )r?   Úa1Úa2s      r@   Útest_assoc_laguerrez%TestAssocLaguerre.test_assoc_laguerree  s`   € Ü× Ñ   AÓ&ˆÜ×#Ñ# B r¨!Ó,ˆÜ˜™B˜r›F¨°aÕ8Ü×#Ñ# A b¨Ó+ˆÜ˜™B˜q›E¨°QÖ7rC   N)r3  r4  r5  rq  r:  rC   r@   rk  rk  d  s   „ ó8rC   rk  c                   ó   — e Zd Zd„ Zy)ÚTestBesselpolyc                  ó   — y ©Nr:  r>   s    r@   r¯   zTestBesselpoly.test_besselpolyn  ó   € ØrC   N)r3  r4  r5  r¯   r:  rC   r@   rs  rs  m  s   „ órC   rs  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 )NrJ   gŠ�®Tï?çiUMuï>r   r[   )r   rŸ   r   )r?   Úmbeis     r@   r    zTestKelvin.test_beis  s   € Ü�{‰{˜1‹~ˆä˜Ð0°vÀAÖFrC   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrJ   gDïî,Xí?rz  r   r[   )r   r£   r   )r?   Úmbeips     r@   r¤   zTestKelvin.test_beipx  s   € Ü—‘˜Q“ˆä˜Ð2¸ÀaÖHrC   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrJ   g¦PAØ4è?rz  r   r[   )r   r¨   r   )r?   Úmbers     r@   r©   zTestKelvin.test_ber}  s   € Ü�{‰{˜1‹~ˆä˜Ð1¸ÀQÖGrC   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrJ   gß×iiŽß¿rz  r   r[   )r   r«   r   )r?   Úmberps     r@   r¬   zTestKelvin.test_berp‚  s   € Ü—‘˜Q“ˆä˜Ð3¸&ÀqÖIrC   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÖ   ©g&jjÙ@gðŠà+é"@g(›r…wÉ+@g¡„™¶U2@gŸ`<ƒÆ6@rH  r   r[   )r   Ú	bei_zerosr   r   )r?   rL  s     r@   Útest_bei_zeroszTestKelvin.test_bei_zeros‡  s/   € ä×Ñ˜qÓ!ˆÜ˜œEò #-ó .ð
 $¨!ö	-rC   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÖ   )g¼€yWo.@gâ•²£Ý� @g× �Âú{)@g¡K¾„11@g›Wc"¤5@r?  r   r[   )r   Ú
beip_zerosr   r   )r?   Úbips     r@   Útest_beip_zeroszTestKelvin.test_beip_zeros‘  s/   € Ü× Ñ  Ó#ˆÜ˜œUò $8ó 9ð
 $¨!ö	-rC   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÖ   ©gÑ\§‘–Ê@gø6ýÙ�ô@gÓŸýHY'@g>"¦D0@ggaO;ü�4@rH  r   r[   )r   Ú	ber_zerosr   r   )r?   r¨   s     r@   Útest_ber_zeroszTestKelvin.test_ber_zerosš  ó/   € Ü×Ñ Ó"ˆÜ˜œUò $.ó /ð
 $¨!ö	-rC   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÖ   ©gÖ ˜£'@g»ÕsÒû%@gÇF ^×ï-@g´vÛ…æj3@gÌîÉÃBÝ7@rH  r   r[   )r   Ú
berp_zerosr   r   )r?   Úbrps     r@   Útest_berp_zeroszTestKelvin.test_berp_zeros£  s/   € Ü× Ñ  Ó#ˆÜ˜œUò $.ó /ð
 $¨!ö	-rC   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 )NrJ   r  r?  r   r[   )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ð $¨!ö		-rC   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrJ   g¬øàÓ>èÉ¿rz  r   r[   )r   rÌ  r   )r?   Úmkeis     r@   rÍ  zTestKelvin.test_kei´  s   € Ü�{‰{˜1‹~ˆÜ˜Ð2¸ÀaÖHrC   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrJ   grß@dª"Ì?rz  r   r[   )r   rÏ  r   )r?   Úmkeips     r@   rÐ  zTestKelvin.test_keip¸  s   € Ü—‘˜Q“ˆÜ˜Ð2¸ÀaÖHrC   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrJ   gÜ™þU¥¿rz  r   r[   )r   rÒ  r   )r?   Úmkers     r@   rÓ  zTestKelvin.test_ker¼  s   € Ü�{‰{˜1‹~ˆÜ˜Ð3¸&ÀqÖIrC   c                 óL   — t        j                  d«      }t        |ddd¬«       y )NrJ   gº^.n3J»¿rz  r   r[   )r   rÕ  r   )r?   Úmkerps     r@   rÖ  zTestKelvin.test_kerpÀ  s   € Ü—‘˜Q“ˆÜ˜Ð3¸&ÀqÖIrC   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@rH  r   r[   )r   Ú	kei_zerosr   r   )r?   rÌ  s     r@   Útest_kei_zeroszTestKelvin.test_kei_zerosÄ  rŽ  rC   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@rH  r   r[   )r   Ú
keip_zerosr   r   )r?   rÏ  s     r@   Útest_keip_zeroszTestKelvin.test_keip_zerosÍ  ó/   € Ü×!Ñ! !Ó$ˆÜ˜œeò %/ó 0ð
 $¨!ö	-rC   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‹  rH  r   r[   rƒ  )ç¬â�Ì#û?çQ½5°U‚@çq8ó«9 %@çol•`.@g‹O0žq3@rŸ  r�  )guÍä›m.@gŽÙëÝ� @gësµû{)@g¶ä „11@gN(DÀ!¤5@©gúòì£S@g8ó«9@°@gÝ^Ò­C'@g¾¤1ZG0@g+¤ü¤Ú‡4@r£  )r   Úkelvin_zerosr   r   )
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ð
 $¨!ö	-rC   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÖ   )r¨  r©  rª  r«  gD£;ˆ�q3@rH  r   r[   )r   Ú	ker_zerosr   r   )r?   rÒ  s     r@   Útest_ker_zeroszTestKelvin.test_ker_zeros  rŽ  rC   c                 ób   — t        j                  d«      }t        |t        g d¢«      dd¬«       y )NrÖ   r¬  rH  r   r[   )r   Ú
kerp_zerosr   r   )r?   rÕ  s     r@   Útest_kerp_zeroszTestKelvin.test_kerp_zeros  r¦  rC   N)r3  r4  r5  r    r¤   r©   r¬   r…  r‰  r�  r“  rÙ  rÍ  rÐ  rÓ  rÖ  r¡  r¥  r·  rº  r½  r:  rC   r@   rx  rx  r  se   „ òGò
Iò
Hò
Jò
-ò-ò-ò-ò-òIòIòJòJò-ò-ò4-òl-ó-rC   rx  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ž   rH  r   r[   )r   Ú	bernoullir   r   )r?   Úbrns     r@   Útest_bernoullizTestBernoulli.test_bernoulli!  s/   € Ü×Ñ Ó"ˆÜ˜œUò $,ó -ð $¨!ö	-rC   N)r3  r4  r5  rÃ  r:  rC   r@   r¿  r¿     s   „ ó-rC   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 )NrX   r‡   ç33333YÀç¬÷N’~hçßà“©‚¡?é«   g6.8@rP   r   r(  rJ   rH   rN   rQ   )r   r   Úbetar   rB  )r?   ÚbetÚbetgs      r@   Ú	test_betazTestBeta.test_beta1  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¨Ö.rC   c                 óh   — t        t        j                  t        j                  dd«      «      «       y )NrM   rJ   )r   r]   Úisinfr   rË  r>   s    r@   Útest_beta_infzTestBeta.test_beta_inf;  s   € Ü”—‘œŸ™ b¨!Ó,Ó-Õ.rC   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 )NrX   rž   rÇ  rÈ  rÉ  éª   gðIÊÀs	@r'  r   r(  rJ   rH   rP   rQ   )r   r   Úbetalnr   rH  r   rC  rË  )r?   ÚbetlnrÌ  s      r@   Útest_betalnzTestBeta.test_betaln>  s�   € Ü”W—^‘^ A qÓ)¨3Ô/ÜœŸ™ v¨vÓ6ÜŸ™¨Ó/ô	1äœŸ™ v¨sÓ3Ð5GØ"¨õ	,ô —‘˜q !Ó$ˆÜ”#”g—l‘l 1 aÓ(Ó)Ó*ˆÜ˜˜s¨Ö/rC   N)r3  r4  r5  Ú__doc__rÎ  rÑ  rÖ  r:  rC   r@   rÅ  rÅ  ,  s   „ ñò/ò/ó	0rC   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  rX   rX   )r]   r   r   r   ÚbetaincÚ
betaincinvÚbetainccÚbetainccinvr  s     r@   Ú
test_a1_b1zTestBetaInc.test_a1_b1O  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Õ9rC   z
a, b, x, p))rJ   rH   gšÐ@wÔ?r†   )rÉ  g     `e@rZ   g°î*¶¯á?)rÉ  rÊ  g"YxãÃ;r  )g   `¥ù1?g    Ø¦Ag¯ª\Àa¼Y4g   €ý ï?)rH   i�† gñ-ß‡)?gŽ;¥ƒõÿï?c                 ó,  — t        j                  |||«      }t        ||d¬«       t        j                  |||«      }t        ||d¬«       t        j                  |||«      }t        ||d¬«       t        j
                  |||«      }t        ||d¬«       y )NrÚ   rQ   gê-�™—a=rP   )r   rÛ  r   rÜ  ÚbtdtriaÚbtdtrib)	r?   rD  rE  rå   r.  Úp1Úx1ro  rF  s	            r@   Útest_betainc_and_inversesz%TestBetaInc.test_betainc_and_inversesf  s~   € ô �_‰_˜Q  1Ó%ˆÜ˜˜A EÕ*Ü×Ñ  1 aÓ(ˆÜ˜˜A EÕ*Ü�_‰_˜Q  1Ó%ˆÜ˜˜A EÕ*Ü�_‰_˜Q  1Ó%ˆÜ˜˜A EÖ*rC   ))ç      @rÝ  r  g     ªê?)ç      @g     €*@g      Ø?gòó&�¶Û?)ç      À?rç  g333333Û?gF­Úo„êE?)rè  ç      2@r±   gg2$·Zç?)rè  ré  g¬Zd;ßï?g•‡²ˆºœ�6)rè  rA  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ç›+¡†›„ö<rQ   gVçž¯=)r   rÝ  r   rÞ  )r?   rD  rE  rå   r.  rã  rä  s          r@   Útest_betaincc_betainccinvz%TestBetaInc.test_betaincc_betainccinv  sD   € ô ×Ñ˜a  AÓ&ˆÜ˜˜A EÕ*Ü× Ñ   A qÓ)ˆÜ˜˜A EÖ*rC   za, b, y, ref))ç¢‰c§j,@rï  ghHçISOa gÚ­ù  ãY;)g      ,@g      -@g„ë‘¤Íg}äc]ì¶«;)rà  g      .@gUš¿v \U,gãS²‰^%:)ry  g      ô?g´M´›»oigºKB;)r  g    Ðiø@g1ðúÖ$ÔÏ-g\_±«cp:c                 óN   — t        j                  |||«      }t        ||d¬«       y )Nr'  rQ   )r   rÜ  r   )r?   rD  rE  r   r  rå   s         r@   Útest_betaincinv_tiny_yz"TestBetaInc.test_betaincinv_tiny_y‘  s$   € ô2 ×Ñ˜q ! QÓ'ˆÜ˜˜3 UÖ+rC   ÚfuncÚargs))rÝ   rJ   r†   )r  ç       Àr†   )r  rt  ç333333Ó¿)r  rt  çš™™™™™ñ?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   Úerrstater6  r   ÚSpecialFunctionError)r?   rò  ró  s      r@   Útest_betainc_domain_errorsz&TestBetaInc.test_betainc_domain_errors­  sK   € ô ×Ñ WÖ-Ü—‘œw×;Ñ;À8ÖLÙ�d‘÷ M÷ .Ð-ßLÐLú÷ .Ð-ú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 ru  )r   rÛ  r   ©r?   ró  r"  Úobserveds       r@   Útest_betainc_edge_casesz#TestBetaInc.test_betainc_edge_cases·  s   € ô< —?‘? DÐ)ˆÜ�X˜xÕ(rC   )rÿ  r‡   )r   rž   )r  rž   )r  r‡   )r  r‡   )r  rž   c                 ó@   — t        j                  |Ž }t        ||«       y ru  )r   rÝ  r   r  s       r@   Útest_betaincc_edge_casesz$TestBetaInc.test_betaincc_edge_casesØ  s   € ô< ×#Ñ# TÐ*ˆÜ�X˜xÕ(rC   Údtypec                 óî   — t        j                  dg|¬«      }t        j                  dg|¬«      }t        j                  |||«      }t	        ||dt        j
                  |«      j                  z  ¬«       y )Nr•   ©r  r†   r&  rQ   )r]   r   r   rÜ  r   r   Úeps)r?   r  rD  rå   r‘  s        r@   Útest_gh21426zTestBetaInc.test_gh21426ù  s[   € ô �H‰H�b�T Ô'ˆÜ�H‰H�c�U %Ô(ˆÜ×#Ñ# A q¨!Ó,ˆÜ˜ ¨¬R¯X©X°e«_×-@Ñ-@Ñ(@ÖArC   zdtype, rtolrI  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  rQ   )r]   r   r   rÛ  r   )r?   rD  rE  rå   rP  r  rR   Ú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Ö2rC   N)r3  r4  r5  r×  rß  r6  r7  r9  rå  rî  rñ  r   rÛ  rÜ  rá  râ  rÝ  rÞ  rþ  r]   r  r   r  r
  rà   râ   r  r  r:  rC   r@   rÙ  rÙ  J  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ñ3rC   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Œ   rH   ç      ^@g     @j@T©Úexactéx   ©r  Ú
repetitionéÜ   r.  rn   rÚ   ©r\   rX   l   hU7`�±Së?Q r#  é2   )
r   r   Úcombr   rv   Úlistr]   Úiinforu   Úmax)r?   rg   Ú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   rT   Tr  )r]   Úint64r   r   )r?   rf   rg   Ú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 ¨$Ô/ˆØ˜ÒÐÑrC   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 )NrJ   rŒ   Tr  r   rM   F©rJ   rM   rJ   r&  ©rŒ   rŒ   rM   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ÕXrC   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Ü  rH   Tr  rŒ   gš™™™™™@)r6  r   Ú
ValueErrorr   r   rº  s     r@   Útest_comb_exact_non_int_errorz/TestCombinatorics.test_comb_exact_non_int_error1  s`   € ØˆÜ�]‰]œ:¨SÖ1Ü�L‰L˜˜a tÕ,÷ 2ä�]‰]œ:¨SÖ1Ü�L‰L˜˜C tÕ,÷ 2Ð1÷ 2Ð1úç1Ð1ú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  rX   )r   r   Útyperu   r]   râ   )r?   r6  r  Úactuals       r@   Útest_comb_repetition_k_zeroz-TestCombinatorics.test_comb_repetition_k_zero8  sI   € ô
 —‘˜a ¨%¸DÔAˆØ˜Š{Ðˆ{Ù&+Œt�F‹|œsÑ"Ð;Ð;´·²Ð;Ð;°Ð"rC   c                 óª   — t        j                  g d¢«      }t        j                  |ddd¬«      }t        j                  g d¢«      }t	        ||«       y )Nr7  r   FTr  )r‡   r‡   r‡   )r]   r   r   r   r   )r?   r6  r‘  r"  s       r@   Ú!test_comb_repetition_k_zero_arrayz3TestCombinatorics.test_comb_repetition_k_zero_arrayA  s<   € ä�H‰H’ZÓ ˆÜ—‘˜a ¨%¸DÔAˆÜ—8‘8šOÓ,ˆÜ�V˜XÕ&rC   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Œ   rH   ç     €†@g     °³@rÏ   r   r[   Tr  iÐ  )r   r   Úpermr   r>   s    r@   Ú	test_permzTestCombinatorics.test_permH  sS   € ÜœŸ™ b¨" X°°1¨vÓ6¸¸u¸ÔFÜœŸ™ R¨Ó+¨T¸ÀQÕGÜ”W—\‘\ " a¨tÔ4°cÕ:rC   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 )NrJ   rŒ   Tr  r   rM   Fr/  r0  )rž   rž   rž   r?  )r   r   r@  r   r>   s    r@   Útest_perm_zerosz!TestCombinatorics.test_perm_zerosM  r2  rC   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ú  rX   rJ   rH   rÖ   Tr  zNon-integergffffff@rN   gffffffÀrŒ   g333333Àç      @)r6  r   r4  r   r@  r>   s    r@   Útest_perm_ivzTestCombinatorics.test_perm_ivT  sè   € ä�]‰]œ:Ð->Ö?Ü�L‰L˜!˜Q˜ ! Q ¨tÕ4÷ @ô �]‰]œ:¨]Ö;Ü�L‰L˜˜a tÕ,÷ <ä�]‰]œ:¨]Ö;Ü�L‰L˜˜q¨Õ-÷ <ä�]‰]œ:¨]Ö;Ü�L‰L˜˜D¨Õ-÷ <ä�]‰]œ:¨]Ö;Ü�L‰L˜˜c¨Õ.÷ <Ð;÷ @Ð?ú÷ <Ð;úç;Ð;úç;Ð;úç;Ð;ús;   œD2ÁD>ÂE
ÃEÄE"Ä2D;Ä>EÅ
EÅEÅ"E+N)r3  r4  r5  r%  r-  r1  r5  r6  r7  r9  r;  r=  rA  rC  rF  r:  rC   r@   r  r    sn   „ ò=ò òYò-ð ‡[�[×Ñ˜S¢*Ó-Ø‡[�[×Ñ˜W t¨U mÓ4ñ<ó 5ó .ð<ò'ò;ò
Yó/rC   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   r[   ©r   r²   r   )r?   ÚcbÚcbrls      r@   r³   zTestTrigonometric.test_cbrtd  s#   € Ü�\‰\˜"ÓˆØˆÜ˜˜D v°AÖ6rC   c                 óP   — t        j                  d«      }d}t        ||dd¬«       y )Ngfffffæ;@géŽ–š…C@r?  r   r[   rK  )r?   Úcb1Úcbrl1s      r@   Útest_cbrtmorezTestTrigonometric.test_cbrtmorei  s#   € Ü�l‰l˜4Ó ˆØˆÜ˜˜U¨°aÖ8rC   c                 óp   — t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       y )Nrì  rt  r?  r   r[   ©r   rÇ   r
   r   r   )r?   ÚcdgÚcdgrls      r@   rÈ   zTestTrigonometric.test_cosdgn  s+   € Ü�m‰m˜BÓˆÜ”B�s‘F“ˆÜ˜˜U¨°aÖ8rC   c                 óp   — t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       y ©NrT   rE  r?  r   r[   rS  )r?   ÚcdgmÚcdgmrls      r@   Útest_cosdgmorez TestTrigonometric.test_cosdgmores  s+   € Ü�}‰}˜RÓ ˆÜ”R˜‘V“ˆÜ˜˜f¨6¸Ö:rC   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&  rX   r?  r[   )r   rË   r   r
   r   )r?   ÚcsÚcsrls      r@   rÌ   zTestTrigonometric.test_cosm1x  sc   € Ü�m‰m˜AÓœwŸ}™}¨RÓ0´·±¼rÀ"¹uÓ1EÐFˆÜ�A“�q‘œ˜R› ™¤3¤r¨"¡u£:¨a¡<Ð0ˆÜ˜˜D v°AÖ6rC   c                 óv   — t        j                  d«      }t        t        dz  «      dz  }t	        ||dd¬«       y )NrT   rE  rM   r?  r   r[   ©r   rÐ   r   r   r   )r?   ÚctÚctrls      r@   rÑ   zTestTrigonometric.test_cotdg}  s0   € Ü�]‰]˜2ÓˆÜ”2�c‘6‹{˜RÑ ˆÜ˜˜D v°AÖ6rC   c                 óv   — t        j                  d«      }t        t        dz  «      dz  }t	        ||dd¬«       y )NrÎ   r  rM   r?  r   r[   r_  )r?   Úct1Úctrl1s      r@   Útest_cotdgmorez TestTrigonometric.test_cotdgmore‚  s0   € Ü�m‰m˜BÓˆÜ”B�s‘F“˜bÑ!ˆÜ˜˜U¨°aÖ8rC   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   r[   éÓÿÿÿ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ÖFrC   c                 ó‚   — t        t        j                  dg«      d«       t        t        j                  d«      d«       y )Nr   rX   rž   r‡   )r   r   Úsincr   r>   s    r@   Ú	test_sinczTestTrigonometric.test_sinc–  s*   € äœ7Ÿ<™<¨¨Ó,¨aÔ0Ü”W—\‘\ #Ó&¨Õ,rC   c                 óF   — t        j                  d«      }t        |d«       y rë  )r   rí  r   )r?   Úsns     r@   rî  zTestTrigonometric.test_sindg›  s   € Ü�]‰]˜2ÓˆÜ�R˜ÕrC   c                 óÜ   — t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       y )NrT   rE  r?  r   r[   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¸Ö:rC   N)r3  r4  r5  r³   rQ  rÈ   rZ  rÌ   rÑ   re  ro  rr  rî  rz  r:  rC   r@   rH  rH  c  s:   „ ò7ò
9ò
9ò
;ò
7ò
7ò
9ò
Gò-ò
ó;rC   rH  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 rW  ©r   r  r   r   r   )r?   ÚtnÚtnrls      r@   r  zTestTandg.test_tandgª  s+   € Ü�]‰]˜2ÓˆÜ”2�c‘6‹{ˆÜ˜˜D v°AÖ6rC   c                 óÜ   — t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       t        j                  d«      }t        t        dz  «      }t	        ||dd¬«       y )NrÎ   r  r?  r   r[   rH  rÝ  r  )r?   ÚtnmÚtnmrlÚtnm1Útnmrl1s        r@   Útest_tandgmorezTestTandg.test_tandgmore¯  r{  rC   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ž   rg  r[   rÎ   r‡   rh  rÝ   ri  rj  r  iLÿÿÿrk  rl  rm  rn  )r   r   r  r>   s    r@   ro  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ÖGrC   N)r3  r4  r5  r  r‡  ro  r:  rC   r@   r}  r}  ¨  s   „ ò7ò
;óHrC   r}  c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)Ú	TestEllipc                 óL   — t        j                  dt        j                  «       y)zRegression test for #912.r†   N)r   rø   r]   r  r>   s    r@   Útest_ellipj_nanzTestEllip.test_ellipj_nanÆ  s   € ä�‰�sœBŸF™FÕ#rC   c                 ó~   — t        j                  dd«      }t        d«      t        d«      ddg}t	        ||dd¬«       y )NrÞ   r   r‡   çá7ÎQE=r[   )r   rø   r	   r
   r   )r?   ÚelÚrels      r@   rù   zTestEllip.test_ellipjÊ  s6   € Ü�^‰^˜C Ó"ˆÜ�3‹xœ˜C›  TÐ*ˆÜ˜˜C g°AÖ6rC   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Ñ�ú?rI  r   r[   rž   r‡   rJ   rM   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Ó+Ð-?Õ@rC   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 )NrJ   rÞ   rÙ   r   r[   rn   r  rÎ   gëfo¾Khé?r?  rž   r‡   r†   g–±t½„ñØ?rX   rK   r'  rQ   ç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ÕLrC   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&  rX   gV»^»8jð?g,j6êÆ„@rJ   )	r]   Ú	nextafterrv   Úappendr   rý   r   Ú	full_liker   ©r?   Úmbadr—  r  ÚmvalsÚjrj  Ú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ÕSrC   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  rJ   Frú  rX   r/  rQ   )r]   rp   r8  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Õ<rC   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Ó÷?r?  r   r[   rž   rJ   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Ó+Ð-?Õ@rC   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 )NrJ   rÞ   rg  r   r[   é4   r  é#   g�'ˆÉÒâ?r?  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ÕKrC   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&  rX   gà%‰¤�ë?rJ   gXo«�óÆ
@rH   )	r]   r›  rv   rœ  r   ró   r   r�  r   rž  s           r@   Útest_ellipeinc_2zTestEllip.test_ellipeinc_2A  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ÕSrC   N)r3  r4  r5  rŒ  rù   rû   rþ   r£  r©  rð   rô   r±  r:  rC   r@   rŠ  rŠ  Å  s5   „ ò$ò7ò
	AòMò:Tò =ò*	AòLó4TrC   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 )NrX   rž   r   r  g      @rt  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_resultsrz   Úarrs        r@   Útest_elliprczTestEllipCarlson.test_elliprcW  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Ñ+>Õ?ñ &rC   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 )NrX   r   rJ   rÝ  gÌ`C•+ã?rž   rt  rM   )rž   rt  r‡   ©rt  rÝ  r  ©r  rµ  rt  ©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_elliprdk  sM  € Üœ  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Ñ+>Õ?ñ &rC   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 )NrX   r   rJ   g°PŸOùùô?rž   rM   )r‡   rt  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_elliprfƒ  s  € Üœ  1 aÓ(¨!Ô,Üœ  1 aÓ(Ð*@ÔAÜ�qœ#˜qÓ! SÒ(Ð(Ð(Ü�x‰xœ  1 aÓ(Ô)Ð)Ð)Ü”W˜Q  2Ó&Ô'Ð'Ð'Ü”wœs“| Q¨Ó*¨cÒ1Ð1Ð1Ü”W˜Q ¤7¬C¨4°Ó#3Ó4Ô5Ð5Ð5Ü’oÚ(Ú%Ú,Ú%Ú(Ú1ð3ó 4ˆô !ò "Fó GÐô   –o‰FˆAˆsÜœG S˜MÐ+;¸AÑ+>Õ?ñ &rC   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 )NrX   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Ñ+>Õ?ñ &rC   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 )NrX   rž   r   rM   )rž   r‡   rt  rÝ  )rt  rÝ  r  r•   )rt  rÝ  r  r¿  )r  rµ  rž   rt  )r¿  ù      ð¿      ð¿r‡   rt  )r  rµ  rž   rÄ  )r¿  rÊ  r‡   y      À      ð?)rt  rÝ  r  rö  )rt  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Ñ+>Õ?ñ &rC   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ð <Ø"¨ö	0rC   N)r3  r4  r5  r×  rº  rÁ  rÆ  rÈ  rÌ  r6  r7  r8  rÎ  r:  rC   r@   r³  r³  R  sM   „ ñò@ò(@ò0@ò2@ò*@ð6 ‡[�[×ÑÐ?ÐÓ@ñ0ó Añ0rC   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‡   rA  rt  rM   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ˆ�rC   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Õ9rC   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
        rt  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Õ:rC   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)
        rt  rž   r‡   N)rØ  r   r   r$   r  s     r@   Útest_ez)TestEllipLegendreCarlsonIdentities.test_e   s-   € ð �O‰OˆÜœ˜q›	 2¤g¨b°"°Q±$¸Ó&;Ñ#;Õ<rC   N)r3  r4  r5  r×  rÙ  rÛ  rÞ  rà  r:  rC   r@   rÐ  rÐ  Ü  s   „ ñò

8ò:ò	;ó=rC   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¯Ñ?r?  r   r[   )r   r  r   )r?   Úers     r@   r  zTestErf.test_erf
  s   € Ü�[‰[˜ÓˆÜ˜˜L¨v¸AÖ>rC   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'>@rH  r   r[   )r   Ú	erf_zerosr   r   )r?   ÚerzÚerzrs      r@   Útest_erf_zeroszTestErf.test_erf_zeros  s1   € Ü×Ñ Ó"ˆÜò -ó .ˆô
 	˜˜T¨°QÖ7rC   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)NrS   rE  g{®Gáz”?rJ   r   rX   r  rù  ©Úallr(  )	r]   rc   rd   ÚparetoÚrandintrü  r   Úisfiniter3   )r?   rò  Ú
other_funcrR   r\   rj   rf   rå   r   r!  r1  Ú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Ö&Ù˜1“ˆAÙ “]×'Ñ'ˆFä—;‘;˜q“>ˆDØ�$‘ˆAØ�$‘ˆAä—;‘;˜vÓ&ˆDØ˜D‘\ˆFØ�$‘ˆAô ˜d A q¨t¸$Õ?Ü˜d F¨A°D¸tÕD÷ '×&Ñ&ús   ÂA9DÄD#c                 óL   — | j                  t        j                  d„ dd¬«       y )Nc                 ó2   — dt        j                  | «      z
  S rt   ©r<   r  ©r!  s    r@   Ú<lambda>z.TestErf.test_erfc_consistent.<locals>.<lambda>1  s   € �aœ&Ÿ*™* Q›-Ò'rC   r�   r'  r(  )ró  r<   r  r>   s    r@   Útest_erfc_consistentzTestErf.test_erfc_consistent.  s%   € Ø× Ñ Ü�K‰KÙ'ØØð	 	!õ 	rC   c                 óJ   — | j                  t        j                  d„ d¬«       y )Nc                 ó^   — t        j                  | | z  «      t        j                  | «      z  S ru  )r]   r   r<   r  r÷  s    r@   rø  z/TestErf.test_erfcx_consistent.<locals>.<lambda>9  s   € ”b—f‘f˜Q˜q™S“k¤F§K¡K°£NÒ2rC   r�   rQ   )ró  r<   Úerfcxr>   s    r@   Útest_erfcx_consistentzTestErf.test_erfcx_consistent6  s"   € Ø× Ñ Ü�L‰LÙ2Øð 	!õ 	rC   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>@  s   € �cœFŸJ™J r¨!¡tÓ,Ò,rC   r�   rQ   )ró  r<   Úerfir>   s    r@   Útest_erfi_consistentzTestErf.test_erfi_consistent=  s"   € Ø× Ñ Ü�K‰KÙ,Øð 	!õ 	rC   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>G  s,   € ”dœ2“h˜q‘j¤2§6¡6¨1¨"¨Q©$£<Ñ/´&·+±+¸a³.Ò@rC   r�   rQ   )ró  r<   rÓ   r>   s    r@   Útest_dawsn_consistentzTestErf.test_dawsn_consistentD  s"   € Ø× Ñ Ü�L‰LÙ@Øð 	!õ 	rC   c                 óÌ   — t         j                  t         j                   t         j                  g}t         j                  ddg}t        t	        j
                  |«      |d¬«       y )NrM   rX   rÚ   rQ   )r]   r  r   r   r   r  ©r?   rO  r"  s      r@   Útest_erf_nan_infzTestErf.test_erf_nan_infK  s@   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘F˜B �?ˆÜœŸ™ DÓ)¨8¸%Ö@rC   c                 óÌ   — t         j                  t         j                   t         j                  g}t         j                  ddg}t        t	        j
                  |«      |d¬«       y )NrJ   r   rÚ   rQ   )r]   r  r   r   r   r  r  s      r@   Útest_erfc_nan_infzTestErf.test_erfc_nan_infP  s@   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘F˜A˜q�>ˆÜœŸ™ TÓ*¨H¸5ÖArC   c                 óè   — t         j                  t         j                   t         j                  g}t         j                  t         j                  dg}t        t	        j
                  |«      |d¬«       y )Nr   rÚ   rQ   )r]   r  r   r   r   rü  r  s      r@   Útest_erfcx_nan_infzTestErf.test_erfcx_nan_infU  sE   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘FœBŸF™F AÐ&ˆÜœŸ™ dÓ+¨X¸EÖBrC   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_infZ  sK   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘FœRŸV™V˜G¤R§V¡VÐ,ˆÜœŸ™ TÓ*¨H¸5ÖArC   c                 óÌ   — t         j                  t         j                   t         j                  g}t         j                  ddg}t        t	        j
                  |«      |d¬«       y )NrM  rž   rÚ   rQ   )r]   r  r   r   r   rÓ   r  s      r@   Útest_dawsn_nan_infzTestErf.test_dawsn_nan_inf_  sA   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘F˜D #Ð&ˆÜœŸ™ dÓ+¨X¸EÖBrC   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Ú   rQ   )r]   r  r   r   r   r0  r  s      r@   Útest_wofz_nan_infzTestErf.test_wofz_nan_infd  sN   € Ü—‘œŸ™˜¤§¡Ð(ˆÜ—F‘FœRŸV™V c™\Ñ)¨6°6Ð:ˆÜœŸ™ TÓ*¨H¸5ÖArC   N)r   )r3  r4  r5  r  ré  ró  rù  rý  r  r  r  r	  r  r  r  r  r:  rC   r@   râ  râ    sJ   „ ò?ò8óEò.òòòòAò
Bò
Cò
Bò
Có
BrC   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   rX   rJ   rÚ   rQ   )rX   r   rM   rÜ   )rX   rX   rÖ   é=   ii  iYÅ  i­=) iÕâl   Q~¥ l   10ÿ[¿l   Õ$8gC
 l   í2�¼³l   ¹vö}Ju: )r×   Údé   rù  rë  rž   rg  r[   )
r   Úeulerr   r   rv   rw   r]   rü  r   r#  )
r?   Úeu0Úeu1Úeu2Úeu24Ú	mathworldÚcorrectrg   ÚerrÚerrmaxs
             r@   Ú
test_eulerzTestEuler.test_eulerk  s  € Ü�m‰m˜AÓˆÜ�m‰m˜AÓˆÜ�m‰m˜AÓˆÜ˜˜a˜S uÕ-Ü˜˜a ˜V¨%Õ0Ü˜šZ¨eÕ4Ü�}‰}˜RÓ ˆò+ˆ	ô ˜˜cÓ"ˆÜ�q˜–ˆAØ�A’Ü % i°¡lÓ 3Ð3�˜˜!™’ä$ Y¨q¡\Ó2�˜˜!™’ð	 ô
 �[‰[˜XÖ&Ü˜d 7™l¨GÑ3Ó4ˆCÜ˜“XˆF÷ 'ô 	˜ ¨'¸Ö:÷ 'Ð&ús   Ã*DÄD(N)r3  r4  r5  r!  r:  rC   r@   r  r  j  s   „ ó;rC   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 )NrJ   rH   )r   r  r   ©r?   ÚexÚexrls      r@   r  zTestExp.test_exp2„  s   € Ü�\‰\˜!‹_ˆØˆÜ�R˜ÕrC   c                 óP   — t        j                  d«      }d}t        ||dd¬«       y )Nræ  gÍ;fž @r?  r   r[   )r   r  r   ©r?   ÚexmÚexmrls      r@   Útest_exp2morezTestExp.test_exp2more‰  s#   € Ü�l‰l˜3ÓˆØˆÜ˜˜U¨°aÖ8rC   c                 óP   — t        j                  d«      }d}t        ||dd¬«       y )NrJ   r#  r±   r   r[   ©r   r
  r   r%  s      r@   r  zTestExp.test_exp10Ž  s#   € Ü�]‰]˜1ÓˆØˆÜ˜˜D t°!Ö4rC   c                 óP   — t        j                  d«      }d}t        ||dd¬«       y )Nræ  gY—úí¤Ãs@r?  r   r[   r.  r)  s      r@   Útest_exp10morezTestExp.test_exp10more“  s#   € Ü�m‰m˜CÓ ˆØˆÜ˜˜U¨°aÖ8rC   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 )NrJ   rŒ   rH   rX   r?  r   r[   ©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Ö6rC   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 )NrJ   çÍÌÌÌÌÌ @çš™™™™™@rX   r?  r   r[   r2  )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Ö8rC   N)	r3  r4  r5  r  r,  r  r0  r  r8  r:  rC   r@   r#  r#  ƒ  s    „ òò
9ò
5ò
9ò
7ó
9rC   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 )NrQ   )r-   r,   )rå   r   rR   s     €r@   Úassert_funcz(assert_really_equal.<locals>.assert_func¯  s   ø€ Ø!% Œ˜˜1Õ´?À1ÀaÈdÖ3SrC   c                 ó„   — t        j                  | j                  «      rt        j                  | j                  «      sJ ‚y ru  )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Ð$4rC   ztypes not equal: z, rQ   rþ  N)
r9  Ú
isinstancer]   Úndarrayr  Úziprb   Úassert_really_equalr   r1   )rå   r   rR   r;  r>  Úelem_xÚelem_ys     `    r@   rB  rB  £  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Ö:ñ 8ä	�‰�!ŒœŸ™ !œ¬´d¸1³g¸sÔ)CÙ˜1ÓÒ7Ñ"4°QÕ"7Ñ7ñ 	�A�qÕrC   c                   ó:  — e Zd Zd„ Zej
                  j                  dg d¢«      d„ «       Zej
                  j                  dg d¢«      ej
                  j                  ddd	g«      d
„ «       «       Zej
                  j                  ddd	g«      d„ «       Z	ej
                  j                  dg d¢«      d„ «       Z
ej
                  j                  dddg«      ej
                  j                  dg d¢«      d„ «       «       Zej
                  j                  ddd	g«      ej
                  j                  dddg«      ej
                  j                  dej                   ej                  d«      ej                  ej                  dz  z    ej                  d«      ej                   ej                   dz   ej                    ej                    dz   d ej"                  d«      g
g d¢¬«      ej
                  j                  dej&                  ej(                  ej*                  g«      d„ «       «       «       «       Zej
                  j                  ddd ej                  d!g«      d"„ «       Zej
                  j                  d# ed$d%«      «      ej
                  j                  ddd	g«      d&„ «       «       Zej
                  j                  ddd	g«      ej
                  j                  d'deej6                  ej8                  ej:                  ej<                  ej>                  ej@                  ejB                  ejD                  g
«      ej
                  j                  d( edd%«      «      d)„ «       «       «       Z#ej
                  j                  ddd	g«      ej
                  j                  d* ed$d%«      «      d+„ «       «       Z$ej
                  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.d/«      «      d0„ «       Z'ej
                  j                  d e( edd1«      «       e( ed-d.d/«      «      z   «      d2„ «       Z)d3„ Z*d4„ Z+ej
                  j                  d'ej<                  ej                  ej                  e,g«      ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  d( edd%«      «      ej
                  j                  d5g d$gd gej                  gej                  ej                  dz  z   gej                  d$ggg d6¢¬«      d7„ «       «       «       «       «       Z-ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  dd$d d8ej                  ej                  ej                  dz  z   dgg d9¢¬«      d:„ «       «       «       Z.ej
                  j                  d ed-d.d;«      «      d<„ «       Z/ej
                  j                  d e( edd1«      «       e( ed-d.d;«      «      z   «      d=„ «       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                  d5g d$gd gej                  gej                  ej                  dz  z   gej                  d$ggg d6¢¬«      d?„ «       «       «       «       «       Z2ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  dd$d d8ej                  ej                  ej                  dz  z   dgg d9¢¬«      d@„ «       «       «       Z3ej
                  j                  dA ed$d%«      «      ej
                  j                  d edBdCdD«      «      dE„ «       «       Z4ej
                  j                  dA e( ed$d%«      «      d/dCgz   «      ej
                  j                  d e( edd1«      «       e( ed1dFd;«      «      z   «      dG„ «       «       Z5dH„ 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                  d5g d$gd gej                  gej                  ej                  dz  z   gej                  d$ggg d6¢¬«      dI„ «       «       «       «       «       Z7ej
                  j                  dddg«      ej
                  j                  ddd	g«      ej
                  j                  dA ed$d%«      «      ej
                  j                  dd$d d8ej                  ej                  ej                  dz  z   dgg d9¢¬«      dJ„ «       «       «       «       Z8ej
                  j                  ddd	g«      ej
                  j                  dg d¢«      ej
                  j                  dAdKdLddMdd ej                  g«      dN„ «       «       «       Z9ej
                  j                  ddd	g«      ej
                  j                  dg d¢«      ej
                  j                  dAd! ej"                  d«      gd!dOg¬«      dP„ «       «       «       Z:ej
                  j                  dg d¢«      ej
                  j                  dA ed$dQ«      «      dR„ «       «       Z;dS„ Z<y)TÚTestFactorialFunctionsc                 óJ  — |rt        j                  ||d¬«      S |dk(  rt        j                  ||«      nd}t        j                  |||z
  |z  «      t        j
                  ||z  dz   «      z  t        j                  ||z  dz   «      z  }|t        j                  |d«      z  S )NT©rg   r  ÚzerorX   )r   Ú
factorialkr]   ÚmodÚpowerrB  rÙ  Úmaximum)r?   rf   rg   r  ÚextendÚrrO  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Ó&Ñ&Ð&rC   zexact,extend))TrI  )FrI  )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  rN  rg   rŒ   ©rX   )r]   Úisscalarr   Ú	factorialÚ
factorial2rJ  )r?   r  rN  Ú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Ð;¸Ñ;Ô<Ð<Ñ<rC   rf   )rM   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   rg   rŒ   )r   r   rU  rV  rJ  )r?   r  rf   rW  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Õ9rC   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Ú   )éûÿÿÿrK  r   rX   )r   r   rX   rX   r  rQ   rg   rŒ   )	r]   r   Ú
native_intrâ   rB  r   rU  rV  rJ  )r?   r  rW  rR   rf   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ÖRrC   ©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 )NrN  r  gRc/a_%Àg:\Oag@g*BZ'÷¿r_  go	08G)ñ?goíNb]ÒÀg¢MxcQÞï¿g¡N«yŠç?g†=uÌò?gÙ7ÁKÓÀç [n‡ë<rQ   rg   rŒ   r   )r   r   rU  rV  rJ  )r?   rf   rW  Úexp_1Úexp_2Úexp_krR   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ÖSrC   r  r   r  Ún_outerc                 óJ   ‡— ddiŠˆfd„} |||z   «        |d|z  |z   «       y )NrN  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  rJ   rŒ   rg   y      ø?       Àr   )
r1   r9  r]   Ú
complex128râ   rB  r   rU  rV  rJ  )rf   Ú
complexifyÚcomplex_nanr   rþ  rW  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È;ÕWrC   i † r:  )r?   rf  r  rm  rW  s       @r@   Ú-test_factorialx_negative_extend_complex_poleszDTestFactorialFunctions.test_factorialx_negative_extend_complex_poles 	  s5   ø€ ð ˜	Ð"ˆô	Xñ( 	ˆw˜‰~Ôáˆw˜Ñ  4Ñ'Õ(rC   ÚboxedrN  rI  r  r  r  ri  NÚnat)
ÚNaNznp.float64('nan')ú	NaN+i*NaNznp.complex128('nan+nanj')r   zinf+0iz-infz-inf+0iÚNoneÚNaT)ÚidsÚ
factorialxc                 ó�  — d|dœ}|t         j                  k(  rd|d<   |rg d¢ndddt        d «      g}|t         j                  k(  rdnddg}t	        t        |«      |«      s3t        j                  t        d	¬
«      5   ||r|gn|fi |¤Ž d d d «       y t	        t        |«      |«      r8|dk7  r3t        j                  t        d¬
«      5   ||r|gn|fi |¤Ž d d d «       y |dk(  xr t	        t        |«      d«      }|rt        j                  d«      nt        j                  d«      }	t	        t        |«      d«      rMt        j                  |«      r8t        j                  |dk(  rdnd«      }
|dkD  rt        j                  d«      n|
}	|r ||gfi |¤Žd   n ||fi |¤Ž}t        ||	«       y # 1 sw Y   y xY w# 1 sw Y   y xY w)NFrR  rŒ   rg   ©rz   rj  rþ  rz   rj  rþ  úUnsupported data type.*rú  r  úIn order to use non-integer.*ri  r  rI  r   r   )r   rJ  r9  rU  r1   r6  r   r4  r]   rj  râ   rÐ  rB  )r?   rv  rf   rN  ro  rW  Úpermissible_typesÚtypes_need_complex_extrk  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Ù¡%˜A™3¨QÑ5°"Ò5÷ LÐKäœ$˜q›'Ð#9Ô:¸vÈÒ?RÜ—‘œzÐ1PÖQÙ¡%˜A™3¨QÑ5°"Ò5÷ RÐQð ! 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÷% LÐKú÷ RÐQú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ú  rX   )rN  rŒ   T©rg   r  rN  )r6  r   r4  r   rU  rV  rJ  )r?   rN  s     r@   Útest_factorialx_raises_extendz4TestFactorialFunctions.test_factorialx_raises_extendN	  s�   € ä�]‰]œ:Ð-JÖKÜ×Ñ˜a¨Õ/÷ Lä�]‰]œ:Ð-JÖKÜ×Ñ˜q¨Õ0÷ Lä�]‰]œ:Ð-JÖKÜ×Ñ˜q A¨T¸&ÕA÷ LÐK÷	 LÐKúçKÐKúçKÐKús#   œB5ÁCÂCÂ5B>ÃC
ÃCÚlevelsrX   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 )NrX   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   rX   r:  ©rå   rg   Ú_nest_mes     €r@   r‡  zDTestFactorialFunctions.test_factorialx_array_shape.<locals>._nest_meZ	  s&   ø€ ð �AŠvØ�á  A ¨¨!©Ó,Ð,rC   c                 óÚ   •— t        j                   ‰|‰¬«      t        ¬«      }t        | j	                  t         j
                  «       |j                  t         j
                  «      «       y )N©rg   r  )r]   r   Úobjectr   rß   râ   )r  Únucleusr   r‡  rƒ  s      €€r@   rm  zBTestFactorialFunctions.test_factorialx_array_shape.<locals>._checkg	  sB   ø€ Ü—(‘(™8 G¨vÔ6¼fÔEˆCô ˜CŸJ™J¤r§z¡zÓ2°J°C·J±J¼r¿z¹zÓ4JÕKrC   rÖ   r×   r‰  r  r|   Tr  r&  rŒ   rm  rJ   rS  )r]   r   ÚmathrU  r   rV  rJ  )r?   rƒ  r  rm  rf   Úexp_nucleusr‡  s    `    @r@   Útest_factorialx_array_shapez2TestFactorialFunctions.test_factorialx_array_shapeW	  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ÕErC   r  Údimc                 ó˜  — t        j                  d||¬«      }ddddœ}t        t        j                  ||¬«      t        j                  |d   |¬	«      «       t        t        j
                  ||¬«      t        j                  |d
   |¬	«      «       t        t        j                  |d|¬«      t        j                  |d   |¬	«      «       y )NrÖ   )r  Úndminr  r|   r&  rm  r  rX   ©r‘  rJ   rŒ   )r]   r   r   r   rU  rV  rJ  )r?   r�  r  r  rf   r   s         r@   Útest_factorialx_array_dimensionz6TestFactorialFunctions.test_factorialx_array_dimensionw	  sŸ   € ô �H‰H�Q˜e¨3Ô/ˆØ˜" Ñ$ˆÜœ×)Ñ)¨!°5Ô9ÜŸ™  Q¡¨sÔ3ô	5äœ×*Ñ*¨1°EÔ:ÜŸ™  Q¡¨sÔ3ô	5äœ×*Ñ*¨1¨a°uÔ=ÜŸ™  Q¡¨sÔ3õ	5rC   Ú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 )NrX   c                 ó,   •— |dk(  r| S  ‰| g|dz
  «      S r÷   r:  r†  s     €r@   r‡  zCTestFactorialFunctions.test_factorialx_array_like.<locals>._nest_meŠ	  s"   ø€ Ø�AŠvØ�á   Q q¡SÓ)Ð)rC   rÖ   r‰  r  r|   r&  rm  r  r’  rJ   rŒ   rS  )r   r   r   rU  r]   r   rV  rJ  )r?   r”  r  rf   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õ	;rC   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(  r‡|ry t        j                  j                  t        j                  «      dk\  rS | ||dz
  «      «        |t        j                  |dz
  |¬«      «        |t        j                  |dz
  g|¬«      «       y y |t        j                  t        j                  fv s|sQ ||dz
  «        |t        j                  |dz
  |¬«      «        |t        j                  |dz
  |dz
  g|¬«      «       y y )	NrR  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 )Nrg   rŒ   )	r?  r]   r@  rß   r(  r   rU  rV  rJ  )rf   Ún_refr;  rW  s     €€r@   rm  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Ð<¸Ñ<õ>rC   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   rg   rŒ   )rú  rû  Úsimplefilterrý  r   rU  rV  rJ  )rf   Ú
shaped_infr;  rW  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   rX   r  z2.0.0rJ   )r   r   r]   r   r"  r#  Úuint64ÚlibÚNumpyVersionÚ__version__Úuint8Úuint16)	r?   r  rN  r  rm  rž  r6  r;  rW  s	          @@r@   Útest_factorialx_uintz+TestFactorialFunctions.test_factorialx_uintš	  sT  ù€ ð ¨Ñ/ˆÙ,1Õ(´ˆõ	>õ	Fñ 	‰u�Q‹xÔÙ‰u�Q‹xÔÙŒr�x‰x˜ Ô'Ô(ÙŒr�x‰x˜˜A˜ eÔ,Ô-á”"—(‘(˜5“/×%Ñ%Ó&ˆà”B—I‘IÒÙàÜ—‘×$Ñ$¤R§^¡^Ó4¸Ò?á™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ð 49rC   rT   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 )Nr6   ç´àø¤tã0=rÚ   Tr  FrQ   )ÚsysÚplatformr   rw   r   rU  rß   ©r?   rf   rR   s      r@   Útest_factorial_accuracyz.TestFactorialFunctions.test_factorial_accuracyÊ	  s~   € ô
 Ÿ™¨Ò/‰u°Uˆäœœg×/Ñ/°¸Ô>Ó?Ü×)Ñ)¨!°5Ô9Àõ	Fäœ×)Ñ)¨1¨#°TÔ:×AÑAÄ%ÓHÜ×)Ñ)¨1¨#°UÔ;À$ö	HrC   é   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   r6   ç›+¡†›„6=rÚ   FrQ   r  rR  )rŒ  rU  r   r   r¨  r©  rw   r   ©r?   rf   r  rR   rW  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ÖLrC   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)
Nr6   r®  rÚ   rQ   r   ú`exact=True` only supports.*rú  Tr  )r¨  r©  r   r   rU  r6  r   r4  )rf   r"  rR   s      r@   rm  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Ü×!Ñ! !¨4Õ0÷ Qä—‘œzÐ1OÖPÜ×!Ñ! 1 #¨TÕ2÷ QÐP÷ QÐPúçPÐPús   Á9CÂ4C"ÃCÃ"C+rA  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?   rm  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Õ8rC   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 )	Nr6   ra  çVçž¯â<Fr  rR  rQ   r   )r¨  r©  r   r   rU  ©rf   r"  rR   rW  s       r@   rm  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ÖQrC   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ÖTrC   Ú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ru  ©r]   r   ru   ©Ú.0rå   s     r@   Ú	<genexpr>zKTestFactorialFunctions.test_factorial_array_corner_cases.<locals>.<genexpr>
  ó)   è ø€ Ð$SÉ7Àa¤R§X¡X¨a£[Ò%A°Q¼#¸a»&±[Ó%AÉ7ùó   ‚/1úimpossible combinationc              3   óF   K  — | ]  }t        t        |«      d «      –— Œ y­w©rþ  N©r1   r9  rÃ  s     r@   rÅ  zKTestFactorialFunctions.test_factorial_array_corner_cases.<locals>.<genexpr>!
  ó   è ø€ Ð&SÉ7Àa¤|´D¸³G¸S×'AÉ7ùó   ‚!rR  r   rX   ©r‘  r  r  úIncompatible options:.*rú  rx  ry  rþ  rz  rz   r³  rÚ   rQ   )rŠ  r.   r6  Úskipr]   r(  Úanyrâ   Úlenr   r   r4  r   rU  r1   r  rb   rì   rj  r]  rB  ©r?   r¿  r�  r  rN  r  rW  rf   r‘  rå   r  Úcxr"  s                r@   Ú!test_factorial_array_corner_casesz8TestFactorialFunctions.test_factorial_array_corner_cases
  sp  € ð ”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Ò*÷ LÑKä˜aŸg™g¢Ô7Ü—‘œzÐ1JÖKÜ×!Ñ! !Ñ* rÒ*÷ LÐKä˜!Ÿ'™' 3Ô'¨F°iÒ,?Ü—‘œzÐ1PÖQÜ×!Ñ! !Ñ* rÒ*÷ RÐQáœ<¨¯©°Ô5Ü—‘œzÐ1OÖPÜ×!Ñ! !Ñ* rÒ*÷ QÐPô ×&Ñ& qÑ/¨BÑ/ˆFàÐà78·w±w´yÓA±y°!”7×$Ñ$ QÑ-¨"Ó-°yˆCÐAä ›H¨šM�#�a’&¨sˆCð �vŠvØ 	Ñ)ÒI¬|¸A¿G¹GÀSÓ/I�Ù)+œŸšÁµ*Ì2Ï:É:�Ü—x‘x ¨3°eÔ<ˆHÜ ¨°uÖ=ð ÷ LÐKú÷ LÐKú÷ RÐQú÷ QÐPüò Bs6   Ã2K(ÅK4ÆL Ç/LÈ9LË(K1Ë4K=Ì L	ÌLr½  )Ú1z1.1z2+2jrq  rr  rs  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)NrR  r  rÏ  rú  rz   rj  rþ  ry  rz  ri  r  r³  rX   )r6  r   r4  r   rU  r1   r9  r]   r   rj  râ   rB  r   rB  ©r?   rf   r  rN  rW  rk  r"  s          r@   Ú"test_factorial_scalar_corner_casesz9TestFactorialFunctions.test_factorial_scalar_corner_casesF
  s³  € ð
 ¨Ñ/ˆØ�YÒ¡5Ü—‘œzÐ1JÖKÜ×!Ñ! !Ñ* rÒ*÷ LÐKäœd 1›g¨¨S°#´t¸D³zÐ'BÔCÜ—‘œzÐ1JÖKÜ×!Ñ! !Ñ* rÒ*÷ LÐKäœ$˜q›' 3Ô'¨F°iÒ,?Ü—‘œzÐ1PÖQÜ×!Ñ! !Ñ* rÒ*÷ RÐQàˆ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Ò*÷ QÐPô œ×*Ñ*¨1Ñ3°Ñ3´W·]±]À1ÀqÁ5Ó5IÕJ÷# LÐKú÷ LÐKú÷ RÐQú÷ QÐPú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 )Nr6   ç›+¡†›„=rÚ   Tr  FrQ   )r¨  r©  r   rw   r   rV  rß   rª  s      r@   Útest_factorial2_accuracyz/TestFactorialFunctions.test_factorial2_accuracya
  s~   € ô
 Ÿ™¨Ò/‰u°Uˆäœœg×0Ñ0°¸$Ô?Ó@Ü×*Ñ*¨1°EÔ:Àõ	Gäœ×*Ñ*¨A¨3°dÔ;×BÑBÄ5ÓIÜ×*Ñ*¨A¨3°eÔ<À4ö	IrC   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õ  rX   Tr  r6   rÛ  rÚ   FrQ   r  rR  rJ   )Ú	functoolsÚreduceÚoperatorÚmulr!  rv   r   r   rV  r¨  r©  rw   r   r¯  s        r@   Útest_factorial2_int_referencez4TestFactorialFunctions.test_factorial2_int_referencem
  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ð rC   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  rR  rQ   r   )r   r   rV  rº  s       r@   rm  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ÖRrC   rŒ   r»  rH   rJ   rn   rö  g^D]?JOê?r¼  y^D]?JOê?        y      @      @y­ÄÓ&0ñ¿!›Ÿ:÷?g�St$—ÿÿ¿gtäQä*¿@y       À-Cëâ6?yqƒjí®§?¯xØ*¿À)r   rV  rŒ  r   r   rµ  s     r@   Ú!test_factorial2_complex_referencez8TestFactorialFunctions.test_factorial2_complex_reference…
  s¡   € ò	Sñ 	ˆq˜1ÕÙˆqœ7×-Ñ-¨aÓ0´4·9±9¸QÄÇÁ¹[Ó3IÑIÕJÙˆrœG×.Ñ.¨rÓ2´T·Y±Y¸qÄ4Ç7Á7¹{Ó5KÑKÕLáˆtÐ4Õ5ÙˆyÐ#>Õ?ÙˆvÐ OÕPáˆwÐ!6Õ7Ùˆ|Ð&UÖVrC   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ru  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Í  rR  r   rX   rÎ  r  rÏ  rú  rx  ry  rj  rþ  rz  r¹  rQ   )r]   r(  rÑ  r6  rÐ  râ   rÒ  r   r   r4  r   rV  r1   r  rb   rì   rj  r]  rB  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Ñ+¨Ò+÷ LÐKä˜aŸg™g¢Ô7Ü—‘œzÐ1JÖKÜ×"Ñ" 1Ñ+¨Ò+÷ LÐKä˜!Ÿ'™' C¨ :Ô.°6¸YÒ3FÜ—‘œzÐ1PÖQÜ×"Ñ" 1Ñ+¨Ò+÷ RÐQô ×'Ñ'¨Ñ0¨RÑ0ˆFàÐà89¿¹¼	ÓB¹	°1”7×%Ñ% aÑ.¨2Ó.¸	ˆCÐBä ›H¨šM�#�a’&¨sˆCð �vŠvØ 	Ñ)ÒI¬|¸A¿G¹GÀSÓ/I�Ù)+œŸšÁµ*Ì2Ï:É:�Ü—x‘x ¨3°eÔ<ˆHÜ ¨°uÖ=ð ÷ LÐKú÷ LÐKú÷ RÐQüò 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)NrR  r  rÏ  rú  rz   rj  rþ  ry  rz  ri  r  rg   rJ   rÚ   rQ   )r6  r   r4  r   rV  r1   r9  r]   r   rj  râ   rB  rP  rØ  s          r@   Ú#test_factorial2_scalar_corner_casesz:TestFactorialFunctions.test_factorial2_scalar_corner_casesË
  s�  € ð
 ¨Ñ/ˆØ�YÒ¡5Ü—‘œzÐ1JÖKÜ×"Ñ" 1Ñ+¨Ò+÷ LÐKäœd 1›g¨¨S°#´t¸D³zÐ'BÔCÜ—‘œzÐ1JÖKÜ×"Ñ" 1Ñ+¨Ò+÷ LÐKäœ$˜q›' C¨ :Ô.°6¸YÒ3FÜ—‘œzÐ1PÖQÜ×"Ñ" 1Ñ+¨Ò+÷ RÐQàˆ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÷ LÐKú÷ LÐKú÷ RÐQús#   ¨F4ÂG ÃGÆ4F=Ç G	ÇGrg   rÓ  rn   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 )Nr6   r§  rÛ  TrH  FrQ   )r¨  r©  r   rw   r   rJ  rß   )r?   rf   rg   rR   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rC   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   rX   Tr  r6   g´àø¤tã =r'  FrQ   r  r�  rÛ  )rÞ  rß  rà  rá  r!  rv   r   r   rJ  r¨  r©  rw   r   )r?   rf   rg   r  rR   rW  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ð rC   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  r�  rQ   r   )r   r   rJ  )rf   rg   r   rR   rW  s        r@   rm  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ÈÖMrC   rH   rŒ   TrH  )rf   rg   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   rJ  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ÖWrC   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ru  rÂ  rÃ  s     r@   rÅ  zLTestFactorialFunctions.test_factorialk_array_corner_cases.<locals>.<genexpr>8  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Œ   r�  r   rX   rÎ  r  rÏ  rú  rx  ry  rj  rþ  rz  r¹  rQ   )r]   r(  rÑ  r6  rÐ  râ   rÒ  r   r   r4  r   rJ  r1   r  rb   rì   rj  r]  rB  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Ñ+¨Ò+÷ LÐKä˜aŸg™g¢Ô7Ü—‘œzÐ1JÖKÜ×"Ñ" 1Ñ+¨Ò+÷ LÐKä˜!Ÿ'™' C¨ :Ô.°6¸YÒ3FÜ—‘œzÐ1PÖQÜ×"Ñ" 1Ñ+¨Ò+÷ RÐQô ×'Ñ'¨Ñ0¨RÑ0ˆFàÐà89¿¹¼	ÓB¹	°1”7×%Ñ% aÑ.¨2Ó.¸	ˆCÐBä ›H¨šM�#�a’&¨sˆCð �vŠvØ 	Ñ)ÒI¬|¸A¿G¹GÀSÓ/I�Ù)+œŸšÁµ*Ì2Ï:É:�Ü—x‘x ¨3°eÔ<ˆHÜ ¨°uÖ=ð ÷ LÐKú÷ LÐKú÷ RÐQüò Cs*   ÃI5Ä$JÅ<JÇJÉ5I>ÊJ
ÊJc           	      ó®  — |||dœ}|dk(  r=|r;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       y t        t        |«      dddt        d «      g«      s;t        j                  t        d¬«      5  t        j                  |fi |¤Ž d d d «       y t        t        |«      ddg«      r@|dk7  r;t        j                  t        d	¬«      5  t        j                  |fi |¤Ž d d d «       y |�t        j                  |«      ri|dk(  xr t        t        |«      d«      }|rt        j                  d
«      nt        j                  d«      }t        t        j                  |fi |¤Ž|«       y  | j                  |fi |¤Ž}t        t        j                  |fi |¤Ž|d¬«       y # 1 sw Y   y xY w# 1 sw Y   y xY w# 1 sw Y   y xY w)Nr�  r  rÏ  rú  rz   rj  rþ  ry  rz  ri  r  rÚ   rQ   )r6  r   r4  r   rJ  r1   r9  r]   r   rj  râ   rB  rP  )r?   rf   rg   r  rN  rW  rk  r"  s           r@   Ú#test_factorialk_scalar_corner_casesz:TestFactorialFunctions.test_factorialk_scalar_corner_cases\  s~  € ð ˜u°Ñ7ˆØ�YÒ¡5Ü—‘œzÐ1JÖKÜ×"Ñ" 1Ñ+¨Ò+÷ LÐKäœd 1›g¨¨S°#´t¸D³zÐ'BÔCÜ—‘œzÐ1JÖKÜ×"Ñ" 1Ñ+¨Ò+÷ LÐKäœ$˜q›' C¨ :Ô.°6¸YÒ3FÜ—‘œzÐ1PÖQÜ×"Ñ" 1Ñ+¨Ò+÷ RÐQàˆ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÷ LÐKú÷ LÐKú÷ RÐQús#   ©F3ÂF?ÃGÆ3F<Æ?GÇGrM   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)
NrX   r�  rI  rz  rz   zFor `extend='zero'`.*rú  r   zParameter k cannot be zero!)r1   r9  r6  r   r4  r   rJ  )r?   rg   r  rN  ro  rf   rW  r»  s           r@   Ú test_factorialk_raises_k_complexz7TestFactorialFunctions.test_factorialk_raises_k_complexu  sÄ   € ñ
 ˆQ‰C˜aˆØ˜u°Ñ7ˆØ�VÒØ1ˆCÜœD ›G SÔ)¨q°1ªuØ-�Ü—‘œz°Ö5Ü×"Ñ" 1Ñ+¨Ò+÷ 6Ð5à�!ŠVÜ—‘œzÐ1NÖOÜ×"Ñ" 1Ñ+¨Ò+÷ PÐOô ×Ñ˜qÑ' BÓ'÷ 6Ð5ú÷ PÐOús   ÁCÂCÃCÃCrt  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)NrX   r�  ry  rú  )r6  r   r4  r   rJ  )r?   rg   r  rN  ro  rf   rW  s          r@   Útest_factorialk_raises_k_otherz5TestFactorialFunctions.test_factorialk_raises_k_other‰  sJ   € ñ ˆQ‰C˜aˆØ˜u°Ñ7ˆÜ�]‰]œ:Ð-FÖGÜ×Ñ˜qÑ' BÒ'÷ H×GÑGús   ©A	Á	Ar   c                 óZ  — |||dœ}|�r¶|t        j                  «       v �rŸt        j                  t        |   g«      }t        t        j                  |fi |¤Žj                  t        «       t        t        j                  |dz   fi |¤Žj                  t        j                  «       t        j                  |dz   fi |¤Žt        j                  t        j                  «      j                  kD  sJ ‚t        j                  t         |   g«      }t        t        j                  |fi |¤Žj                  t        j                  «       t        t        j                  |dz   fi |¤Žj                  t        «       t        j                  |dz   fi |¤Žt        j                  t        j                  «      j                  kD  sJ ‚y t        j                  t        j                  |d«      g«      }|rt        nt        j                   }t        t        j                  |fi |¤Žj                  |«       y )Nr�  rX   )r/   Úkeysr]   r   r0   r   r   rJ  r  r*   r(  r"  Úint32r#  rŠ  Úgetrâ   )r?   rg   r  rN  rW  rf   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×:Ñ:¼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ÕBrC   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)
NrX   rJ   rŒ   rN   Fr  r³  rú  T)	r]   r   r  r   r   rU  r6  r   r4  ©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Õ,÷ M×LÑLús   Â)C
Ã
C)=r3  r4  r5  rP  r6  r7  r9  rX  rZ  r^  re  rn  r]   r  râ   rj  r   Ú
datetime64r   rU  rV  rJ  r~  r‚  rv   rŽ  ru   Úint8Úint16rÿ  r(  r£  r¤  Úuint32rŸ  r“  r—  ri  r¥  r«  r!  r°  r¶  r¾  rŠ  rÕ  rÙ  rÜ  râ  rå  ré  rë  rí  rï  rò  rö  rø  rú  rü  r  r  r:  rC   r@   rF  rF  Ç  s±  „ ò'ð ‡[�[×Ñ˜^ÚRóTñ=óTð=ð ‡[�[×Ñ˜S¢,Ó/Ø‡[�[×Ñ˜W t¨U mÓ4ñ:ó 5ó 0ð:ð ‡[�[×Ñ˜W t¨U mÓ4ñSó 5ðSð ‡[�[×Ñ˜SÒ"4Ó5ñTó 6ðTð& ‡[�[×Ñ˜V a¨ WÓ-Ø‡[�[×Ñ˜YªÓ5ñ)ó 6ó .ð)ð4 ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜X¨°	Ð':Ó;Ø‡[�[×ÑØà�F‰F�J�B—J‘J˜uÓ% r§v¡v°·±°r±	Ñ'9¸=¸2¿=¹=ÈÓ;TØ�F‰F�B—F‘F˜R‘K "§&¡& ¨2¯6©6¨'°B©,¸¸m¸b¿m¹mÈEÓ>Rð	
ò
ð ó 
ð ‡[�[×ÑØØ	×	Ñ	˜G×.Ñ.°×0BÑ0BÐCóñ2ó	ó
ó <ó 5ð"2ðB ‡[�[×Ñ˜X¨¨3°·±¸Ð'AÓBñBó CðBð ‡[�[×Ñ˜X¡u¨Q°£{Ó3Ø‡[�[×Ñ˜W t¨U mÓ4ñFó 5ó 4ðFð< ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜WØˆc�2—7‘7˜BŸH™H b§h¡h°·±Ø
�‰�"—)‘)˜RŸY™Y¨¯	©	ð'ó ð ‡[�[×Ñ˜U¡E¨!¨Q£KÓ0ñ5ó 1ó	ó 5ð5ð ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜W¡e¨A¨q£kÓ2ñ;ó 3ó 5ð;ð" ‡[�[×Ñ˜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Ó-AÐ"BØ"*¨EÐ!2ð ó 4ñ(ó4óTó 5ð(ð ‡[�[×Ñ˜^ÚRóTà‡[�[×Ñ˜S¡%¨¨2£,Ó/ñCó 0óTðCó(-rC   rF  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�ŽÇ/—¸?½�¶!�ëÛ¿)rE  ç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 )Nr?  r   r[   )r   r   r=  r   )r?   r!  rè  rþ  Úfrss        r@   Útest_fresnel_valueszTestFresnel.test_fresnel_valuesµ  s.   € ô@ ”G—O‘O AÓ&Ó'ˆÜ˜œU A q 6›]°¸aÖ@rC   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   r[   )y.� ø1æû?ãÇ˜»–�Ó?yƒÀÊ¡E6@:#J{ƒ/Ð?yqà-�
@yé&1¬Ì?yŒÛh o@¤ß¾œ3Ê?y¨WÊ2Äq@q¬‹ÛhÈ?rX   rg  )r   Úfresnel_zerosr   r   r=  )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Ö7rC   c                 ó|   — t        j                  d«      \  }}t        j                  d«      }t        ||dd¬«       y )NrN   çßÄAfcz=r   r[   )r   r  Úfresnelc_zerosr   )r?   r  r  Úfrcs       r@   Útest_fresnelc_zeroszTestFresnel.test_fresnelc_zerosí  ó4   € Ü×(Ñ(¨Ó+‰ˆˆSÜ×$Ñ$ QÓ'ˆÜ˜˜S w°QÖ7rC   c                 ó|   — t        j                  d«      \  }}t        j                  d«      }t        ||dd¬«       y )NrÖ   r  r   r[   )r   r  Úfresnels_zerosr   )r?   r  r  r  s       r@   Útest_fresnels_zeroszTestFresnel.test_fresnels_zerosò  r  rC   N)r3  r4  r5  r6  r7  r9  r]   r   r  r  r  r"  r:  rC   r@   r
  r
  ´  sz   „ Ø‡[�[×Ñ˜Yà7Ø=ð	
ð
	
ð 	&Ø,Ø)Ø/Ø*à	�‰��cÐØ
�&‰&ˆ�$˜Ðð;)ó ñ>Aó?ð>Aò8ò&8ó
8rC   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 r@  )r   rB  r   )r?   Úgams     r@   rC  zTestGamma.test_gammaù  s   € Ü�m‰m˜AÓˆÜ�S˜ÕrC   c                 óˆ   — t        j                  d«      }t        t        j                  d«      «      }t	        ||dd¬«       y )NrŒ   r?  r   r[   )r   rH  r   rB  r   )r?   ÚgamlnÚlngams      r@   rI  zTestGamma.test_gammalný  s1   € Ü—‘ Ó"ˆÜ”G—M‘M !Ó$Ó%ˆÜ˜˜u¨6¸Ö:rC   c                 óz   — t        j                  dd«      }t        j                  dd«      }t        ||dd¬«       y )Nr†   r?  r   r[   )r   rE  Úgammaincinvr   )r?   ÚgccinvÚgcinvs      r@   rF  zTestGamma.test_gammainccinv  s4   € Ü×%Ñ% b¨Ó,ˆÜ×#Ñ# B rÓ*ˆÜ˜ ¨F¸Ö;rC   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 )NrK   rJ  r   r[   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Ö6rC   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ÿÿÿÿÏ?rX   g^F    Ð?rK   r�   rQ   )r]   r›  r   r+  r/  r   )r?   ÚptsÚptr   rå   s        r@   Útest_975zTestGamma.test_975  sj   € ð
 Ü�|‰|˜D !Ó$ lÜ�|‰|˜D !Ó$ lð4ˆó ˆBÜ×#Ñ# B¨Ó+ˆAÜ× Ñ   aÓ(ˆAÜ˜A˜r¨Ö.ñ rC   c                 ó|   — t        j                  d«      }dt        j                  d«      z  }t        ||dd¬«       y )Nr
  rX   r?  r   r[   )r   rÙ  rB  r   )r?   ÚrgamÚrlgams      r@   rÚ  zTestGamma.test_rgamma   s1   € Ü�~‰~˜aÓ ˆØ”'—-‘- Ó"Ñ"ˆÜ˜˜e¨&°qÖ9rC   c                 óB   — t        t        j                  d«      d«       y )NrM   r   )r   r   rÙ  r>   s    r@   Útest_infinityzTestGamma.test_infinity%  s   € Ü”W—^‘^ BÓ'¨Õ+rC   z
x,expectedrM  rž   iàÿÿÿr   é    i üÿÿéc   r  gPÚÂ²ZdbÃc                 óB   — t        t        j                  |«      |«       y ru  )r   r   rB  r  s      r@   Ú
test_poleszTestGamma.test_poles(  s   € ô  	œ7Ÿ=™=¨Ó+¨XÕ6rC   N)r3  r4  r5  rC  rI  rF  r2   r1  r5  rÚ  r:  r6  r7  r9  r]   r   r  rv   Úfullr>  r:  rC   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óñ7rC   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  rJ   rŒ   rg  r   r[   )r   r   rh  r>   s    r@   Ú
test_negv1zTestHankel.test_negv1=  ó,   € ÜœŸ™¨¨AÓ.´·±ÀÀAÓ1FÐ0FØ$¨1ö	.rC   c                 ó®   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      dz  z   }t	        ||dd¬«       y ©NrX   r  r  r?  r   r[   )r   rh  r·  r'  r   )r?   Úhank1Úhankrls      r@   ri  zTestHankel.test_hankel1A  sE   € Ü—‘  "Ó%ˆÜ—*‘*˜Q˜rÓ"¤W§Z¡Z°°"Ó%5°bÑ%8Ñ8ˆÜ˜˜v¨F¸Ö;rC   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y rC  )r   r   rl  r>   s    r@   Útest_negv1ezTestHankel.test_negv1eF  ó0   € Üœ×(Ñ(¨¨QÓ/´'×2BÑ2BÀ1ÀaÓ2HÐ1HØ$¨1ö	.rC   c                 ó’   — t        j                  dd«      }t        j                  dd«      t        d«      z  }t	        ||dd¬«       y )NrX   r  y       €š™™™™™¹¿r?  r   r[   )r   rl  rh  r   r   )r?   Úhank1eÚhankrles      r@   rm  zTestHankel.test_hankel1eJ  s;   € Ü×!Ñ! ! BÓ'ˆÜ—/‘/ ! BÓ'¬¨D«	Ñ1ˆÜ˜ ¨f¸1Ö=rC   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y rC  )r   r   rp  r>   s    r@   Ú
test_negv2zTestHankel.test_negv2O  rE  rC   c                 ó®   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      dz  z
  }t	        ||dd¬«       y rG  )r   rp  r·  r'  r   )r?   Úhank2Úhankrl2s      r@   rq  zTestHankel.test_hankel2S  sE   € Ü—‘  "Ó%ˆÜ—:‘:˜a Ó#¤g§j¡j°°2Ó&6°rÑ&9Ñ9ˆÜ˜˜w¨V¸!Ö<rC   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y rC  )r   r   rs  r>   s    r@   Ú
test_neg2ezTestHankel.test_neg2eX  rL  rC   c                 óz   — t        j                  dd«      }t        j                  dd«      }t        ||dd¬«       y )NrX   r  r?  r   r[   )r   rs  r   )r?   Úhank2eÚhankrl2es      r@   Útest_hankl2ezTestHankel.test_hankl2e\  s4   € Ü×!Ñ! ! BÓ'ˆÜ×#Ñ# A bÓ)ˆÜ˜ ¨v¸AÖ>rC   c                 ó´   — t        j                  dd«      }t        j                  |j                  «      sJ ‚t        j
                  |j                  «      sJ ‚y r;   )r   rp  r]   r   r   Úisposinfr  ©r?   r  s     r@   Útest_hankel2_gh4517zTestHankel.test_hankel2_gh4517a  s>   € ä�o‰o˜a Ó#ˆÜ�x‰x˜Ÿ™Ô!Ð!Ð!Ü�{‰{˜3Ÿ8™8Ô$Ð$Ñ$rC   N)r3  r4  r5  rD  ri  rK  rm  rQ  rq  rV  rZ  r^  r:  rC   r@   rA  rA  ;  s/   „ ò.ò<ò
.ò>ò
.ò=ò
.ò?ó
%rC   rA  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 rG  )r   Úh1vpÚjvpÚyvpr   )r?   Úh1Úh1reals      r@   Ú	test_h1vpzTestHyper.test_h1vpi  óE   € Ü�\‰\˜!˜BÓˆÜ—+‘+˜a Ó#¤g§k¡k°!°BÓ&7¸Ñ&:Ñ:ˆÜ˜˜F¨°aÖ8rC   c                 ó®   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      dz  z
  }t	        ||dd¬«       y rG  )r   Úh2vprc  rd  r   )r?   Úh2Úh2reals      r@   Ú	test_h2vpzTestHyper.test_h2vpn  rh  rC   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�   rQ   r   r‡   rÚ   rÝ  )g      ø¿rM   r   rX   r  )gÄñÌ·â?g3|t-Õ”æ?r‡   g�ßo�Ýö?g�{hùç¨ù?r  ©r†   r  ræ  )r   rX   r†   )r‡   gŸá¶cÏý?ro  rJ   rŒ   rX   )
r   r   Úhyp0f1r]   r   rß   r  ÚvstackÚassert_raisesr4  )r?   rå   r"  rä  Úx2s        r@   Útest_hyp0f1zTestHyper.test_hyp0f1s  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õ	3rC   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )Nçš™™™™™é?y      à?      à?y;EÊGÔÒù?uMÂâé?rÏ   r   r[   )r   rq  r   r]  s     r@   Útest_hyp0f1_gh5764zTestHyper.test_hyp0f1_gh5764�  s&   € ô �n‰n˜S ,Ó/ˆä˜ÐHØ#¨!ö	-rC   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   r[   )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ï¢ õ?rI  )r   rw  r   r   r   rC  )r?   Úhyp1Úref_datarD  rE  rþ  r"  r‘  s           r@   rx  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Ñ:Õ;ñ 'rC   c                 ó~   — t        j                  ddd«      }t        j                  ddd«      }t        ||dd¬«       y )Nr†   r  g7úþB.†Àg|:úþB.†Àr  r   r[   ©r   rw  r   )r?   rz  Úhyp2s      r@   Útest_hyp1f1_gh2957zTestHyper.test_hyp1f1_gh2957	  s4   € Ü�~‰~˜c 3¨Ó8ˆÜ�~‰~˜c 3¨Ó8ˆÜ˜˜d¨°qÖ9rC   c                 óP   — t        j                  ddd«      }t        |ddd¬«       y )Nr†   r  iüÿÿgÅ<`÷’²œ?r  r   r[   r}  )r?   Úhyps     r@   Útest_hyp1f1_gh2282zTestHyper.test_hyp1f1_gh2282  s#   € Ü�n‰n˜S # uÓ-ˆÜ˜Ð1¸ÀaÖHrC   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†   rX   r  ç|®Gáz¤?ræ  gÿÿÿÿÿÿ÷?g|®Gáz¤¿r•   rÞ   rJ   rË  rw  )rŒ   rà  r  r„  gŒYiô2õ?r  rŒ   g433333ó?rH   r
  rÖ   rM   rè  rt  g       ?rÝ  ç      @g      ÀgUUUUUUÕ¿g  º†@gUUUUUUõ?g«ªªªªªÀ)r  rö  r‡   ç      $ÀgEciH!…@)rõ  rŒ   rX   çffffffî?gáz®Gáæ?)rJ   r  rX   r‡  gyé&1¬|¿)rv  rŒ   rX   r‡  g"nN%@?)rJ   r\  rX   r‡  g!¡JÍþ¾)r&  é|üÿÿç      %@r>  g²z˜SŽ;)r&  rˆ  g      %Àr>  g[�B.—VP<r?  r   útest #©r\   rR   Úerr_msg)r   r   r	   r
   r   rB  r   r   r¶  rz  r   )	r?   Úvaluesrz   rD  rE  rþ  rå   rJ  Úcvs	            r@   r{  zTestHyper.test_hyp2f1  s  € ð �!�S˜& '¬#¨oÓ*>Ñ">Ð?Ø�!�S˜' 6¬&°«+Ñ#5Ð6Ø��1�c˜6¤# e£*Ñ,Ð-ÚMØ��Cœ˜S› 1™¤c¨'£lÐ3Ø��1�aÜ�]‰]˜1Ó¤§¡¨eÓ 4Ñ4Ü�}‰}˜SÓ!ñ"Ü$+§M¡M°#Ó$6ñ7ð8ð ��5˜"Ø”Tœ"“XÑ¤§¡¨eÓ 4Ñ4Ü�}‰}˜YÓ'ñ(Ü*1¯-©-¸	Ó*BñCðDð ��5˜"Ø”Tœ"“XÑ¤§¡¨eÓ 4Ñ4Ü�}‰}˜YÓ'ñ(Ü*1¯-©-¸	Ó*BñCðDð ��w ØœGŸM™M¨$Ó/Ñ/´'·-±-ÀÓ2HÑHÜ�}‰}˜TÓ"ñ#Ü%,§]¡]°8Ó%<ñ=ð>ò
 ;âÚ Ú&Ú&àGØHð9
ˆô< #,¨FÖ"3ÑˆA‰��1�a˜˜AÜ—‘  1 a¨Ó+ˆBÜ˜B ¨°QÀ&ÈÈÀÖMñ #4rC   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 )NrX   r  r#  gÑà D„?rÏ   r   r[   )r  r  ç333333ó?gš™™™™™À)r  gš™™™™™	@r-  gš™™™™™	Àr†   rJ   r  )r   Úhyperur   r   r   r	   rw  rB  )r?   Úval1rD  rE  r!  ÚhypuÚhprls          r@   Útest_hyperuzTestHyper.test_hyperu6  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Ö9rC   c                 óL   — t        t        j                  ddd«      ddd¬«       y )NrX   r  g3333334@g«ð(ÃÂ¨?r  r   r[   )r   r   r‘  r>   s    r@   Útest_hyperu_gh2287zTestHyper.test_hyperu_gh2287C  s!   € ÜœŸ™ q¨#¨tÓ4Ð6JØ$¨1ö	.rC   N)r3  r4  r5  rg  rm  ru  rx  rx  r  r‚  r{  r•  r—  r:  rC   r@   r`  r`  h  s9   „ ò9ò
9ò
3ò4-òr<òh:ò
Iò"NòH:ó.rC   r`  c                   óØ  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0d/„ Z1d0„ Z2d1„ Z3dRd3„Z4e5jl                  jo                   e8jr                  «       d4k(  d5¬6«      d7„ «       Z:e5jl                  jo                   e8jr                  «       d4k(  d5¬6«      d8„ «       Z;d9„ Z<d:„ Z=e5jl                  j|                  d;„ «       Z?d<„ Z@d=„ ZAd>„ ZBd?„ ZCd@„ ZDdA„ ZEdB„ ZFdSdC„ZGdD„ ZHdE„ ZIdF„ ZJdG„ ZKdH„ ZLdI„ ZMdJ„ ZNdK„ ZOdL„ ZPdM„ ZQdN„ ZRdO„ ZSdP„ ZTdQ„ ZUy2)TÚ
TestBesselc                 ót   — t        t        j                  d«      «      }t        |t        ddg«      dd¬«       y )NrÞ   gîb�“ÉƒÉ?gÎ�Jö Ö¿r?  r   r[   )r   r   r�  r   )r?   Úit0s     r@   rž  zTestBessel.test_itj0y0I  s2   € Ü”G—N‘N 2Ó&Ó'ˆÜ˜œUÐ$7Ð9MÐ#NÓOØ#¨!ö	-rC   c                 ót   — t        t        j                  d«      «      }t        |t        ddg«      dd¬«       y )NrÞ   gbqòÌTtt?g/]ÃooÊÛ¿r?  r   r[   )r   r   r�  r   )r?   Úit2s     r@   r�  zTestBessel.test_it2j0y0N  s2   € Ü”G—O‘O BÓ'Ó(ˆÜ˜œUÐ$9Ð;OÐ#PÓQØ#¨!ö	-rC   c                 ól   — t        t        j                  dd«      t        j                  dd«      «       y ©NrŒ   rJ   r  )r   r   r¦  r>   s    r@   Útest_negv_ivzTestBessel.test_negv_ivS  s!   € Ü”W—Z‘Z  !“_¤g§j¡j°°AÓ&6Õ7rC   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y ©Nr  r   r?  r[   )r   r®  r´  r   ©r?   ÚozÚozrs      r@   r¯  zTestBessel.test_j0V  ó-   € Ü�Z‰Z˜‹^ˆÜ�j‰j˜˜2ÓˆÜ˜˜C f°1Ö5rC   c                 óx   — t        j                  d«      }t        j                  dd«      }t        ||dd¬«       y ©Nr  rX   r?  r   r[   )r   r±  r´  r   ©r?   Úo1Úo1rs      r@   r²  zTestBessel.test_j1[  r¦  rC   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )NrX   rÞ   çÕ;öâx¹?r?  r   r[   )r   r´  r   )r?   Újnnrs     r@   rµ  zTestBessel.test_jn`  s!   € Ü�z‰z˜!˜BÓˆÜ˜Ð2¸ÀaÖHrC   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y rC  ©r   r   r·  r>   s    r@   Útest_negv_jvzTestBessel.test_negv_jvd  s*   € ÜœŸ
™
 2 qÓ)¬G¯J©J°q¸!Ó,<Ð+<À7ÐQRÖSrC   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³  rZ   g)%¡›¹-„>)gÍÌÌÌÌÌ@rZ   g5Ôc)Ç!9)r³  r  g%²,ÄÍ¿r?  r   rŠ  r‹  )r¶  r   r·  r   )r?   r�  rz   rJ  rå   r   Úycs          r@   r¸  zTestBessel.test_jvg  sY   € Ú/Ú5Ú6Ú6Ú2ð	ˆô & fÖ-‰LˆA‰y��1�aÜ—‘˜A˜qÓ!ˆBÜ˜B ¨°QÀ&ÈÈÀÖMñ .rC   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y rC  )r   r   rº  r>   s    r@   Útest_negv_jvezTestBessel.test_negv_jver  ó,   € ÜœŸ™ B¨Ó*¬W¯[©[¸¸AÓ->Ð,>Ø$¨1ö	.rC   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 )NrX   rÞ   r­  r?  r   r[   ùš™™™™™É?      ð?)r   rº  r   r·  r   rC  r  )r?   ÚjvexpÚjvexp1r!  Újvexprs        r@   r»  zTestBessel.test_jvev  sg   € Ü—‘˜A˜bÓ!ˆÜ˜Ð3¸&ÀqÕIÜ—‘˜Q˜uÓ%ˆØˆÜ—‘˜A˜a“¤¤c¨!¯&©&£k \Ó!2Ñ2ˆÜ˜ ¨V¸!Ö<rC   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Ö   rX   )go@—.=@gzj,[�@g“ÆÌlµN!@g5/ƒ D•'@g”hó>¡Ü-@rH  r[   ©gžŽ’W§@g”0Óö@g›¬QÑX$@g ²º¥*@g8„*5{x0@rW   )g’Eèk¹[@g÷~CÅju]@gYrÊ�ìì^@g�Ê,Æ `@gò»f	À`@rP   rQ   é-  )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_zeros~  sÆ   € Ü×Ñ˜q Ó#ˆÜ×Ñ˜q Ó#ˆÜ˜œUò $3ó 4ð
 $¨!õ	-ô 	˜œUò $.ó /ð
 $¨!õ	-ô × Ñ   QÓ'ˆÜ˜œuò &>ó  ?ð FKõ		Lô × Ñ   QÓ'ˆÜ˜œuò &>ó  ?ð FKö		LrC   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   rm   i  gç¾;€‰@rP   rQ   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rC   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 )NrX   rJ   r:  )rf   rå   r´  s     €r@   Újnpz(TestBessel.test_jnjnp_zeros.<locals>.jnp±  s'   ø€ Ù�q˜‘s˜1“I¡ 1 Q¡3 q£	Ñ)¨1Ñ,Ð,rC   rX   rT   r   r±   r  zInvalid t return for nt=)r   r´  rv   Újnjnp_zerosrA  r   ÚAssertionError)r?   rÎ  Úntr!  rf   r  ÚtÚzzÚnnÚttr´  s             @r@   Útest_jnjnp_zeroszTestBessel.test_jnjnp_zeros®  s–   ø€ Ü�Z‰Zˆô	-ä˜˜2–,ˆBÜ ×,Ñ,¨RÓ0‰JˆAˆq�!�QÜ! ! Q¨žl‘
��B˜Ø˜’7Ü#¡B r¨2£J°¸Ö=Ø˜1’WÜ#¡C¨¨B£K°¸Ö>ä(Ð+CÀBÀ4Ð)HÓIÐIñ +ñ rC   c                 óÔ   — t        j                  dd«      }t        |t        g d¢«      dd¬«       t        j                  dd«      }t        t        j                  d|«      dd¬	«       y )
NrX   rÖ   ©gÚÉà(yuý?gOXâeS@g¦aøˆ˜!@g¶óýÔxi'@g'Nîw(º-@rH  r   r[   é»  rÚ   r  )r   Ú	jnp_zerosr   r   rc  )r?   rÎ  s     r@   Útest_jnp_zeroszTestBessel.test_jnp_zeros½  s\   € Ü×Ñ  !Ó$ˆÜ˜œUò $.ó /ð
 $¨!õ	-ô ×Ñ  AÓ&ˆÜœŸ™ C¨Ó-¨q°uÖ=rC   c           
      ó®   — t        j                  dd«      }t        |t        g d¢«      t        g d¢«      t        g d¢«      t        g d¢«      fdd¬	«       y )
NrX   rÖ   r¿  rØ  )çÞå"¾“@g+û®þ·@gŒ-9(1!@gÈ˜»–�'@g–>tA}Ë-@)g‚”0Óv@gj¼t“Ä@g§èH.?$@gŠ}"O’*@gG¬Å§p0@rz  r   r[   )r   Ú
jnyn_zerosr   r   )r?   Újnzs     r@   Útest_jnyn_zeroszTestBessel.test_jnyn_zerosÈ  sc   € Ü× Ñ   AÓ&ˆÜ˜œeò %/ó 0ô
 $ò %/ó 0ô
 $ò %/ó 0ô
 $ò %/ó 0ð1ð( $¨!ö)	-rC   c                 ó®   — t        j                  dd«      }t        j                  dd«      t        j                  dd«      z
  dz  }t        ||dd¬«       y )NrJ   rX   rŒ   rJ  r   r[   )r   rc  r·  r   )r?   ÚjvprimÚjv0s      r@   Útest_jvpzTestBessel.test_jvpà  sC   € Ü—‘˜Q˜qÓ!ˆÜ�z‰z˜!˜A‹œwŸz™z¨!¨A›Ñ.°Ñ1ˆÜ˜ ¨'¸Ö:rC   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Ö6rC   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Ö9rC   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è  rC   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ì  rC   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Ö   rX   r   rJ   rŒ   rŽ  r[   rt  rH   g       @rN   r   r
  g      H@)r]   rc   r   Újacobir   rþ  r   )
r?   rD  rE  Ú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ÖFrC   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )Nr   rÞ   ç_±2ü?r?  r[   )r   rÛ  r   )r?   Úkn1s     r@   rÜ  zTestBessel.test_kn  s!   € Ü�j‰j˜˜2ÓˆÜ˜Ð/°fÀ1ÖErC   c                 ól   — t        t        j                  dd«      t        j                  dd«      «       y ©NrÝ  r5  rß  ©r   r   rî  r>   s    r@   Útest_negv_kvzTestBessel.test_negv_kv  s"   € Ü”W—Z‘Z  SÓ)¬7¯:©:°d¸CÓ+@ÕArC   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )Nr   rÞ   rþ  rJ  r[   ©r   rî  r   )r?   Úkv0s     r@   Útest_kv0zTestBessel.test_kv0  s!   € Ü�j‰j˜˜2ÓˆÜ˜Ð/°gÀAÖFrC   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )NrX   rÞ   gKçÞ‹˜@rJ  r   r[   r  )r?   Úkv1s     r@   Útest_kv1zTestBessel.test_kv1  ó!   € Ü�j‰j˜˜3ÓˆÜ˜Ð.°WÀ1ÖErC   c                 óN   — t        j                  dd«      }t        |ddd¬«       y )NrJ   rÞ   g¢)lH—ÁH@rJ  r   r[   r  )r?   Úkv2s     r@   Útest_kv2zTestBessel.test_kv2  r  rC   c                 óD   — t        t        j                  dd«      d«       y )Nr;  rX   gÜ.€Õ”"éH)r   r   rÛ  r>   s    r@   Útest_kn_largeorderzTestBessel.test_kn_largeorder  s   € ÜœŸ
™
 2 qÓ)Ð+AÕBrC   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Ó(¨!Õ,rC   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ÕCrC   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Þ   r?  r[   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Ö7rC   c                 ó|   — d}t        t        j                  d|«       t        j                  d|d¬«      dd¬«       y )Nr5  rX   r   ©rf   rJ  r[   )r   r   rî  Úkvp)r?   r!  s     r@   Útest_kvp_v0n1zTestBessel.test_kvp_v0n11  s3   € ØˆÜœŸ™ A qÓ)Ð)¬7¯;©;°q¸!¸qÔ+AØ$¨1ö	.rC   c                 óÈ   — d}d}t        j                  |dz   |«       ||z  t        j                  ||«      z  z   }t        j                  ||d¬«      }t        ||dd¬«       y )NrÝ  r5  rX   r  rJ  r   r[   ©r   rî  r  r   ©r?   rJ  r!  Úxcrå   s        r@   Útest_kvp_n1zTestBessel.test_kvp_n16  s[   € ØˆØˆÜ�j‰j˜˜1™˜QÓÐ ! A¡#¤g§j¡j°°1£oÑ"5Ñ5ˆÜ�K‰K˜˜!˜qÔ!ˆä˜˜A G°!Ö4rC   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Ý  r5  rJ   rX   r  rJ  r   r[   r  r  s        r@   Útest_kvp_n2zTestBessel.test_kvp_n2>  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°!Ö4rC   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_y0E  r¦  rC   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_y1J  s-   € Ü�Z‰Z˜‹^ˆÜ�j‰j˜˜2ÓˆÜ˜˜3 V°!Ö4rC   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 )NrJ   rX   ©r  rž   rI  r   r[   )r   Úy0_zerosr   r   rC  r'  )r?   ÚyoÚypoÚzoÚzporì  Úallvals          r@   Útest_y0_zeroszTestBessel.test_y0_zerosO  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ÖTrC   c                 óx   — t        j                  d«      }t        |t        dg«      t        dg«      fdd¬«       y )NrX   rÝ  gÑ®BÊOªà?rz  r   r[   )r   Úy1_zerosr   r   )r?   r:  s     r@   Útest_y1_zeroszTestBessel.test_y1_zerosW  s6   € Ü×Ñ˜aÓ ˆÜ˜œU G 9Ó-¬u°g°YÓ/?Ð@Ø#¨!ö	-rC   c                 ó|   — t        j                  dd¬«      }t        |t        dg«      t        dg«      fdd¬«       y )NrX   r&  yL¦
F%uâ?!°rh‘íì?y;ßO�—nè¿Ð³Yõ¹Úâ?r  r   r[   )r   Ú	y1p_zerosr   r   )r?   Úy1ps     r@   Útest_y1p_zeroszTestBessel.test_y1p_zeros\  s9   € Ü×Ñ ¨!Ô,ˆÜ˜œe ] OÓ4´e¸_Ð<MÓ6NÐOØ#¨!ö	-rC   c                 ó°   — t        j                  dd«      }t        |t        ddg«      dd¬«       t        j                  dd	«      }t        |g d
¢d¬«       y )NrH   rJ   g¿œ3¢”@g·(³A&¹"@rz  r   r[   rÙ  rÖ   )g]E.ô+"|@gçHå(éð|@gffÂ|çŒ}@g&îb`~@g�HO_°�~@rÚ   rQ   )r   Úyn_zerosr   r   )r?   Úans     r@   Útest_yn_zeroszTestBessel.test_yn_zerosa  sR   € Ü×Ñ˜a Ó"ˆÜ˜œE 7¨GÐ"4Ó5¸FÈÕKÜ×Ñ˜c !Ó$ˆÜ˜ò 4ð
 #ö	%rC   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   rJ   gÎQhÕ¾“@gŠzNþ·@rB  r[   é+   rÖ   rÚ   r  rÙ  rØ   )r   Ú	ynp_zerosr   r   rd  ©r?   Úaos     r@   Útest_ynp_zeroszTestBessel.test_ynp_zerosl  s~   € Ü×Ñ˜q Ó#ˆÜ˜œE :¨zÐ":Ó;À&ÈqÕQÜ×Ñ˜r !Ó$ˆÜœŸ™ B¨Ó+¨Q°UÕ;Ü×Ñ˜s 1Ó%ˆÜœŸ™ C¨Ó,¨a°dÖ;rC   c                 ót   — t        j                  dd«      }t        t        j                  d|«      dd¬«       y )NrÙ  rÖ   r   r'  r  )r   r;  r   rd  r<  s     r@   Útest_ynp_zeros_large_orderz%TestBessel.test_ynp_zeros_large_ordert  s+   € Ü×Ñ˜s 1Ó%ˆÜœŸ™ C¨Ó,¨a°eÖ<rC   c                 óN   — t        j                  dd«      }t        |ddd¬«       y ©NrX   rÞ   ç5‹,Ž1—
Àr?  r   r[   )r   r$  r   )r?   Úyn2ns     r@   r%  zTestBessel.test_ynx  s!   € Ü�z‰z˜!˜BÓˆÜ˜Ð1¸ÀQÖGrC   c                 ó\   — t        j                  dd«      }|t        j                   k(  sJ ‚y )NrV   rX   )r<   r$  r]   r   )r?   r  s     r@   Útest_yn_gh_20405zTestBessel.test_yn_gh_20405|  s&   € ä—9‘9˜S !Ó$ˆØœBŸF™F˜7Ò"Ð"Ñ"rC   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y rC  )r   r   r'  r>   s    r@   Útest_negv_yvzTestBessel.test_negv_yv�  s,   € ÜœŸ
™
 2 qÓ)¬G¯J©J°q¸!Ó,<Ð+<Ø$¨1ö	.rC   c                 óN   — t        j                  dd«      }t        |ddd¬«       y rB  )r   r'  r   )r?   Úyv2s     r@   r(  zTestBessel.test_yv…  s!   € Ü�j‰j˜˜2ÓˆÜ˜Ð0°vÀAÖFrC   c                 ót   — t        t        j                  dd«      t        j                  dd«       dd¬«       y rC  )r   r   r*  r>   s    r@   Útest_negv_yvezTestBessel.test_negv_yve‰  r¸  rC   c                 óÜ   — t        j                  dd«      }t        |ddd¬«       t        j                  dd«      t	        d«      z  }t        j                  dd«      }t        ||dd¬«       y )	NrX   rÞ   rC  r?  r   r[   rº  rM   )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¸Ö:rC   c                 ó®   — t        j                  dd«      t        j                  dd«      z
  dz  }t        j                  dd«      }t        ||dd¬«       y )	NrX   rÞ   rŒ   rt  rJ   rJ  r   r[   )r   r'  rd  r   )r?   ÚyvprÚyvp1s      r@   Útest_yvpzTestBessel.test_yvp”  sE   € Ü—
‘
˜1˜RÓ ¤7§:¡:¨a°Ó#3Ñ3°SÑ8ˆÜ�{‰{˜1˜RÓ ˆÜ˜˜d¨°qÖ9rC   c              #   ó¸   K  — g d¢}g d¢}t        j                  ||«      E d{  –—†  t        j                  dt        dd«      z   dg«      E d{  –—†  y7 Œ17 Œ­w)z>Yield points at which to compare Cephes implementation to AMOS)iˆÿÿÿrÇ  ç      4Àr†  rÝ   rö  rž   r‡   ç{®Gáú(@r  rÀ  )iìúÿÿéõÿÿÿr  rM   r‡   ry  ç     i@g     y@g     Ä‚@gÍÌÌÌÌä…@é  i'  Nr†   iÄÿÿÿrH  rà  )Ú	itertoolsÚproductr   )r?   rJ  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Œ  rR   r\   )	r]  ru   r]   rÐ  r   rC  r   r  r   )r?   r¢  Úf2rR   r\   rÐ  rJ  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ö;ñ 2rC   Úppc64lezfails on ppc64ler  c                 óf   — | j                  t        j                  t        j                  dd¬«       y )NrZ   çu5%ÅÅœ r(  )rd  r   r·  r´  r>   s    r@   Útest_jv_cephes_vs_amosz!TestBessel.test_jv_cephes_vs_amos´  ó#   € ð 	×!Ñ!¤'§*¡*¬g¯j©j¸uÈ6Ð!ÕRrC   c                 óf   — | j                  t        j                  t        j                  dd¬«       y )Nç•dyáý¥=rg  r(  ©rd  r   r'  r$  r>   s    r@   Útest_yv_cephes_vs_amosz!TestBessel.test_yv_cephes_vs_amos¹  ri  rC   c                 ón   — d„ }| j                  t        j                  t        j                  dd|¬«       y )Nc                 ó   — t        | «      dkD  S )Nr  )rC  )rJ  r!  s     r@   ÚskipperzDTestBessel.test_yv_cephes_vs_amos_only_small_orders.<locals>.skipper¿  s   € Ü�q“6˜B‘;ÐrC   rk  rg  )rR   r\   rÐ  rl  )r?   rp  s     r@   Ú(test_yv_cephes_vs_amos_only_small_ordersz3TestBessel.test_yv_cephes_vs_amos_only_small_orders¾  s-   € ò	à×!Ñ!¤'§*¡*¬g¯j©j¸uÈ6Ø'.ð 	"õ 	0rC   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>rg  r(  )r]   rü  rd  r   r¦  r>   s    r@   Útest_iv_cephes_vs_amosz!TestBessel.test_iv_cephes_vs_amosÄ  s9   € Ü�[‰[˜XÖ&Ø×%Ñ%¤g§j¡j´'·*±*À4ÈfÐ%ÔU÷ '×&Ñ&ú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 rX   r†   rM   rJ   ©rì   rÞ   r
  r   rù  rë  r  r_  gYóøÂn¥gH¯¼šò×Š>)r]   rc   ro   rí  rî  rß   r(  rü  r   r¦  r   rC  r   Úargmaxr   )	r?   r6  rJ  rå   Úimskra  rb  Údcrg   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Ø   rg  r(  )rd  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È&Ð!ÕQrC   c                 óÄ   — t        t        j                  dd«      d«       t        t        j                  dd«      d«       t        t        j                  dd«      d«       y )	NrŒ   rH   gPòýîí‡Û?rÀ  rZ  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ÕHrC   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 BesselsrM   rX   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ñ  rh  rp  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¸Ó(=Ñ%=Ñ=õ	
rC   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†   rM   rX   r   rJ   rH   N)r   r   r   r·  r¦  r'  rî  rº  rª  r*  rñ  rE   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ÕKrC   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_79094  s:   € Ü”—
‘
˜3 Ó"¤b§f¡fÑ,Ô-Ü”—‘˜C Ó#¤r§v¡vÑ-Õ.rC   c                 ó„   — t        t        j                  dd«      d«       t        t        j                  dd«      d«       y)zReal-valued Bessel I overflowrX   i¼  gá¹Îõ¥‡¬~rU   i`  g ¶?los~N©r   r   r¦  r>   s    r@   Útest_ticket_503zTestBessel.test_ticket_5038  s.   € äœŸ
™
 1 cÓ*Ð,AÔBÜœŸ
™
 4¨Ó.Ð0EÕFrC   c                 óD   — t        t        j                  dd«      d«       y )Nrö  rX   r  r†  r>   s    r@   Útest_iv_hyperg_poleszTestBessel.test_iv_hyperg_poles=  s   € ÜœŸ
™
 4¨Ó+Ð->Õ?rC   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   rJ   r†   rX   rM   r&  )r   rß   r   r   r   rH  r   r   r   rC  r#  r   r  Úsum©r?   rJ  r!  rf   rg   rO  r  s          r@   Ú	iv_serieszTestBessel.iv_series@  s´   € Ü�1�a‹L×Ñ¤Ó'ˆØˆq�‰s‰U”C˜˜1™“IÑ¤§¡°°!±Ó 4Ñ4´w·±ÀqÈÁsÈ1ÁuÓ7MÑMˆÜˆŒ%�‹(‰Ü�‹FˆÜ�!‹f�j‰j‹lœU¤6›]×.Ñ.Ñ.°Ñ2´S¸¸2¹³ZÀ±]ÑBˆØ�u‰u‹w˜ˆ|ÐrC   c                 ó€   — dD ]9  }| j                  d|«      \  }}t        t        j                  |«      |||¬«       Œ; y )N©r‡   ry  rY  r   ©r\   rŒ  )r�  r   r   r~  ©r?   r!  Úvaluer  s       r@   Útest_i0_serieszTestBessel.test_i0_seriesH  ó6   € Û!ˆAØŸ™¨¨1Ó-‰JˆE�3ÜœGŸJ™J q›M¨5°sÀAÖFñ "rC   c                 ó€   — dD ]9  }| j                  d|«      \  }}t        t        j                  |«      |||¬«       Œ; y )Nr�  rX   r�  )r�  r   r   r…  r‘  s       r@   Útest_i1_serieszTestBessel.test_i1_seriesM  r”  rC   c           	      ó”   — dD ]C  }dD ]<  }| j                  ||«      \  }}t        t        j                  ||«      ||||f¬«       Œ> ŒE y )N)rV  r†  rÝ   rž   r‡   rW  r  )r‡   ry  rY  y      ð¿       @r�  )r�  r   r   r¦  ©r?   rJ  r!  r’  r  s        r@   Útest_iv_serieszTestBessel.test_iv_seriesR  sG   € Û7ˆAÛ,�Ø!Ÿ^™^¨A¨qÓ1‘
��sÜ¤§
¡
¨1¨aÓ 0°%¸cÈAÈqÈ6ÖRñ -ñ 8rC   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‡   rZ   r  g0oO…øí?r†   gÖÊÿ!¤ä?gr¢·bÏÝ?ræ  gâ®ÄÞpHÑ?r•   gð“ÌíC~Ç?ç      4@gïgo¯×û¶?r?  r   rŠ  r‹  )r¶  r   r~  r   r   ©r?   r�  rz   rå   rJ  rŽ  s         r@   r  zTestBessel.test_i0X  sŽ   € Ø˜�*Ø˜#�,Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð&ðˆô # 6Ö*‰IˆA‰v��1Ü—‘˜A“¤ a R£Ñ(ˆBÜ˜B ¨°QÀ&ÈÈÀÖMñ +rC   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_i0ef  ó-   € Ü�{‰{˜2‹ˆÜ—‘˜A˜rÓ"ˆÜ˜˜e¨&°qÖ9rC   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ž   rZ   gjïËÙß|Ë=r  gÈ•!§[1§?r†   g;Í˜Ä?r‡   gèRùÎœÊ?r•   g|«äýÄ?r›  g}¦‹ÊÎf¶?r?  r   rŠ  r‹  )r¶  r   r…  r   r   rœ  s         r@   r†  zTestBessel.test_i1k  sˆ   € Ø˜�*ØÐ0Ð1Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð%Ø˜Ð&ðˆô # 6Ö*‰IˆA‰v��1Ü—‘˜A“¤ a R£Ñ(ˆBÜ˜B ¨°QÀ&ÈÈÀÖMñ +rC   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_i1ex  r   rC   c                 ót   — t        t        j                  d«      «      }t        |t        ddg«      dd¬«       y )NrÖ   gÑ—JBÙ?@g*uõÌù?rz  r   r[   )r   r   r™  r   )r?   Úiti0s     r@   rš  zTestBessel.test_iti0k0}  s2   € Ü”W—^‘^ AÓ&Ó'ˆÜ˜œeÐ%7Ð9KÐ$LÓMØ#¨!ö	-rC   c                 ób   — t        j                  d«      }t        |t        ddg«      dd¬«       y )Nr  gÝ³¿É„|T?gVäÀ‚Æ¥
@rB  r   r[   )r   r‹  r   r   )r?   Úit2ks     r@   rŒ  zTestBessel.test_it2i0k0‚  s-   € Ü�‰˜rÓ"ˆÜ˜œeÐ%:Ð<NÐ$OÓPØ#¨!ö	-rC   c                 óf   — t        j                  dd«      t        d«      z  }t        |ddd¬«       y )Nr   r  çš™™™™™¹¿gv M…øí?rJ  r[   )r   r¦  r   r   )r?   Úiv1s     r@   r§  zTestBessel.test_iv‡  s*   € Ü�j‰j˜˜2Óœs 3›xÑ'ˆÜ˜Ð0°wÀQÖGrC   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Õ9rC   c                 ó’   — t        j                  dd«      }t        j                  dd«      t        d«      z  }t	        ||dd¬«       y )Nr   r  rª  rJ  r[   )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Ö8rC   c                 ór   — t        t        j                  dd«      t        j                  dd«      dd¬«       y )NrX   rJ   r   rJ  r[   )r   r   r¦  Úivpr>   s    r@   Ú	test_ivp0zTestBessel.test_ivp0“  s'   € ÜœŸ
™
 1 aÓ(¬'¯+©+°a¸Ó*;À'ÐPQÖRrC   c                 ó®   — t        j                  dd«      t        j                  dd«      z   dz  }t        j                  dd«      }t        ||dd¬«       y )Nr   rJ   rX   rJ  r[   )r   r¦  r±  r   r0  s      r@   Útest_ivpzTestBessel.test_ivp–  sC   € Ü�Z‰Z˜˜!‹_œwŸz™z¨!¨A›Ñ.°Ñ1ˆÜ�K‰K˜˜!ÓˆÜ˜˜1 7°Ö3rC   )rk  r   N)éÈ   )Vr3  r4  r5  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  r4  r8  r>  r@  r%  rF  rH  r(  rL  r+  rT  r]  rd  r6  r7  r8  r©  Úmachinerh  rm  rq  rs  Úslowry  r{  r}  r€  r‚  r„  r‡  r‰  r�  r“  r–  r™  r  rƒ  r†  r‰  rš  rŒ  r§  r­  r«  r²  r´  r:  rC   r@   r™  r™  H  s2  „ ò-ò
-ò
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ó4rC   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   rX   rJ   rŒ   rH   rÖ   rŽ  r[   rM   )rX   rK  rJ   rt  )rM   r  iîÿÿÿrN   rE  )rX   iðÿÿÿéH   i ÿÿÿrÜ   rA  )rM   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ö	.rC   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   rX   rJ   rŒ   rM   rõ  r‡   rt  rÏ   r[   r  rE  )r]   rc   r   rm  r   rþ  r   r   )r?   rg   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Ö>rC   N)r3  r4  r5  rÃ  rÅ  r:  rC   r@   r¹  r¹  œ  s   „ ò.ó ?rC   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 )	NrX   r  r   rJ   rõ  rA  r?  r[   )r   Úlmbdar   r´  rc  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Ö7rC   N)r3  r4  r5  rÌ  r:  rC   r@   rÇ  rÇ  ¾  s   „ ó8rC   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  r?  r   r[   ©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Ö8rC   c                 óÞ   — t        j                  d«      t        j                  d«      t        j                  d«      f}t        d«      t        d«      t        d«      f}t        ||dd¬	«       y )
NrX   rö  r�  rJ   r4  r5  r?  r   r[   rÐ  )r?   Úl1pmÚl1pmrls      r@   Útest_log1pmorezTestLog1p.test_log1pmoreÎ  sO   € Ü—‘˜aÓ ¤'§-¡-°Ó"4´g·m±mÀCÓ6HÐIˆÜ�a“&œ˜S›¤# c£(Ð+ˆÜ˜˜f¨6¸Ö:rC   N)r3  r4  r5  r÷  rÖ  r:  rC   r@   rÎ  rÎ  È  s   „ ò9ó
;rC   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().
    rJ   r   r  éh  rX   c                 ó8   •— t        j                  ‰‰| «      d   S r;   )r   r)  ©rÒ  rf   r  s    €€r@   rø  z7ce_fourier_coefficient_using_integral.<locals>.<lambda>Þ  ó   ø€ ¤'×"5Ñ"5°a¸¸AÓ">¸qÒ"ArC   r
   r'  ©ÚweightÚwvarÚepsrel©r5   r]   r   ©rg   rf   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‰ˆØ€HrC   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ž   rJ   r  rØ  c                 ó8   •— t        j                  ‰‰| «      d   S r;   )r   r/  rÚ  s    €€r@   rø  z7se_fourier_coefficient_using_integral.<locals>.<lambda>ò  rÛ  rC   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ð €HrC   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)rH   rà  )r
  g      @c                 ó´   — t        j                  ||«      }t        d«      D �cg c]  }t        |||«      ‘Œ }}t	        ||d t        |«       d¬«       y c c}w )NrH   rZ   rQ   ©r   r(   rv   rã  r   rÒ  ©r?   rf   r  ÚArg   rþ  s         r@   Ú.test_mathieu_even_coef_against_integral_n_evenz:TestMathieu.test_mathieu_even_coef_against_integral_n_evenú  sX   € ô
 ×%Ñ% a¨Ó+ˆô FKÈ1ÄXÓNÁXÀÔ2°1°a¸Õ;ÀXˆÐNÜ˜˜1˜Wœc !›f˜:¨EÖ2ùò Os   ¤A)rŒ   rà  )rL   rJ   c                 ó¸   — t        j                  ||«      }t        ddd«      D �cg c]  }t        |||«      ‘Œ }}t	        ||d t        |«       d¬«       y c c}w ©NrX   r  rJ   rZ   rQ   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Ü˜˜1˜Wœc !›f˜:¨EÖ2ùò Uó   ¦A)rJ   rà  )r&  rJ   c                 ó¶   — t        j                  ||«      }t        dd«      D �cg c]  }t        |||«      ‘Œ }}t	        ||d t        |«       d¬«       y c c}w )NrX   rÖ   rZ   rQ   ©r   r'   rv   ræ  r   rÒ  ©r?   rf   r  ÚBrg   rþ  s         r@   Ú-test_mathieu_odd_coef_against_integral_n_evenz9TestMathieu.test_mathieu_odd_coef_against_integral_n_even  sZ   € ô ×$Ñ$ Q¨Ó*ˆô FKÈ1ÈaÄ[ÓQÁ[ÀÔ2°1°a¸Õ;À[ˆÐ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Ü˜˜1˜Wœc !›f˜:¨EÖ2ùò Urñ  N)
r3  r4  r5  r6  r7  r9  rí  rð  rö  rø  r:  rC   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ñ	3rC   rè  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestFresnelIntegralc                  ó   — y ru  r:  r>   s    r@   rR  z$TestFresnelIntegral.test_modfresnelp,  rv  rC   c                  ó   — y ru  r:  r>   s    r@   rN  z$TestFresnelIntegral.test_modfresnelm/  rv  rC   N)r3  r4  r5  rR  rN  r:  rC   r@   rú  rú  *  s   „ òórC   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Œ   rX   )g~TÃ~OÖ¿g£té_’Jö?gmÅþ²{ò@g@j'÷û&@rz  r[   )r   Ú
obl_cv_seqr   r   )r?   Úobls     r@   Útest_obl_cv_seqzTestOblCvSeq.test_obl_cv_seq4  s3   € Ü× Ñ   1 QÓ'ˆÜ˜œUò $/ó 0ð $¨!ö		-rC   N)r3  r4  r5  r  r:  rC   r@   rþ  rþ  3  ó   „ ó-rC   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 )
NrX   r  gìQ¸…ëï?gx$(~Œ¹?gx$(~Œ©¿gÃõ(\�Âï?rH  r   r[   )r   Úpbdn_seqr   r   )r?   Úpbs     r@   Útest_pbdn_seqz#TestParabolicCylinder.test_pbdn_seq>  sM   € Ü×Ñ˜a Ó$ˆÜ˜œU FØ$*ð$,ó -ä" GØ$*ð$,ó -ð.ð $¨!ö		-rC   c                 óœ   — t        j                  dd«       dt        j                  dd«      d   z  t        j                  dd«      d   z
   y )NrX   rÞ   r  r   )r   r¥  r>   s    r@   r¦  zTestParabolicCylinder.test_pbdvF  s=   € Ü�‰�Q�rÔØ”—‘˜a Ó# AÑ&Ñ&¬¯©°a¸Ó);¸AÑ)>Ó>rC   c                 ó®   — t        j                  dd«      }t        j                  dd«      }t        |t	        |d   «      t	        |d   «      fdd¬«       y )NrX   r  r   rH  r[   )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ÖOrC   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Ö   rJ   r†   rž   r   r'  r(  g®Gáz®$@gq=
×£p4@g©³HáÓQ9r�   rQ   g�Âõ(\#Àg…ëQ¸…@gŸ¡kÓS a>)r]   r8  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ÖWrC   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 ©NrK  rH   r
  r  r&  rÖ   rë  r   rt  rX   r±   r(  )r]   r8  r   r¥  rC  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°$Ö7rC   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]   r8  r   r¨  rC  r   r  s         r@   Útest_pbvv_gradientz(TestParabolicCylinder.test_pbvv_gradientb  r  rC   c                 óº   — t        j                  dd«      \  }}t        |t        j                  g d¢«      «       t        |t        j                  g d¢«      «       y )NrJ   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ò (;ó <õ 	=rC   N)
r3  r4  r5  r	  r¦  r  r  r  r  r  r:  rC   r@   r  r  =  s'   „ ò-ò?òPò
Xò8ò8ó=rC   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 )NrJ   rX   rŒ   gX]ï ;ÀrJ  r   r[   gOV,@Ëù@)rJ   rŒ   g  8»×ÙBrÏ   r¯  rp  )gý2}‰jÿ¿gó.òMæéí?gçð}2ï;Î¿)r   Ú	polygammar   rÓ  r]   rr  )r?   Úpoly2Úpoly3rå   rf   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Ó>ÀØ#¨!ö	-rC   N)r3  r4  r5  r&  r:  rC   r@   r!  r!  u  s   „ ó-rC   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Œ   rX   )gÑ"Ûù~jÔ?g6?þÒ¢¾@g)uÉ8F"@gË2�g)@rz  r[   )r   Ú
pro_cv_seqr   r   )r?   Úprols     r@   Útest_pro_cv_seqzTestProCvSeq.test_pro_cv_seq�  s3   € Ü×!Ñ! ! Q¨Ó*ˆÜ˜œeò %0ó 1ð $¨!ö		-rC   N)r3  r4  r5  r,  r:  rC   r@   r(  r(  �  r  rC   r(  c                   ó   — e Zd Zd„ Zy)ÚTestPsic                 óL   — t        j                  d«      }t        |ddd¬«       y )NrX   g¶oüŒxâ¿r?  r   r[   )r   rÓ  r   )r?   Úpss     r@   rÔ  zTestPsi.test_psiš  s   € Ü�[‰[˜‹^ˆÜ˜Ð0°vÀAÖFrC   N)r3  r4  r5  rÔ  r:  rC   r@   r.  r.  ™  s   „ óGrC   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   rt  rz  r[   ©r   rÖ  r   r   )r?   Úrads     r@   r×  zTestRadian.test_radian   s&   € Ü�n‰n˜R  AÓ&ˆÜ˜œR ™V¨&°qÖ9rC   c                 ód   — t        j                  ddd«      }t        |t        dz  dz   dd¬«       y )	Nrì  rX   rH  rJ   gƒ†íC?rz  r   r[   r4  )r?   Úrad1s     r@   Útest_radianmorezTestRadian.test_radianmore¤  s,   € Ü�~‰~˜b ! RÓ(ˆÜ˜œb ™dÐ%:Ñ:ÀÈaÖPrC   N)r3  r4  r5  r×  r8  r:  rC   r@   r2  r2  Ÿ  s   „ ò:óQrC   r2  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)rJ   rÞ   T)Ú
derivativer   rX   r?  r[   )r]   Úemptyrv   r   Úspherical_jnr   Ú
riccati_jn)r?   r6  rå   ÚSrf   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ÖIrC   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 r<  )r]   r>  rv   r   Úspherical_ynr   Ú
riccati_yn)r?   r6  rå   ÚCrf   r   Úyps          r@   Útest_riccati_ynzTestRiccati.test_riccati_yn´  rD  rC   N)r3  r4  r5  rC  rJ  r:  rC   r@   r:  r:  ©  s   „ òJóJrC   r:  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestSoftplusc                 ó`  — dd l }|j                  j                  d«      }d}|j                  dd|¬«      }|j                  dd|¬«      }|j                  dd|¬«      }|j                  d	d
|¬«      } |j                  ||||g«      }g d¢g d¢g d¢g d¢g}	t        |«      }
t        |
|	d¬«       y )Nr   l   �(ÚsÿrŒ   iœÿÿÿiÛÿÿÿru  é   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¹  rQ   )Únumpyrc   Údefault_rngÚuniformÚstackr&   r   )r?   r]   rj   rf   ro  rp  Úa3Úa4rD  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Ö-rC   c                 óÞ   — t        j                  d«      dz
  }t        j                  d«      }|j                  «       }|dkD  }t	        |||¬«       t	        ||   «      ||<   t        ||«       y )NrÖ   rJ   r   )ÚoutÚwhere)r]   r   ÚonesÚcopyr&   r   )r?   rå   rW  r  rX  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Õ!rC   N)r3  r4  r5  rU  r[  r:  rC   r@   rL  rL  ¿  s   „ ò.ó:"rC   rL  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!  Úmapru   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Õ%rC   N)r3  r4  r5  râ  r:  rC   r@   r]  r]  è  s   „ ó&rC   r]  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   rM   r†   rJ   rX   r  )	r   r   rB  rC  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˜ˆ|ÐrC   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Þ  rM   r   rX   rÜ  rW  é   )rX   r&  é   r.  rT   r   r(  N)re  r   r   r  r˜  s        r@   Útest_vs_serieszTestStruve.test_vs_seriesÿ  sP   € ãBˆAÛ(�Ø!Ÿ\™\¨!¨QÓ/‘
��sÜ¤§¡¨q°!Ó 4°eÀ!È#ÔNÐQRÐTUÐPVÒVñ )ñ CrC   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 )Nrg  r.  gä;cv=ð§?rë  rQ   g…ëQ¸ ÀgŠ< j¤?r´  rß  rµ  g³÷ýï�?r�   g       Ài×ÿÿÿg©Ÿ zzµ“?rk  iôÿÿÿé)   r   rX  r  gffffffÀrM   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Õ1rC   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õ	9rC   N)r#  )r3  r4  r5  re  rj  rm  ro  r:  rC   r@   rc  rc  ÷  s   „ óòWò2ó9rC   rc  c                  óJ   — t        t        j                  dd«      ddd¬«       y )Nr  rŒ   gdX	
§î?rÏ   r   r[   )r   r   r¶   r:  rC   r@   Útest_chi2_smalldfrq    s   € Ü”G—M‘M # qÓ)Ð+<À6ÐPQÖRrC   c                  ó`   — t        t        j                  dt        j                  «      d«       y )Nr  r‡   )r   r   r¶   r]   r   r:  rC   r@   Útest_ch2_infrs  !  s   € Ü”—‘˜s¤2§6¡6Ó*¨CÕ0rC   rå   rÝ   rM  rž   c                 óv   — t        j                  t        j                  t         j                  | «      «      sJ ‚y ru  ©r]   r   r   r¶   r  r=  s    r@   Útest_chi2_v_nanrv  %  s#   € ä�8‰8”G—M‘M¤"§&¡&¨!Ó,Ô-Ð-Ñ-rC   rJ  c                 óv   — t        j                  t        j                  | t         j                  «      «      sJ ‚y ru  ru  ©rJ  s    r@   Útest_chi2_x_nanry  *  s#   € ä�8‰8”G—M‘M !¤R§V¡VÓ,Ô-Ð-Ñ-rC   c                 óv   — t        j                  t        j                  t         j                  | «      «      sJ ‚y ru  ©r]   r   r   rº   r  r=  s    r@   Útest_chi2c_v_nanr|  /  s#   € ä�8‰8”G—N‘N¤2§6¡6¨1Ó-Ô.Ð.Ñ.rC   c                 óv   — t        j                  t        j                  | t         j                  «      «      sJ ‚y ru  r{  rx  s    r@   Útest_chi2c_x_nanr~  4  s#   € ä�8‰8”G—N‘N 1¤b§f¡fÓ-Ô.Ð.Ñ.rC   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   rA  rX   rJ   )r]   r   r   rê   r   r/  rÐ  rì  r   rï  r   r¶   rS  Ú	gammainccrº   rY  )rJ  rå   r  rò  s       r@   Útest_chi2_edgecases_gh20972r�  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¸Õ<rC   c                  óJ   — t        t        j                  dd«      ddd¬«       y )Nr  rŒ   çÀyj_�¥?rÏ   r   r[   )r   r   rº   r:  rC   r@   Útest_chi2c_smalldfr„  N  s   € Ü”G—N‘N 3¨Ó*Ð,AØ aö)rC   c                  óJ   — t        t        j                  dd«      ddd¬«       y )Nr  rƒ  rŒ   rÏ   r   r[   )r   r   r¿   r:  rC   r@   Útest_chi2_inv_smalldfr†  S  s   € Ü”G—N‘N 3Ð(=Ó>ÀØ aö)rC   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 )'NrP   rX   rJ   gDS«YCµê?rQ   gQÕ_Ñý?g®Å?Õ@g>;,
i}@rŒ   )rX   rŒ   rÖ   gÊ=·O÷?rM   rõ  rÜ   rN   gXñÓs•ê*@r  g   V4o�Agˆ†ôO„1eAgêŒ 9Y>)Fg‹¾ÜìÒEgæ^ 9^;g–d¼¾-èž?g¯–P.5�_gsTNÓØNegºÒ6ödgu”?jç/Ê g]éXC}KÀdg¯žÑ§›R£g"!çx{¿{ r‡   gë][#!Rrõ  gŒÙ�S1ÛëgNÕ_Ñ r   r<  r&  )r   r   Úagmr]   r   r   rÀ  r#  r   r  r   )rR   Ú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Õ3rC   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¸  rX   r  gÍÌÌÌÌÌü?rJ   gffffff@)rú  rû  rü  rý  r   r   ÚexpnrZ  rW  r]  r¹  rÛ  r$  rò  r  r:  rC   r@   Útest_legacyr‘  •  sa  € ä	×	 Ñ	 Õ	"Ü×ÑØÐ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÷ 
#×	"Ñ	"ús   •G6HÈHc                  ó*   — dd l } | j                  «       S r;   )Ú	threadingÚLock)r“  s    r@   Úerrstate_lockr•  ¦  s   € ãØ�>‰>ÓÐrC   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ë  rX   y        .Ÿ‡¢®B}T)r   rü  rs  rý  r¦  )r•  s    r@   Útest_error_raisingr—  ¬  sF   € â	Ü×Ñ 'Ö*Üœ'×6Ñ6¼¿
¹
ÀAÀuÔM÷ +÷ 
ˆß*Ð*ú÷ 
ˆú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´  sG   € Ü�[‰[ Ö*Ø�AŠvœbŸh™h qœkØ÷ +Ñ*ð œŸ™ ›‘{÷	 +×*Ò*úó   —A½AÁA'©r   r   r   ©r‡   rt  r  )r   r  )rX   r  rX   rP   r(  )
r]   r   r  r   rw   r   r}   r3   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ÖDrC   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Å  sG   € Ü�[‰[ Ö*Ø�AŠvœbŸh™h qœkØ÷ +Ñ*ð œ2Ÿ8™8 A›;‘÷	 +×*Ò*úrž  rŸ  r   r   )rX   g ÂëþKH´9r  rX   rP   r(  )	r]   r   r  r   rw   r}   r3   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ÀÖFrC   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 r;   )r]   r   r   r¡  r=  s    r@   r�  ztest_entr.<locals>.xfuncÓ  s(   € ØˆqŠ5Ü—F‘F�7ˆNä—M‘M ! QÓ'Ð'Ð'rC   r   r†   r‡   rM   rX   r  ©ÚotypesrP   r(  )r]   r   r[  r\  rœ  r   rw   r}   râ   r3   r   Úentr)r�  r�  Úsignsr¹  ÚsgnrJ  r!  r1  s           r@   Ú	test_entrr²  Ò  s•   € ò(ð
 ��cœ2Ÿ6™6Ð"€FØ�ˆG€EØ
€CÜ×#Ñ# E¨6Ö2‰ˆˆQØ�
‰
�3˜‘7Õð 3ä
�‰�œEÔ"€AØ0Œ�‰�U¤B§J¡J <Ô0°Ó3€AÜ”g—l‘l A q¨u¸5ÖArC   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 r;   )r]   r   r\  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Ð0rC   ©r   r†   r‡   rM   rX   r  r­  r   rP   r(  )r[  r\  rœ  r]   r   rw   r}   râ   r3   r   Úkl_div©
r�  r�  r°  r¹  ÚsgnaÚvaÚsgnbÚvbr!  r1  s
             r@   Útest_kl_divr¼  â  s­   € ò
1ð €FØ�ˆG€EØ
€CÜ'×/Ñ/°°v¸uÀfÖMÑˆˆb�$˜Ø�
‰
�D˜‘G˜T "™WÐ%Õ&ð Nä
�‰�œEÔ"€AØ0Œ�‰�U¤B§J¡J <Ô0°²1°Q°3±¸º1¸Q¸3¹Ó@€AÜ”g—n‘n a¨°¸UÖCrC   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 r;   )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ˆMrC   rµ  rM   rX   r  r­  r   rP   r(  )r[  r\  rœ  r]   r   rw   r}   râ   r3   r   Úrel_entrr·  s
             r@   Útest_rel_entrrÀ  ø  s¯   € òð €FØ�ˆG€EØ
€CÜ'×/Ñ/°°v¸uÀfÖMÑˆˆb�$˜Ø�
‰
�D˜‘G˜T "™WÐ%Õ&ð Nä
�‰�œEÔ"€AØ0Œ�‰�U¤B§J¡J <Ô0°²1°Q°3±¸º1¸Q¸3¹Ó@€AÜ”g×&Ñ&¨¨1°5¸uÖErC   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   rX   rP   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ÖIrC   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ë  ))rH   çX™çë¨ö )rÈ  gZb××çti)rÆ  g  4&õkC)gMÂá«G.¦@g)ØZ?—g åwaò)§€r   rX   rP   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ÖIrC   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 )NrM   r  rJ   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   rC  Úsquare©ÚdeltarO  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Ð4rC   r&  r­  r   rX   rP   r(  )r   r   Úhuberr]   r   r   rË  rc   Úrandnr}   râ   r3   ©r�  r!  r1  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ÖBrC   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   rJ   rX   )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Ñ<Ñ=Ð=rC   r&  rJ   r   r†   r­  rX   rP   r(  )
r]   r   rc   rÏ  Útolistr}   râ   r3   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ÖIrC   c                  óX   — d} d}t        j                  | |«      }d}t        ||d¬«       y )Nr‡   g¬CÒÑ]r2<gs.-“„De8rP   rQ   )r   rÕ  r   )rÍ  rO  r   r"  s       r@   Útest_pseudo_huber_small_rrØ  S  s1   € Ø€EØ€AÜ×Ñ˜U AÓ&€Að &€HÜ�A�x eÖ,rC   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ú  rU   )r6  Úwarnsrý  r'   r(   r:  rC   r@   Útest_runtime_warningrÛ  `  sh   € Ü	�‰”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&)'ÚTestStirling2rX   r   )r   rX   rX   )r   rX   rŒ   rX   )r   rX   rL   rN   rX   )r   rX   r|   r×   r&  rX   )r   rX   é   rì  éA   r|   rX   )r   rX   é?   rÀ  i^  éŒ   r.  rX   )	r   rX   é   iÆ  i¥  é  i
  é   rX   )
r   rX   éÿ   iÑ  iZ  i'  iV
  iÎ  é$   rX   )r   rX   r€   ér$  i9…  i¦  i+Y  éø  iî  rÎ   rX   zis_exact, comp, kwargsTFrR   r�   c           	      óÆ   — t        dt        | j                  «      «      D ]?  }t        t        |dz   «      «      }| j                  |   } ||t	        |g||¬«      fi |¤Ž ŒA y )NrX   r  )rv   rÒ  Útabler!  r)   )r?   Úis_exactÚcompÚkwargsrf   Úk_valuesÚrows          r@   Útest_table_caseszTestStirling2.test_table_casesx  sV   € ô
 �qœ#˜dŸj™j›/Ö*ˆAÜœE ! A¡#›JÓ'ˆHØ—*‘*˜Q‘-ˆCÙ�”i   X°XÔ>ÑIÀ&ÓIñ +rC   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  rH   rJ   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¸&ÓArC   c                 óˆ   —  |t        dd|¬«      dfi |¤Ž  |t        dd|¬«      dfi |¤Ž  |t        dd|¬«      dfi |¤Ž y )NrM   r  r   rJ   ©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Ó;rC   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Œ   rH   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Ø%-ô/ð õ	rC   rP   c                 óH   — g d¢}g d¢}g d¢} |t        |||¬«      |fi |¤Ž y )N)r   rX   rŒ   r×   rã  rè  rç  )rM   r   rŒ   rÖ   r
  r&  r&  )rõ  r   rJ   rŒ   rÖ   rL   rŒ   r  rõ  ©r?   rë  rì  rí  rø  rf   rg   s          r@   Útest_mixed_valueszTestStirling2.test_mixed_values«  s+   € ò .ˆÚ$ˆÚ"ˆÙŒY�q˜! 8Ô,¨cÑ<°VÓ<rC   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  rJ   rX   N)r]   r   r   r)   rŒ  r   )r?   rf   ÚKrg   s       r@   Útest_correct_parityz!TestStirling2.test_correct_parity¶  sd   € ð
 ”B—I‘I˜c“Nˆ1ˆÜÜ�a˜ $Ô'¨!Ñ+Ù=>Ó?¹Q¸ŒT�Y‰Y�q˜A ™F‘| aÑ'¨¨Q©Ó/°!Ó3¸QÑ?õ	
ùâ?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×   rT   rI   rH   Tr  l	   D,"ÒSBX¡p!NæÑ l   wY®)ÄHŠ_î1e_é*   r:  é   )r   r   r)   )r?   rø  rf   rg   s       r@   Útest_big_numberszTestStirling2.test_big_numbersÁ  s}   € ä�~Ð'8Ð9Ó:ˆØ�ˆHˆØ�ˆGˆÜœ9 Q¨°Ô6¸Ô<Ð<Ð<äÐ<Ø:ð<ó =ˆà�ˆHˆØ�ˆHˆÜœ9 Q¨°Ô6¸Ô<Ð<Ñ<rC   r6  r…  rÝ  y      @      ð?Ú12rÿ  )rà  rŒ   Ú2Nrë  c                 ó|   — t        j                  t        «      5  t        |||¬«       d d d «       y # 1 sw Y   y xY w)Nr  )r6  r   Ú	TypeErrorr)   )r?   r6  rÿ  rë  s       r@   Útest_unsupported_input_typesz*TestStirling2.test_unsupported_input_typesÎ  s(   € ô
 �]‰]œ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)NrH   rX   ©rH   rH   rH   rH   r  ©rX   rJ   rŒ   rH   r  )r   rê  rŠ  r6  r   r	  r   r)   )r?   rë  rø  rf   rg   s        r@   Ú!test_numpy_array_int_object_dtypez/TestStirling2.test_numpy_array_int_object_dtypeÖ  s`   € ô �d—j‘j ‘m A BÐ'Ó(ˆÜ’L¬Ô/ˆÜ’L¬Ô/ˆÜ�]‰]œ9Õ%Üœ	 ! Q¨hÔ7¸Ô=÷ &×%Ñ%ús   ÁA=Á=Bc                 ó²   — t        | j                  d   dd  «      }t        g d¢t        ¬«      }t        g d¢t        ¬«      } |t        ||d¬«      |fi |¤Ž y )NrH   rX   r	  r  r	  Fr  )r   rê  r+   r)   rû  s          r@   Ú#test_numpy_array_unsigned_int_dtypez1TestStirling2.test_numpy_array_unsigned_int_dtypeà  sM   € ô �d—j‘j ‘m A BÐ'Ó(ˆÜ’L¬Ô1ˆÜ’L¬Ô1ˆÙŒY�q˜! 5Ô)¨3Ñ9°&Ó9rC   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)rX   r|   r×   r&  )rX   rL   rN   rX   )rÖ   rÖ   rÖ   rÖ   r	  r	  r  rH   )r   rX   rJ   rŒ   rH   rÖ   rÖ   )r   rX   rL   rN   rX   r   F)r   r)   rv   )r?   rë  rì  rí  rø  rf   rg   rY  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Ó<±8¨aÔ)°8Ñ<Ó=ˆÙŒ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Ö   rX   Tr  Fgñhãˆµøô>)r!  rv   r)   r]   r#  rC  )r?   rå   rf   Ú	k_entriesÚdenomrx   s         r@   Útest_temme_rel_max_errorz&TestStirling2.test_temme_rel_max_errorü  s~   € ô ”�r˜3 Ó"Ó#ˆÛˆAÜœU 1 a¨¡c›]Ó+ˆIÜ˜q˜c 9°DÔ9ˆEØœ) Q C¨¸%Ô@Ñ@ˆCÜ—6‘6œ"Ÿ&™&  u¡Ó-Ó.°Ó5Ð5Ð5ñ	 rC   N)r3  r4  r5  rê  r6  r7  r9  r   r   rð  ró  rö  rù  rü  r 	  r	  r]   r  r		  r	  r	  r	  r	  r:  rC   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ó ñ:ó	ð:ó6rC   rÝ  ru  )“rÞ  r[  rà  r©  r¨  rú  rO  r]   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r6  r   rs  Ú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._utilr*   r+   Úscipy._lib._array_apir,   r-   r.   Úscipy.special._basicr/   r0   r1   Úscipy.special._testutilsr2   r3   r4   Úscipy.integrater5   rŒ  Úarchitecturerÿ  r(  r]  r9   r<  rk  rs  rx  r¿  rÅ  rÙ  r  rH  r}  rŠ  r³  rÐ  râ  r  r#  rB  rF  r
  r$  rA  r`  r™  r¹  rÇ  rÎ  rã  ræ  rè  rú  rþ  r  r!  r(  r.  r2  r:  rL  r]  rc  rq  rs  r7  r9  r  rv  ry  r|  r~  r�  r„  r†  rŽ  r‘  Úfixturer•  r—  r¦  rª  r²  r¼  rÀ  rÄ  rÈ  rÑ  rÖ  rØ  rÛ  rÝ  r:  rC   r@   Ú<module>r#	     s>  ðó" Û Û Û Û 
Û ã ÷÷ ÷ ÷ ÷ ó ó Ý *÷Lõ Lõ ß &Ð &ß 2Ñ 2ß EÕ EÝ "ß HÑ Hß .ß SÑ S÷ñ ÷!ñ !å  ã ð ‡L�L�GÒØ€x×ÑÓ˜qÑ! WÒ,ð �XŠXð 
‡x�xð ÷n9ñ n9÷b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].ñ ].÷@Q	4ñ Q	4÷h?ñ ?÷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ò [6rC   