o
    4BiI                  
   @  sV  U d dl mZ 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d eed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j0ej0ddfej1ej1ddfej2ej2ddfej3ej3ddfej4ej4ddfej5ej5ddfej6ej6ddfej7ej7ddfej8ej8ddfej9ej9ddfej:ej:ddfej;ej;ddfej<ej<ddfej=ej=ddfej>ej>ddfej?ej@ddfejAejAddfejBejBddfejCejCddfejDejDddfejEejEd dfejFejFd dfejGejGd dfejHejHd!dfejIejIddfejJejJddfejKejKddfejLejLddfejMejMddfejNejNddfejOejOddfejPejPd"dfejQejQd"d#fejRejRd"d#fejSejSd"d#fejTejTd$d#fejUejUd$d#fejVejVd%dfejWejWd%dfejXejXd&d#fejYejYd"d#fejZejZd"dfej[ej[d"dfej\ej\d"d#fej]ej]d&d#fej^ej^d"dfej_ej_ddfej`ej`ddfejaejaddfejbejbddfejcejcd'dfejdejdddfejeejed(dfejfejfddfejgejgddfejhejhddfejiejiddfejjejjddfejkejlddfejmejmddfejnejnddfejoejoddfejpejpddfejqejqddfejrejrddfejsejsddfejtejtddfejuejuddfejvejvddfejwejwddfejxejxddfejyejyd)dfejzejzd)dfej{ej{d)dfej|ej|d)dfej}ej}ddfej~ej~d*dfejejd+dfejejd,dfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejd*dfejejd*dfejejddfejejddfejejd*dfejejd*dfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejd(dfejejddfejejddfejejd*dfejejd*dfejejddfejejd'dfejejddfejejddfejejd-dfejejd'dfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejd.dfejejd.dfejejd.dfejejddfejejddfejejd/dfejejd/dfejejd/dfejejd/dfejejd/dfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejd/dfejejd0dfejejddfejejd/d1fejejd0d1fejejd/d1fejejd0d1fejejddfejejddfejejddfejejd2dfejejd2dfejejd(dfejejddfejejddfejejddfejejd/dfejejd0dfejejddfejejd/d1fejejd0d1fejejd/d1fejejd0d1fejejddfejejddfejejddfe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d3dfejejd3d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d4dfejejddfejejddfejejddfejejddfejejddfejejddfejejddfejejd-dfejejddfejejd-dfejejddfejejddfejejddfejejddfejejd(dfejej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#d5e$d6< d7d e#D Z%d8d9 Z&d:d; Z'ej(j)d<e#e%d=d>d? Z*dS )@    )annotations)CallableN)product)assert_allclosesuppress_warnings)special)cython_specialTF)i   
   )g      $g      g      ?g      $@c                 C  s   g | ]}t | qS  )complex).0tupr   r   g/var/www/html/Trade-python/venv/lib/python3.10/site-packages/scipy/special/tests/test_cython_special.py
<listcomp>   s    r      )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lDb)llddr'   z<list[tuple[Callable, Callable, tuple[str, ...], str | None]]PARAMSc                 C  s   g | ]}|d  j qS )r   )__name__r   xr   r   r   r   -  s    c                 C  s"   t dd | D }tt| }|S )Nc                 s  s    | ]}t | V  qd S N)TEST_POINTSr7   r   r   r   	<genexpr>1      z(_generate_test_points.<locals>.<genexpr>)tuplelistr   )	typecodesaxesptsr   r   r   _generate_test_points0  s   rB   c                  C  sZ   t tD ]&} tt| }t|r*| ds*tD ]\}}}}||u r" nqt|  dqd S )N_z missing from tests!)dirr   getattrcallable
startswithr5   RuntimeError)namefuncrC   cyfunr   r   r   test_cython_api_completeness6  s   
rL   param)idsc              
     sn  | \}}}}|rt j|d tdd |D }dd t|D }|D ]}t|D ]\}}	|| |	 q(q"t }
dgt|  t|D ]\}}	tt	|	}||
v rRqCt|	dk |< |
| qC|D ]R} fddt|D }|rx|t| }nd }|}t
|}|D ]1}t }|t || }|| }W d    n1 sw   Y  t||| d	| d	| d
 qqbd S )N)reasonc                 s  s    | ]}t |V  qd S r9   )len)r   specr   r   r   r;   I  r<   z"test_cython_api.<locals>.<genexpr>c                 S  s   g | ]}t  qS r   )set)r   rC   r   r   r   r   J  s    z#test_cython_api.<locals>.<listcomp>Fr
   c                   s    g | ]\}} | rt | qS r   )CYTHON_SIGNATURE_MAP)r   jcodeis_fused_coder   r   r   Z  s     )err_msg)pytestxfailmaxrange	enumerateaddrR   rP   r=   sortedrB   r   filterDeprecationWarningr   )rM   pyfunccyfuncspecializationsknownfailure
max_paramsvaluesr?   rT   vseenvv	signaturecy_spec_funcrA   ptsuppyvalcyvalr   rV   r   test_cython_apiB  sF   


 rr   (+  
__future__r   typingr   rZ   	itertoolsr   numpy.testingr   r   scipyr   scipy.specialr   bint_points
int_pointsreal_pointscomplex_pointsrS   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btdtrbtdtri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	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_tr5   __annotations__IDSrB   rL   markparametrizerr   r   r   r   r   <module>   s"   	
 !"#$%&'()*+,-./0123456789:
;
=
?
A
CEF
G
IKL
M
O
QSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                 	  
                                               !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?  @  
A  C  
D  F  G  H  I  J  K  L  M  N  O  P  Q  R  
S  U  
V  X  Y  Z  [  \  ]  ^  `  b  d  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~     

