Ë
    0Ò^jÌ  ã                   óh  — d Z ddlZddlZddlZddlZddlZddlZ ej                  d¬«      d   d   d   Zej                  j                  Zej                  e_        ej                  ge_        d„ Zej"                  j%                  d	«      j'                  d
«      Zej"                  j+                  e«      5 Z ej.                  ej1                  «       «      Zddd«       ej4                  j7                  ed¬«      d„ «       Zej4                  j7                  ed¬«      d„ «       Zy# 1 sw Y   ŒPxY w)a»  
Regression test for the cython_blas / cython_lapack 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                 ó’   — i }| j                   j                  «       D ]'  \  }}t        |«      }|€Œ|j                  d«      ||<   Œ) |S )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        úm/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_cython_abi.pyÚ_extract_capir   0   sQ   € à€FØ×,Ñ,×2Ñ2Ó4ò /‰ˆˆgÜ Ó(ˆØ‰?ØŸ:™: gÓ.ˆF�4ŠLð/ð €Mó    zscipy.linalg.testszcython_abi_signatures.jsonz3cython_blas/cython_lapack ABI depends on ILP64 BLAS)Úreasonc            
      ó€  — t         d   } t        j                  d«      }t        |«      }g }| j	                  «       D ]H  \  }}||vr|j                  d|›d|›d�«       Œ#||   |k7  sŒ,|j                  d|›d|›d||   ›�«       ŒJ |r6dj                  |«      }t        j                  d	t        |«      › d
|› �«       yy)z:No existing cython_blas signature may change or disappear.zscipy.linalg.cython_blasú	REMOVED  ú (was ú)ú	CHANGED  ú
  expected: ú
  actual:   ú
z*scipy.linalg.cython_blas.__pyx_capi__ has ú ABI breakage(s):
N©
Ú	_EXPECTEDÚ	importlibÚimport_moduler   r   ÚappendÚjoinÚpytestÚfailÚlen©ÚexpectedÚmodÚactualÚerrorsr   Úexpected_sigÚjoineds          r   Útest_cython_blas_abi_stabilityr-   A   sð   € ô Ð3Ñ4€HÜ
×
!Ñ
!Ð"<Ó
=€CÜ˜3Ó€FØ€FØ&Ÿn™nÓ.ò 
ÑˆˆlØ�vÑØ�M‰MØ˜D˜8 6¨,Ð)9¸Ð;õð �D‰\˜\Ó)Ø�M‰MØ˜D˜8ð $Ø+Ð.ð /Ø% d™|Ð.ð0õð
ñ Ø—‘˜6Ó"ˆÜ�‰Ø8¼¸V»¸ð F!Ø!' ð*õ	
ð r   c            
      ó€  — t         d   } t        j                  d«      }t        |«      }g }| j	                  «       D ]H  \  }}||vr|j                  d|›d|›d�«       Œ#||   |k7  sŒ,|j                  d|›d|›d||   ›�«       ŒJ |r6dj                  |«      }t        j                  d	t        |«      › d
|› �«       yy)z<No existing cython_lapack signature may change or disappear.zscipy.linalg.cython_lapackr   r   r   r   r   r   r   z,scipy.linalg.cython_lapack.__pyx_capi__ has r   Nr   r&   s          r   Ú test_cython_lapack_abi_stabilityr/   ^   sð   € ô Ð5Ñ6€HÜ
×
!Ñ
!Ð">Ó
?€CÜ˜3Ó€FØ€FØ&Ÿn™nÓ.ò 
ÑˆˆlØ�vÑØ�M‰MØ˜D˜8 6¨,Ð)9¸Ð;õð �D‰\˜\Ó)Ø�M‰MØ˜D˜8ð $Ø+Ð.ð /Ø% d™|Ð.ð0õð
ñ Ø—‘˜6Ó"ˆÜ�‰Ø:¼3¸v»;¸-ð H!Ø!' ð*õ	
ð 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   ÚmarkÚskipifr-   r/   © r   r   ú<module>rH      sE  ðñó" Û Û Û ã Û ð €E×Ñ˜7Ô#Ð$8Ñ9¸&ÑAÐBUÑVð ð ×$Ñ$×6Ñ6Ð Ø"ŸO™OÐ Ô Ø$×.Ñ.Ð/Ð Ô òð ×Ñ×%Ñ%Ð&:Ó;×DÑDØ ó€	ð ×Ñ× Ñ  Ó+ð +¨rØ�—
‘
˜2Ÿ<™<›>Ó*€I÷+ð ‡�×ÑØØ@ð ó ñ
ó	ð
ð2 ‡�×ÑØØ@ð ó ñ
ó	ñ
÷K+ð +ús   Â8!D(Ä(D1