
    ^MhJ              
          U d dl mZ d dlZd dlmZ d dlmZmZ d dlm	Z	 d dl
mZ ddgZg d	Zg d
Zd  eed          D             Zdddddddddd	Zeeeeeeeeed	Zg e	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j         ej         ddfe	j!        ej!        ddfe	j"        ej"        ddfe	j#        ej#        ddfe	j$        ej$        ddfe	j%        ej%        ddfe	j&        ej&        ddfe	j'        ej'        ddfe	j(        ej(        ddfe	j)        ej)        ddfe	j*        ej*        ddfe	j+        ej+        ddfe	j,        ej,        ddfe	j-        ej-        ddfe	j.        ej.        ddfe	j/        ej/        ddfe	j0        ej0        ddfe	j1        ej1        ddfe	j2        ej2        ddfe	j3        ej3        ddfe	j4        ej4        ddfe	j5        ej5        ddfe	j6        ej6        ddfe	j7        ej7        ddfe	j8        ej8        ddfe	j9        ej9        ddfe	j:        ej:        ddfe	j;        ej<        ddfe	j=        ej=        ddfe	j>        ej>        ddfe	j?        ej?        ddfe	j@        ej@        ddfe	jA        ejA        ddfe	jB        ejB        ddfe	jC        ejC        ddfe	jD        ejD        ddfe	jE        ejE        ddfe	jF        ejF        ddfe	jG        ejG        ddfe	jH        ejH        ddfe	jI        ejI        ddfe	jJ        ejJ        ddfe	jK        ejK        ddfe	jL        ejL        d dfe	jM        ejM        d d!fe	jN        ejN        d d!fe	jO        ejO        d d!fe	jP        ejP        d"d!fe	jQ        ejQ        d"d!fe	jR        ejR        d#dfe	jS        ejS        d#dfe	jT        ejT        d$d!fe	jU        ejU        d d!fe	jV        ejV        d dfe	jW        ejW        d dfe	jX        ejX        d d!fe	jY        ejY        d$d!fe	jZ        ejZ        d dfe	j[        ej[        ddfe	j\        ej\        ddfe	j]        ej]        ddfe	j^        ej^        ddfe	j_        ej_        d%dfe	j`        ej`        ddfe	ja        eja        d&dfe	jb        ejb        ddfe	jc        ejc        ddfe	jd        ejd        ddfe	je        eje        ddfe	jf        ejf        ddfe	jg        ejh        ddfe	ji        eji        ddfe	jj        ejj        ddfe	jk        ejk        ddfe	jl        ejl        ddfe	jm        ejm        ddfe	jn        ejn        ddfe	jo        ejo        ddfe	jp        ejp        ddfe	jq        ejq        ddfe	jr        ejr        ddfe	js        ejs        ddfe	jt        ejt        ddfe	ju        eju        d'dfe	jv        ejv        d'dfe	jw        ejw        d'dfe	jx        ejx        d'dfe	jy        ejy        ddfe	jz        ejz        d(dfe	j{        ej{        d)dfe	j|        ej|        d*dfe	j}        ej}        ddfe	j~        ej~        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        d(dfe	j        ej        d(dfe	j        ej        ddfe	j        ej        ddfe	j        ej        d(dfe	j        ej        d(dfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        d&dfe	j        ej        ddfe	j        ej        ddfe	j        ej        d(dfe	j        ej        d(dfe	j        ej        ddfe	j        ej        d%dfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        d+dfe	j        ej        d%dfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        d,dfe	j        ej        d,dfe	j        ej        d,dfe	j        ej        ddfe	j        ej        ddfe	j        ej        d-dfe	j        ej        d-dfe	j        ej        d-dfe	j        ej        d-dfe	j        ej        d-dfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        d-dfe	j        ej        d.dfe	j        ej        ddfe	j        ej        d-d/fe	j        ej        d.d/fe	j        ej        d-d/fe	j        ej        d.d/fe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        d0dfe	j        ej        d0dfe	j        ej        d&dfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        d-dfe	j        ej        d.dfe	j        ej        ddfe	j        ej        d-d/fe	j        ej        d.d/fe	j        ej        d-d/fe	j        ej        d.d/fe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j         ej         d1d2fe	j        ej        d1d2fe	j        ej        d1d2fe	j        ej        d1d2fe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j	        ej	        d&dfe	j
        ej
        d&dfe	j        ej        ddfe	j        ej        d3dfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        d+dfe	j        ej        ddfe	j        ej        d+dfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        ddfe	j        ej        d&dfe	j        ej        d(dfe	j        ej        d(dfe	j        ej        ddfe	j        ej        ddfZ e!e"eee"e#d4f         e#dz  f                  e$d5<   d6 e D             Z%d7 Z&d8 Z'ej(        j)        ej(        *                    d9          ej(        +                    d:e e%;          d<                                     Z,dS )=    )CallableN)product)assert_allclosesuppress_warnings)special)cython_specialTF)i   
   )g      $g      g      ?g      $@c                      g | ]}t          | S  )complex).0tups     g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/special/tests/test_cython_special.py
<listcomp>r      s    JJJC'3-JJJ       )repeatbintfloatdoublezlong doublezfloat complexzdouble complexzlong double complexintlong)	bfdgFDGil)dd)r   r    )dldddd)r&   )r   )r$   DD)r&   DDD)ddddDDDD)r$   dDldzd and l differ for negative int)r&   ddDldd)r,   )r)   dddDlddd)r   r   r   )r,   r$   )r+   )r$   r+   )r&   r-   )r)   r/   )r    )lldr&   )r)   )dddddzsee gh-6211)r$   r$   )r,   ldblDlDbzMPython version supports negative reals; Cython version doesn't - see gh-21629)llddr)   .PARAMSc                 (    g | ]}|d          j         S )r   )__name__r   xs     r   r   r   +  s    %%%qt}%%%r   c                 d    t          d | D                       }t          t          |           }|S )Nc              3   0   K   | ]}t           |         V  d S N)TEST_POINTSr:   s     r   	<genexpr>z(_generate_test_points.<locals>.<genexpr>/  s&      33AQ333333r   )tuplelistr   )	typecodesaxesptss      r   _generate_test_pointsrF   .  s4    3333333D
w~

CJr   c                      t          t                    D ]b} t          t          |           }t          |          r<|                     d          s't
          D ]\  }}}}||u r nt          |  d          cd S )N_z missing from tests!)dirr   getattrcallable
startswithr7   RuntimeError)namefuncrH   cyfuns       r   test_cython_api_completenessrQ   4  s    N## B B~t,,D>> 	B$//#"6"6 	B"( B B5!QD==E ! #d#@#@#@AAAB Br      param)idsc                 ~   | \  }}}}|rt          j        |           t          d |D                       }d t          |          D             }|D ]2}t	          |          D ] \  }}	||                             |	           !3t                      }
dgt          |          z  t	          |          D ]Q\  }}	t          t          |	                    }||
v r&t          |	          dk    |<   |
                    |           R|D ]}fdt	          |          D             }|r|t          |                   }nd }|}t          |          }|D ]f}t                      5 }|                    t                      || } || }d d d            n# 1 swxY w Y   t          ||| d| d|            gd S )	N)reasonc              3   4   K   | ]}t          |          V  d S r>   )len)r   specs     r   r@   z"test_cython_api.<locals>.<genexpr>I  s(      ;;4SYY;;;;;;r   c                 *    g | ]}t                      S r   )set)r   rH   s     r   r   z#test_cython_api.<locals>.<listcomp>J  s    ///cee///r   Fr
   c                 @    g | ]\  }}|         t           |         S r   )CYTHON_SIGNATURE_MAP)r   jcodeis_fused_codes      r   r   z#test_cython_api.<locals>.<listcomp>Z  s=     * * * D%a(*)$/ * * *r    )err_msg)pytestxfailmaxrange	enumerateaddr[   rX   rA   sortedrF   r   filterDeprecationWarningr   )rS   pyfunccyfuncspecializationsknownfailure
max_paramsvaluesrC   r^   vseenvv	signaturecy_spec_funcrE   ptsuppyvalcyvalr`   s                      @r   test_cython_apir{   @  s~    5:1FFO\ *L)))) ;;?;;;;;J//U:..///F$  	i(( 	 	DAq1IMM!	55DGc&kk)M&!!  16!99::FFQJa % S S	* * * *$-i$8$8* * *	  	"!%	"2"23LLI!L $I.. 	S 	SB"$$ *

-...$b)* * * * * * * * * * * * * * * E5R2Q2Q)2Q2Qi2Q2QRRRRR	SS Ss   %%FFF(-  collections.abcr   rc   	itertoolsr   numpy.testingr   r   scipyr   scipy.specialr   bint_points
int_pointsreal_pointscomplex_pointsr]   r?   agmairy_airy_pywrapairye_airye_pywrapbdtrbdtrcbdtribdtrikbdtrinbeibeipberberp
besselpolybetabetaincbetaincc
betaincinvbetainccinvbetalnbinomboxcoxboxcox1pbtdtriabtdtribcbrtchdtrchdtrcchdtrichdtrivchndtr	chndtridf	chndtrincchndtrixcosdgcosm1cotdgdawsnellipe	ellipeincellipj_ellipj_pywrap	ellipkincellipkm1ellipkelliprcelliprdelliprfelliprgelliprjentrerferfcerfcxerfierfinverfcinveval_chebyceval_chebyseval_chebyteval_chebyueval_gegenbauereval_genlaguerreeval_hermiteeval_hermitenormeval_jacobieval_laguerreeval_legendreeval_sh_chebyteval_sh_chebyueval_sh_jacobieval_sh_legendreexp1exp10exp2expiexpitexpm1expnexprelfdtrfdtrcfdtrifdtridfdfresnel_fresnel_pywrapgammagammainc	gammainccgammainccinvgammaincinvgammalngammasgngdtrgdtrcgdtriagdtribgdtrixhankel1hankel1ehankel2hankel2ehuberhyp0f1hyp1f1hyp2f1hyperui0i0ei1i1e
inv_boxcoxinv_boxcox1pit2i0k0_it2i0k0_pywrapit2j0y0_it2j0y0_pywrap
it2struve0itairy_itairy_pywrapiti0k0_iti0k0_pywrapitj0y0_itj0y0_pywrapitmodstruve0	itstruve0ivivej0j1jvjvek0k0ek1k1ekeikeipkelvin_kelvin_pywrapkerkerpkl_divknkolmogi
kolmogorovkvkvelog1p	log_expitlog_ndtrlog_wright_bessel	ndtri_exploggammalogitlpmv	mathieu_a	mathieu_bmathieu_cem_mathieu_cem_pywrapmathieu_modcem1_mathieu_modcem1_pywrapmathieu_modcem2_mathieu_modcem2_pywrapmathieu_modsem1_mathieu_modsem1_pywrapmathieu_modsem2_mathieu_modsem2_pywrapmathieu_sem_mathieu_sem_pywrapmodfresnelm_modfresnelm_pywrapmodfresnelp_modfresnelp_pywrap	modstruvenbdtrnbdtrcnbdtrinbdtriknbdtrinncfdtrncfdtri
ncfdtridfd
ncfdtridfn	ncfdtrincnctdtr	nctdtridf	nctdtrincnctdtritndtrndtrinrdtrimnnrdtrisdobl_ang1_obl_ang1_pywrapobl_ang1_cv_obl_ang1_cv_pywrapobl_cvobl_rad1_obl_rad1_pywrapobl_rad1_cv_obl_rad1_cv_pywrapobl_rad2_obl_rad2_pywrapobl_rad2_cv_obl_rad2_cv_pywrappbdv_pbdv_pywrappbvv_pbvv_pywrappbwa_pbwa_pywrappdtrpdtrcpdtripdtrikpochpowm1pro_ang1_pro_ang1_pywrappro_ang1_cv_pro_ang1_cv_pywrappro_cvpro_rad1_pro_rad1_pywrappro_rad1_cv_pro_rad1_cv_pywrappro_rad2_pro_rad2_pywrappro_rad2_cv_pro_rad2_cv_pywrappseudo_huberpsiradianrel_entrrgammaroundspherical_jnspherical_ynspherical_inspherical_knshichi_shichi_pywrapsici_sici_pywrapsindgsmirnovsmirnovispencesph_harmstdtrstdtridfstdtritstruvetandgtklmbdavoigt_profilewofzwright_besselwrightomegaxlog1pyxlogyy0y1ynyvyvezetacowens_tr7   rB   rA   str__annotations__IDSrF   rQ   markthread_unsafe	fail_slowparametrizer{   r   r   r   <module>r     s   $ $ $ $ $ $ $        < < < < < < < <       ( ( ( ( ( ( Um
&&&JJ77;q+I+I+IJJJ 
								
 
  
								
 
~H[.$gt4~H\>.
DA~H ]N0*dC~H \>&=	~H
 ]N(.$?~H ]N(.$?~H ^^*Hd;~H ^^*Hd;~H [.$fd3~H \>&5~H [.$fd3~H \>&5~H 2HdC~H \>&6~H _n,h=~H  ~.$?!~H" 2HdC#~H$ .4hE%~H& ^^*GT:'~H( ]N('48)~H* ^^*GT:+~H, ~.>-~H. _n,h=/~H0 _n,h=1~H2 \>&53~H4 ]N('485~H6 ^^*GT:7~H8 ^^*GT:9~H: _n,gt<;~H< ^^*Hd;=~H> 0(DA?~H@ 0(DAA~HB ~.$?C~HD ]N(&$7E~HF ]N(&$7G~HH ]N(&$7I~HJ ]N(*d;K~HL ^^*FD9M~HN 0'4@O~HP ^^2GTBQ~HR 0'4@S~HT ~.=U~HV ^^*FD9W~HX _n,lDAY~HZ _n,ndC[~H\ _n,ndC]~H^ _n,ndC_~H` _n,.>Ea~Hb \>&5c~Hd [.$j$7e~Hf \>&
D9g~Hh ]N(*d;i~Hj \>&
D9k~Hl ^^*FD9m~Hn _n,fd;o~Hp .46H$Oq~Hr .46H&(s~Hv .46H&(w~Hz .46H&({~H~ n<>S&(~HB ~>@U&(C~HF >6FG~HH ~>NI~HJ .46N&(K~HN N8:L&(O~HR N8:LdSS~HT ^:<NPTUU~HV ^:<N&(W~HZ ^:<T&([~H^ ~>@R	_~Hb \>&
D9c~Hd ]N(&$7e~Hf \>&5g~Hh \>&
D9i~Hj ]N(/4@k~Hl ]N(*d;m~Hn \>&d;o~Hp ^^*FD9q~Hr \>&$7s~Ht ]N((D9u~Hv ]N((D9w~Hx ~.$?y~Hz _n4j$G{~H| ]N(*d;}~H~ ~.>~H@ 0'4@A~HB >6FC~HD .4gtDE~HF _n,fd;G~HH ~.=I~HJ \>&$7K~HL ]N((D9M~HN ^^*Hd;O~HP ^^*Hd;Q~HR ^^*Hd;S~HT _n,gt<U~HV ~.>W~HX _n,gt<Y~HZ ~.>[~H\ ]N('48]~H^ ^^*L$?_~H` ^^*NDAa~Hb ^^*,<dCc~Hd ^^*Hd;e~Hf Z"FD1g~Hh [.$fd3i~Hj Z"FD1k~Hl [.$fd3m~Hn 2GTBo~Hp >6Fq~Hr _n4fdCs~Ht _n4fdCu~Hv 2FDAw~Hx ^^2FDAy~Hz ^^2FDA{~H| ^^2FDA}~H~ >6E~H@ 0&$?A~HB Z"L$7C~HD [.$lD9E~HF Z"FD1G~HH Z"FD1I~HJ Z"L$7K~HL [.$lD9M~HN Z"FD1O~HP [.$fd3Q~HR Z"FD1S~HT [.$fd3U~HV [.$fd3W~HX \>&5Y~HZ ^^2FDA[~H\ [.$fd3]~H^ \>&5_~H` ^^*GT:a~Hb Z"L$7c~Hd _n,fd;e~Hf 2FDAg~Hh Z"L$7i~Hj [.$lD9k~Hl ]N(*d;m~Hn 0/4Ho~Hp ~.
DAq~Hr  @(DQs~Ht 0&$?u~Hv ~.=w~Hx ]N(/4@y~Hz \>&$7{~H| 0'4@}~H~ 0'4@~H@ .<hMA~HB nDhPTUC~HD nDhPTUE~HF nDhPTUG~HH nDhPTUI~HJ .<hMK~HL .<fdKM~HN .<fdKO~HP 0'4@Q~HR ]N(.$?S~HT ^^*NDAU~HV ^^*NDAW~HX _n,h=Y~HZ _n,h=[~H\ ^^*It<]~H^ _n,i>_~H` 2ItDa~Hb 2ItDc~Hd 0)TBe~Hf ^^*Hd;g~Hh 0(DAi~Hj 0(DAk~Hl ~.$?m~Hn \>&
D9o~Hp ]N(&$7q~Hr ~.$?s~Ht ~.$?u~Hv ~6	4Hw~Hx .<j$Oy~Hz ^^*Hd;{~H| ~6	=Q}~H~ .<j~HB ~6	=QC~HD .<jE~HH \>.>I~HJ \>.>K~HL \>.>M~HN \>&d;O~HP ]N(,=Q~HR ]N(,=S~HT ^^*GT:U~HV \>&6W~HX ]N('48Y~HZ ~6	4H[~H\ .<j$O]~H^ ^^*Hd;_~H` ~6	=Qa~Hb .<jc~Hf ~6	=Qg~Hh .<ji~Hl >6Fm~Hn [.$j$7o~Hp ^^*Hd;q~Hr ~.>s~Ht ^^*J=u~Hv ]N(&$7w~Hx >68RTVy~H| >68RTV}~H@ >68RTVA~HD >68RTVE~HH ^^2JEI~HJ \>.
DAK~HL ]N(&$7M~HN _n,lDAO~HP ~.dCQ~HR ^^*J=S~HT ~.0@$GU~HV ]N('48W~HX ~.>Y~HZ _n,gt<[~H\ ^^*GT:]~H^ ]N(&$7_~H` _n,gt<a~Hb N8(DIc~Hd \>&5e~Hf N8(DIg~Hh .4fdCi~Hj _n,lDAk~Hl ]N(,=m~Hn Z"FD1o~Hp Z"FD1q~Hr Z"L$7s~Ht Z"L$7u~Hv [.$lD9w~Hx ]N(&$7y~Hz _n,gt<{~HU8XuS#Xd
BCD ~ ~ ~B &%f%%%  	B 	B 	B r&c22(S (S 32  (S (S (Sr   