
    Bpj                     `   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        \R4                  R7                  \SS9S 5       r\R4                  R7                  \SS9S 5       rg! , (       d  f       NO= f)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                     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/linalg/tests/test_cython_abi.py_extract_capir   0   sH    F,,224(?::g.FL 5 M    zscipy.linalg.testszcython_abi_signatures.jsonz3cython_blas/cython_lapack ABI depends on ILP64 BLAS)reasonc            
         [         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_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4H

!
!"<
=C3FF&nn.MMD86,)9; \\)MMD8 $+. /%|.0 / 6"8V F!!'*	
 r   c            
         [         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_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6H

!
!">
?C3FF&nn.MMD86,)9; \\)MMD8 $+. /%|.0 / 6":3v;- 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      s:  "       
7#$89&ABUV  $$66 "OO  $../   %%&:;DD 	   +r

2<<>*I , @  
	
2 @  
	
K ,+s   5!D
D-