ó
    Cpˆj„  ã                   óæ  • S r SSKrSSKrSSKrSSKrSSKrSSKr\R                  " SS9S   S   S   r\R                  R                  r\R                  \l        \R                  /\l        S r\R"                  R%                  S	5      R'                  S
5      r\R"                  R+                  \5       r\R.                  " \R1                  5       5      rSSS5        S rg! , (       d  f       N= f)a®  
Regression test for the cython_special binary interface.

The __pyx_capi__ dict of each module contains PyCapsule objects whose
*name* string encodes the C-level function signature that Cython checks
at import time when another module does ``cimport``.  Any change to
those strings is a binary incompatibility that breaks every downstream
package (e.g., scikit-learn, statsmodels) compiled against the previous release,
without any compile-time warning.

The expected signatures are stored in cython_abi_signatures.json.
The test fails if:
  * an existing name disappears, or
  * an existing name's signature string changes.
Adding new names is explicitly allowed (it is not a break).
é    NÚdicts)ÚmodezBuild DependenciesÚblaszcython blas ilp64c                 ó–   • 0 nU R                   R                  5        H(  u  p#[        U5      nUc  M  UR                  S5      X'   M*     U$ )z@Return {name: signature} for every entry in module.__pyx_capi__.zutf-8)Ú__pyx_capi__ÚitemsÚ_get_capsule_nameÚdecode)ÚmoduleÚresultÚnameÚcapsuleÚraws        Ú_/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/scipy/special/tests/test_cython_abi.pyÚ_extract_capir   0   sH   € à€FØ×,Ñ,×2Ñ2Ö4‰ˆÜ Ó(ˆØ‹?ØŸ:™: gÓ.ˆF‹Lñ 5ð €Mó    zscipy.special.testszcython_abi_signatures.jsonc            
      óž  • [         S   n [        R                  " S5      n[        U5      n/ nU R	                  5        HO  u  pEXB;  a  UR                  SU< SU< S35        M&  X$   U:w  d  M0  UR                  SU< SU< SX$   < 35        MQ     U(       a7  SR                  U5      n[        R                  " S	[        U5       S
U 35        gg)z=No existing cython_special signature may change or disappear.zscipy.special.cython_specialz	REMOVED  z (was Ú)z	CHANGED  z
  expected: z
  actual:   Ú
z.scipy.special.cython_special.__pyx_capi__ has z ABI breakage(s):
N)
Ú	_EXPECTEDÚ	importlibÚimport_moduler   r   ÚappendÚjoinÚpytestÚfailÚlen)ÚexpectedÚmodÚactualÚerrorsr   Úexpected_sigÚjoineds          r   Ú!test_cython_special_abi_stabilityr$   A   sá   € äÐ7Ñ8€HÜ
×
!Ò
!Ð"@Ó
A€CÜ˜3Ó€FØ€FØ&Ÿn™nÖ.ÑˆØÓØM‰MØ˜D™8 6¨,Ñ)9¸Ð;öð ‰\˜\Õ)ØM‰MØ˜D™8ð $Ø+Ñ.ð /Ø%™|Ñ.ð0öñ /ö Ø—‘˜6Ó"ˆÜŠØ<¼SÀ»[¸Mð J!Ø!' ð*õ	
ð r   )Ú__doc__Úctypesr   Úimportlib.resourcesÚjsonr   ÚscipyÚshow_configÚCYTHON_BLAS_ILP64Ú	pythonapiÚPyCapsule_GetNamer	   Úc_char_pÚrestypeÚ	py_objectÚargtypesr   Ú	resourcesÚfilesÚjoinpathÚ	_sig_fileÚas_fileÚ_fÚloadsÚ	read_textr   r$   © r   r   Ú<module>r;      sâ   ðñó" Û Û Û ã Û ð 
×Ò˜7Ñ#Ð$8Ñ9¸&ÑAÐBUÑVð ð ×$Ñ$×6Ñ6Ð Ø"ŸO™OÐ Ô Ø$×.Ñ.Ð/Ð Ô òð ×Ñ×%Ñ%Ð&;Ó<×EÑEØ ó€	ð ×Ñ× Ñ  Ô+¨rØ—
’
˜2Ÿ<™<›>Ó*€I÷ ,ó
÷	 ,Õ+ús   Â5!C"Ã"
C0