Ë
    0Ò^jŸ  ã                   ój   — d dl Zd dlmZmZ d dlmc mZ  G d„ d«      Z	 G d„ d«      Z
 G d„ d«      Zy)	é    N)Úassert_allcloseÚassert_equalc                   ó   — e Zd ZdZd„ Zd„ Zy)ÚTestBlasIntz:Tests for blas_int type used in cython_blas/cython_lapack.c                 óÜ   — ddl m} t        j                  «       }|d   d   d   }|r|dk(  sJ d|› d�«       ‚|d	k(  sJ d
|› d�«       ‚t        j                  «       }|r|dk(  sJ ‚y|dk(  sJ ‚y)z5Verify blas_int size matches the build configuration.r   )ÚCONFIGzBuild DependenciesÚblaszcython blas ilp64é   zILP64 build but blas_int is z bytesé   zLP64 build but blas_int is )r
   r   )r   r   N)Úscipy.__config__r   r	   Ú_blas_int_sizeÚ_blas_bint_bint_sizes)Úselfr   ÚsizeÚcython_blas_ilp64Ú
bint_sizess        ún/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_cython_blas.pyÚtest_blas_int_sizezTestBlasInt.test_blas_int_size
   s’   € å+Ü×"Ñ"Ó$ˆØ"Ð#7Ñ8¸Ñ@ÐATÑUÐÙØ˜1’9ÐIÐ <¸T¸FÀ&ÐIÓI�9à˜1’9ÐHÐ ;¸D¸6ÀÐHÓH�9ô ×/Ñ/Ó1ˆ
ÙØ Ò'Ð'Ñ'à Ò'Ð'Ñ'ó    c                 óJ  — t        j                  dt         j                  ¬«      }t        j                  dt         j                  ¬«      j	                  d«      }t        j
                  dt         j                  ¬«      }t        j                  d||d|«       t        ||«       y)z?Test dgemm works correctly - exercises blas_int for dimensions.é   ©Údtypeé	   )r   r   ç      ð?ç        N)	ÚnpÚeyeÚfloat64ÚarangeÚreshapeÚemptyr	   Ú_test_dgemmr   ©r   ÚaÚbÚcs       r   Ú#test_dgemm_with_blas_int_dimensionsz/TestBlasInt.test_dgemm_with_blas_int_dimensions   si   € ä�F‰F�1œBŸJ™JÔ'ˆÜ�I‰I�aœrŸz™zÔ*×2Ñ2°6Ó:ˆÜ�H‰H�V¤2§:¡:Ô.ˆÜ×Ñ˜˜Q  2 qÔ)Ü˜˜1Õr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r(   © r   r   r   r      s   „ ÙDò(ó"r   r   c                   ó   — e Zd Zd„ Zd„ Zy)Ú	TestDGEMMc                 óv  — t        j                  dt         j                  ¬«      j                  d«      d d…d d…f   }t        j                  ddt         j                  ¬«      j                  d«      d d…d d…f   }t        j                  dt         j                  ¬«      d d…d d…f   }t        j                  d	||d
|«       t        ||j                  |«      «       t        j                  d	|j                  |d
|«       t        ||j                  j                  |«      «       t        j                  d	||j                  d
|«       t        ||j                  |j                  «      «       t        j                  d	|j                  |j                  d
|«       t        ||j                  j                  |j                  «      «       t        j                  d	||d
|j                  «       t        ||j                  |«      j                  «       t        j                  d	|j                  |d
|j                  «       t        ||j                  j                  |«      j                  «       t        j                  d	||j                  d
|j                  «       t        ||j                  |j                  «      j                  «       t        j                  d	|j                  |j                  d
|j                  «       t        ||j                  j                  |j                  «      j                  «       y )Né   r   ©r   r   é   é   é   )r   r   ©r3   r   r   r   ©
r   r    r   r!   r"   r	   r#   r   ÚdotÚTr$   s       r   Útest_transposeszTestDGEMM.test_transposes&   s)  € ä�I‰I�b¤§
¡
Ô+×3Ñ3°FÓ;¸B¸Q¸B¸rÀ¸r¸EÑBˆÜ�I‰I�a˜¤2§:¡:Ô.×6Ñ6°vÓ>¸rÀ¸rÀ"À1À"¸uÑEˆÜ�H‰H�V¤2§:¡:Ô.¨r°¨r°"°1°"¨uÑ5ˆä×Ñ˜˜Q  2 qÔ)Ü˜˜1Ÿ5™5 ›8Ô$ä×Ñ˜˜QŸS™S ! R¨Ô+Ü˜˜1Ÿ3™3Ÿ7™7 1›:Ô&ä×Ñ˜˜Q §¡ R¨Ô+Ü˜˜1Ÿ5™5 §¡›:Ô&ä×Ñ˜˜QŸS™S !§#¡# r¨1Ô-Ü˜˜1Ÿ3™3Ÿ7™7 1§3¡3›<Ô(ä×Ñ˜˜Q  2 q§s¡sÔ+Ü˜˜1Ÿ5™5 ›8Ÿ:™:Ô&ä×Ñ˜˜QŸS™S ! R¨¯©Ô-Ü˜˜1Ÿ3™3Ÿ7™7 1›:Ÿ<™<Ô(ä×Ñ˜˜Q §¡ R¨¯©Ô-Ü˜˜1Ÿ5™5 §¡›:Ÿ<™<Ô(ä×Ñ˜˜QŸS™S !§#¡# r¨1¯3©3Ô/Ü˜˜1Ÿ3™3Ÿ7™7 1§3¡3›<Ÿ>™>Õ*r   c                 óh  — t        j                  dt         j                  ¬«      j                  d«      }t        j                  ddt         j                  ¬«      j                  d«      }t        j                  dt         j                  ¬«      }t        j                  d||d	|«       t        ||j                  |«      «       t        j                  d|j                  |j                  d	|j                  «       t        ||j                  j                  |j                  «      j                  «       y )
Né   r   )r   r3   iúÿÿÿr3   r6   r2   r   r   r7   r$   s       r   Útest_shapeszTestDGEMM.test_shapesD   s¾   € Ü�I‰I�aœrŸz™zÔ*×2Ñ2°6Ó:ˆÜ�I‰I�b˜!¤2§:¡:Ô.×6Ñ6°vÓ>ˆÜ�H‰H�V¤2§:¡:Ô.ˆä×Ñ˜˜Q  2 qÔ)Ü˜˜1Ÿ5™5 ›8Ô$ä×Ñ˜˜QŸS™S !§#¡# r¨1¯3©3Ô/Ü˜˜1Ÿ3™3Ÿ7™7 1§3¡3›<Ÿ>™>Õ*r   N)r)   r*   r+   r:   r=   r-   r   r   r/   r/   $   s   „ ò+ó<	+r   r/   c                   ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)ÚTestWfuncPointersz› Test the function pointers that are expected to fail on
    Mac OS X without the additional entry statement in their definitions
    in fblas_l1.pyf.src. c           	      ó  — t        j                  g d¢t         j                  «      }t        j                  g d¢t         j                  «      }t        t	        j
                  ||«      d«       t        t	        j                  ||«      d«       t        t	        j                  |«      d«       t        t	        j                  |«      d«       t        t	        j                  |«      d«       t        t	        j
                  |d d d…   |d d d…   «      d	«       t        t	        j                  |d d d…   |d d d…   «      d
«       t        t	        j                  |d d d…   «      d«       t        t	        j                  |d d d…   «      d«       y )N)ù      à?      ð?ù      Ð?      Ø¿y      )@      À)yš™™™™™é?       @ù      ì?      ä¿ù      ð¿       @yI!  ™¥1ÀŸÔÿ?3_5@y4 €fvÀa+ ÀÌP>@r   g      2@gKg àú[*@r3   yI!  ™2ÀŸÔÿ?335@y4 €ffÀa+ ÀÌÌ>@g      2@g8f €X*@)r   ÚarrayÚ	complex64r   r	   Ú_test_cdotcÚ_test_cdotur   Ú_test_icamaxÚ_test_scasumÚ_test_scnrm2©r   ÚcxÚcys      r   Útest_complex_argsz#TestWfuncPointers.test_complex_argsT   s/  € ä�X‰XÒ9¼2¿<¹<ÓHˆÜ�X‰XÒ9¼2¿<¹<ÓHˆäœ×(Ñ(¨¨RÓ0Ø5ô	7äœ×(Ñ(¨¨RÓ0Ø5ô	7ô 	”T×&Ñ& rÓ*¨AÔ.äœ×)Ñ)¨"Ó-¨vÔ6Üœ×)Ñ)¨"Ó-¨}Ô=äœ×(Ñ(¨©C¨a¨C©°"±S°q°S±'Ó:Ø5ô	7äœ×(Ñ(¨©C¨a¨C©°"±S°q°S±'Ó:Ø5ô	7äœ×)Ñ)¨"©S¨q¨S©'Ó2°CÔ8Üœ×)Ñ)¨"©S¨q¨S©'Ó2°MÕBr   c           	      ó‚  — t        j                  g d¢t         j                  «      }t        j                  g d¢t         j                  «      }t        t	        j
                  |«      d«       t        t	        j                  ||«      d«       t        t	        j                  |«      d«       t        t	        j
                  |d d d…   «      d«       t        t	        j                  |d d d…   |d d d…   «      d«       t        t	        j                  |d d d…   «      d	«       t        t	        j                  |«      d
«       y )N©g      @éýÿÿÿg      à¿©r3   r4   g      à?ç      !@ç      @çò `Îh@r3   ç      @ç     €#@çJ @‰@r4   )
r   rE   r   r   r	   Ú_test_dasumÚ
_test_ddotÚ_test_dnrm2r   Ú_test_idamax©r   ÚxÚys      r   Útest_double_argsz"TestWfuncPointers.test_double_argsj   sÝ   € ä�H‰H’]¤B§J¡JÓ/ˆÜ�H‰H’Z¤§¡Ó,ˆäœ×(Ñ(¨Ó+¨SÔ1ÜœŸ™¨¨1Ó-¨tÔ4Üœ×(Ñ(¨Ó+¨]Ô;äœ×(Ñ(¨©3¨Q¨3©Ó0°#Ô6ÜœŸ™¨©#¨A¨#©°±#°A°#±Ó7¸Ô>Üœ×(Ñ(¨©3¨Q¨3©Ó0°,Ô?ä”T×&Ñ& qÓ)¨1Õ-r   c           	      ó‚  — t        j                  g d¢t         j                  «      }t        j                  g d¢t         j                  «      }t        t	        j
                  |«      d«       t        t	        j                  |«      d«       t        t	        j                  ||«      d«       t        t	        j                  |«      d«       t        t	        j                  |d d d…   «      d«       t        t	        j                  |d d d…   |d d d…   «      d	«       t        t	        j                  |d d d…   «      d
«       y )NrQ   rS   r4   rT   rU   rV   r3   rW   rX   rY   )
r   rE   Úfloat32r   r	   Ú_test_isamaxr   Ú_test_sasumÚ
_test_sdotÚ_test_snrm2r^   s      r   Útest_float_argsz!TestWfuncPointers.test_float_argsy   sÝ   € ä�H‰H’]¤B§J¡JÓ/ˆÜ�H‰H’Z¤§¡Ó,ˆä”T×&Ñ& qÓ)¨1Ô-äœ×(Ñ(¨Ó+¨SÔ1ÜœŸ™¨¨1Ó-¨tÔ4Üœ×(Ñ(¨Ó+¨]Ô;äœ×(Ñ(¨©3¨Q¨3©Ó0°#Ô6ÜœŸ™¨©#¨A¨#©°±#°A°#±Ó7¸Ô>Üœ×(Ñ(¨©3¨Q¨3©Ó0°,Õ?r   c           	      ó
  — t        j                  g d¢t         j                  «      }t        j                  g d¢t         j                  «      }t        t	        j
                  |«      d«       t        t	        j                  ||«      d«       t        t	        j                  ||«      d«       t        t	        j                  |d d d…   |d d d…   «      d«       t        t	        j                  |d d d…   |d d d…   «      d«       y )	N)rA   rB   y      *@      À)y      ì?       @rC   rD   r   y     2À     L6@y     PÀ     d?@r3   y     �2À      6@y     @À     à?@)	r   rE   Ú
complex128r   r	   Ú_test_izamaxr   Ú_test_zdotcÚ_test_zdoturL   s      r   Útest_double_complex_argsz*TestWfuncPointers.test_double_complex_argsˆ   sÀ   € ä�X‰XÒ8¼"¿-¹-ÓHˆÜ�X‰XÒ;¼R¿]¹]ÓKˆä”T×&Ñ& rÓ*¨AÔ.äœ×(Ñ(¨¨RÓ0Ð2GÔHÜœ×(Ñ(¨¨RÓ0Ð2FÔGäœ×(Ñ(¨©C¨a¨C©°"±S°q°S±'Ó:Ð<LÔMÜœ×(Ñ(¨©C¨a¨C©°"±S°q°S±'Ó:¸OÕLr   N)r)   r*   r+   r,   rO   ra   rh   rn   r-   r   r   r?   r?   O   s   „ ñòCò,.ò@óMr   r?   )Únumpyr   Únumpy.testingr   r   Úscipy.linalg.cython_blasÚlinalgÚcython_blasr	   r   r/   r?   r-   r   r   ú<module>rt      s6   ðÛ ÷)ç 'Ð '÷ñ ÷:)+ñ )+÷VDMò DMr   