Ë
    âQ(hA  ã                   óx  — d dl Z d dlZd dlmZ d dlZd dlZd dlmZ d dl	m
Z
 d dl	mZ 	 d dlZd„ Zddd	d
dddœZd„ Zd„ Z ej&                  dd¬«      d„ «       Z e
ed«      ej*                  j-                  d e«       «      ej*                  j.                  d„ «       «       «       Zy# eef$ r  ed«      ZY ŒŠw xY w)é    N)Úuuid4)Úcheck_version)ÚMissingModuleÚcupyc                  ó  — t         j                  ddft         j                  ddft         j                  ddft         j                  ddft         j
                  d	d
ft         j                  j                  ddft         j                  ddft         j                  ddft         j                  ddft         j                  ddft         j                  ddfg} g }| D ]1  \  }}}d|› d�}|j                  D ]  }|j                  |||f«       Œ Œ3 |S )Nzcephes/beta.hz"out0 = xsf::cephes::beta(in0, in1)zbinom.hzout0 = xsf::binom(in0, in1)z	digamma.hzxsf::digamma(in0)zcephes/expn.hz"out0 = xsf::cephes::expn(in0, in1)zhyp2f1.hz&out0 = xsf::hyp2f1(in0, in1, in2, in3)z
lambertw.hz#out0 = xsf::lambertw(in0, in1, in2)zcephes/ellik.hz#out0 = xsf::cephes::ellik(in0, in1)zcephes/ellie.hz#out0 = xsf::cephes::ellie(in0, in1)zcdflib.hz!out0 = xsf::gdtrib(in0, in1, in2)zsici.hzxsf::sici(in0, &out0, &out1)zxsf::shichi(in0, &out0, &out1)z#include <xsf/ú>)ÚscÚbetaÚbinomÚdigammaÚexpnÚhyp2f1Ú_ufuncsÚ	_lambertwÚ	ellipkincÚ	ellipeincÚgdtribÚsiciÚshichiÚtypesÚappend)Úcases_sourceÚcasesÚufuncÚheaderÚroutineÚpreambleÚ	signatures          ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/special/tests/test_xsf_cuda.pyÚget_test_casesr       s  € ä	�‰�/Ð#GÐHÜ	�‰�9Ð;Ð<Ü	�‰�[Ð"5Ð6Ü	�‰�/Ð#GÐHÜ	�‰�JÐ HÐIÜ	�‰×	Ñ	˜|Ð-RÐSÜ	�‰Ð'Ð)NÐOÜ	�‰Ð'Ð)NÐOÜ	�‰�JÐ CÐDÜ	�‰�(Ð:Ð;Ü	�‰�HÐ>Ð?ð€Lð €EØ".ò 9Ñˆˆv�wØ# F 8¨1Ð-ˆØŸ™ò 	9ˆIØ�L‰L˜) X¨wÐ7Õ8ñ	9ð9ð €Ló    Úfloat32Úfloat64Ú	complex64Ú
complex128Úint32Úint64©ÚfÚdÚFÚDÚiÚlc                 ó>  — | j                  d«      \  }}g }g }t        |«      D ]"  \  }}|j                  t        |   › d|› �«       Œ$ t        |«      D ]"  \  }}|j                  t        |   › d|› �«       Œ$ dj	                  |«      }dj	                  |«      }||fS )Nú->z inz outz, )ÚsplitÚ	enumerater   Ú	dtype_mapÚjoin)r   Úin_ÚoutÚ	in_paramsÚ
out_paramsr-   Útypecodes          r   Ú
get_paramsr:   3   s±   € Ø�‰˜tÓ$�H€CˆØ€IØ€JÜ  “~ò 9‰ˆˆ8Ø×ÑœI hÑ/Ð0°°A°3Ð7Õ8ð9ä  “~ò ;‰ˆˆ8Ø×ÑœY xÑ0Ð1°°a°SÐ9Õ:ð;à—	‘	˜)Ó$€IØ—‘˜:Ó&€JØ�jÐ Ð r!   c                 ó  — |j                   |j                  |j                  |j                  |j                  |j
                  dœ}| j                  d«      \  }}g }|D ]'  }|j                  |j                  d||   ¬«      «       Œ) |S )Nr(   r0   é   )Údtype)	r"   r#   r$   r%   r&   r'   r1   r   Úzeros)r   Úxpr3   r5   Ú_Úargsr9   s          r   Úget_sample_inputrB   @   s~   € à�Z‰ZØ�Z‰ZØ�\‰\Ø�]‰]Ø�X‰XØ�X‰Xñ€Ið �_‰_˜TÓ"�F€CˆØ€DØò <ˆØ�‰�B—H‘H˜Q i°Ñ&9�HÓ:Õ;ð<à€Kr!   ÚmoduleT)ÚscopeÚautousec               #   ó  K  — t        j                  «       } t        j                  j	                  dd «      }| t        j                  d<   d –— |�|t        j                  d<   nt        j                  d= t        j                  | «       y ­w)NÚCUPY_CACHE_DIR)ÚtempfileÚmkdtempÚosÚenvironÚgetÚshutilÚrmtree)Útemp_cache_dirÚoriginal_cache_dirs     r   Úmanage_cupy_cacherQ   Q   sl   è ø€ ô ×%Ñ%Ó'€NÜŸ™Ÿ™Ð(8¸$Ó?ÐØ#1„B‡J�JÐÑ ã	àÐ%Ø'9Œ�
‰
Ð#Ò$ä�J‰JÐ'Ð(Ü
‡M�M�.Õ!ùs   ‚B	Bz13.0.0zsignature,preamble,routinec           
      óØ   — dt        «       j                  › �}t        | «      \  }}t        j                  |||||dt        j                  «       › �df¬«      } |t        | t        «      Ž }y )NÚxz--include-path=z
-std=c++17)r   Úoptions)r   Úhexr:   r   ÚElementwiseKernelr	   Ú_get_includerB   )	r   r   r   rQ   Únamer7   r8   Úfuncr@   s	            r   Útest_compiles_in_cupyrZ   b   so   € ð Œu‹w�{‰{ˆmÐ€DÜ& yÓ1Ñ€Iˆzä×!Ñ!ØØØØØØ"¤2§?¡?Ó#4Ð"5Ð6¸ÐEô€Dñ 	Ô˜y¬$Ó/Ð0�Ar!   )rJ   ÚpytestÚscipy.specialÚspecialr	   rM   rH   Úuuidr   Úscipy.special._testutilsr   r   r   ÚImportErrorÚAttributeErrorr    r3   r:   rB   ÚfixturerQ   ÚmarkÚparametrizeÚxslowrZ   © r!   r   ú<module>rg      sÜ   ðÛ 	Û Ý Û Û å å 2Ý 2ð!Ûò
ð0 
Ø	Ø	Ø	Ø	Ø	ñ€	ò
!òð" €‡��h¨Ô-ñ"ó .ð"ñ  ˆt�XÓØ‡�×ÑÐ5±~Ó7GÓHØ‡�×Ññ1ó ó Ió ñ1øðo 	�^Ð$ò !Ù˜Ó ‚Dð!ús   ªB' Â'B9Â8B9