
    PifJ              
          U d dl Z d dlmZ d dlZd dlmZ d dl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        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"d3f         e"dz  f                  e#d4<   d5 eD             Z$d6 Z%d7 Z&ej'        (                    d8          ej'        )                    d9ee$:          d;                         Z*dS )<    N)Callable)product)assert_allclose)special)cython_specialTF)i   
   )g      $g      g      ?g      $@c                      g | ]}t          | S  )complex).0tups     {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/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.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_POINTSr8   s     r   	<genexpr>z(_generate_test_points.<locals>.<genexpr>0  s&      33AQ333333r   )tuplelistr   )	typecodesaxesptss      r   _generate_test_pointsrD   /  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
startswithr5   RuntimeError)namefuncrF   cyfuns       r   test_cython_api_completenessrO   5  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 ]k}t          j                    5  t          j        dt                      || } || }d d d            n# 1 swxY w Y   t          ||| d| d| 	           ld 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   rF   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   ignore )err_msg)pytestxfailmaxrange	enumerateaddrY   rV   r?   sortedrD   warningscatch_warningssimplefilterDeprecationWarningr   )rQ   pyfunccyfuncspecializationsknownfailure
max_paramsvaluesrA   r\   vseenvv	signaturecy_spec_funcrC   ptpyvalcyvalr^   s                     @r   test_cython_apir{   A  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(** * *%h0BCCC$b)* * * * * * * * * * * * * * * E5R2Q2Q)2Q2Qi2Q2QRRRRR	SS Ss   *%FF"F(+  ri   collections.abcr   rb   	itertoolsr   numpy.testingr   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stdtrstdtridfstdtritstruvetandgtklmbdavoigt_profilewofzwright_besselwrightomegaxlog1pyxlogyy0y1ynyvyvezetacowens_tr5   r@   r?   str__annotations__IDSrD   rO   mark	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 ]N('48U}HV ~.>W}HX _n,gt<Y}HZ ^^*GT:[}H\ ]N(&$7]}H^ _n,gt<_}H` N8(DIa}Hb \>&5c}Hd N8(DIe}Hf .4fdCg}Hh _n,lDAi}Hj ]N(,=k}Hl Z"FD1m}Hn Z"FD1o}Hp Z"L$7q}Hr Z"L$7s}Ht [.$lD9u}Hv ]N(&$7w}Hx _n,gt<y}HU8XuS#Xd
BCD } } }@ &%f%%%  	B 	B 	B r&c22(S (S 32 (S (S (Sr   