o
    Ö­j¸J  ã                
   @   sp  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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	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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	j�ej�ddf‘e	j‚ej‚ddf‘e	jƒejƒddf‘e	j„ej…ddf‘e	j†ej‡ddf‘e	jˆejˆddf‘e	j‰ejŠddf‘e	j‹ejŒddf‘e	j�ejŽddf‘e	j�ej�ddf‘e	j�ej�ddf‘e	j‘ej‘d)df‘e	j’ej’d)df‘e	j“ej“ddf‘e	j”ej”ddf‘e	j•ej•d)df‘e	j–ej–d)df‘e	j—ej—ddf‘e	j˜ej˜ddf‘e	j™ej™ddf‘e	jšejšddf‘e	j›ej›ddf‘e	jœejœddf‘e	j�ejžddf‘e	jŸejŸddf‘e	j ej ddf‘e	j¡ej¡ddf‘e	j¢ej¢d'df‘e	j£ej£ddf‘e	j¤ej¤ddf‘e	j¥ej¥d)df‘e	j¦ej¦d)df‘e	j§ej§ddf‘e	j¨ej¨d&df‘e	j©ej©ddf‘e	jªejªddf‘e	j«ej«ddf‘e	j¬ej¬d,df‘e	j­ej­d&df‘e	j®ej®ddf‘e	j¯ej¯ddf‘e	j°ej°ddf‘e	j±ej²ddf‘e	j³ej´ddf‘e	jµej¶ddf‘e	j·ej¸ddf‘e	j¹ejºddf‘e	j»ej¼ddf‘e	j½ej¾ddf‘e	j¿ejÀddf‘e	jÁejÁddf‘e	jÂejÂd-df‘e	jÃejÃd-df‘e	jÄejÄd-df‘e	jÅejÅddf‘e	jÆejÆddf‘e	jÇejÇd.df‘e	jÈejÈd.df‘e	jÉejÉd.df‘e	jÊejÊd.df‘e	jËejËd.df‘e	jÌejÌddf‘e	jÍejÍddf‘e	jÎejÎddf‘e	jÏejÏddf‘e	jÐejÐddf‘e	jÑejÑddf‘e	jÒejÒddf‘e	jÓejÓddf‘e	jÔejÕd.df‘e	jÖej×d/df‘e	jØejØddf‘e	jÙejÚd.d0f‘e	jÛejÜd/d0f‘e	jÝejÞd.d0f‘e	jßejàd/d0f‘e	jáejâddf‘e	jãejäddf‘e	jåejæddf‘e	jçejçd1df‘e	jèejèd1df‘e	jéejéd'df‘e	jêejêddf‘e	jëejëddf‘e	jìejìddf‘e	jíejîd.df‘e	jïejðd/df‘e	jñejñddf‘e	jòejód.d0f‘e	jôejõd/d0f‘e	jöej÷d.d0f‘e	jøejùd/d0f‘e	júejúddf‘e	jûejûddf‘e	jüejüddf‘e	jýejýddf‘e	jþejþddf‘e	jÿejÿddf‘e	�j e�j d2d3f‘e	�je�jd2d3f‘e	�je�jd2d3f‘e	�je�jd2d3f‘e	�je�jddf‘e	�je�jddf‘e	�je�jddf‘e	�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 �e!�e"ee�e"�e#d5f �e#dB f  �e$d6< d7d„ �e D ƒ�Z%d8d9„ �Z&d:d;„ �Z'e�j(�j)e�j(� *d<¡e�j(�j+d=�e �e%d>�d?d@„ ƒƒƒ�Z,dS )Aé    )Ú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   úd/var/www/html/CropPilot/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ÚlDbzMPython version supports negative reals; Cython version doesn't - see gh-21629)Úllddr&   .Ú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_POINTSr6   r   r   r   Ú	<genexpr>/  ó   € z(_generate_test_points.<locals>.<genexpr>)ÚtupleÚlistr   )Ú	typecodesÚaxesÚptsr   r   r   Ú_generate_test_points.  s   rA   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Ú
startswithr4   ÚRuntimeError)ÚnameÚfuncrB   Úcyfunr   r   r   Útest_cython_api_completeness4  s   
ÿ€ùrK   é   Ú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 sŸw   Y  t|||› d	|› d	|› �d
� q‚qbd S )N)Úreasonc                 s   s   � | ]}t |ƒV  qd S r8   )Úlen)r   Úspecr   r   r   r:   I  r;   z"test_cython_api.<locals>.<genexpr>c                 S   s   g | ]}t ƒ ‘qS r   )Úset)r   rB   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<   ÚsortedrA   r   ÚfilterÚDeprecationWarningr   )rM   ÚpyfuncÚcyfuncÚspecializationsÚknownfailureÚ
max_paramsÚvaluesr>   rT   ÚvÚseenÚvvÚ	signatureÚcy_spec_funcr@   ÚptÚsupÚpyvalÚcyvalr   rV   r   Útest_cython_api@  sF   ÿ
ÿ

ý ûòrr   (-  Úcollections.abcr   rZ   Ú	itertoolsr   Únumpy.testingr   r   Úscipyr   Úscipy.specialr   Úbint_pointsÚ
int_pointsÚreal_pointsÚcomplex_pointsrS   r9   Ú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_tr4   r=   r<   ÚstrÚ__annotations__ÚIDSrA   rK   ÚmarkÚthread_unsafeÚ	fail_slowÚparametrizerr   r   r   r   r   Ú<module>   s   ÷÷ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ0Ð1Ï2Î3Í4Ì5Ë6Ê7É8È
9ÿÇ
;ÿÅ
=ÿÃ
?ÿÁ
Aÿ¿C½D¼
Eÿ»
Gÿ¹I·J¶
Kÿµ
Mÿ³
Oÿ±Q¯R®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 �Ç : �Æ ; �Å < �Ä = �Ã > �Â ? �Á 
@ÿ �À B �¾ 
Cÿ �½ E �» F �º G �¹ H �¸ I �· J �¶ K �µ L �´ M �³ N �² O �± P �° Q �¯ 
Rÿ �® T �¬ 
Uÿ �« W �© X �¨ Y �§ Z �¦ [ �¥ \ �¤ ]ÿ �£ _ÿ �¡ aÿ �Ÿ cÿ �� e �› f �š g �™ h �˜ i �— j �– k �• l �” m �“ n �’ o �‘ p �� q �� r �Ž s �� t �Œ u �‹ v �Š w �‰ x �ˆ y �‡ z �† { �… | �„ } �ƒ ~ �6‚  


