
    tKg                     V    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
y)    N)assert_allcloseassert_equalc                       e Zd Zd Zd Zy)	TestDGEMMc                    t        j                  dd      j                  d      d dd df   }t        j                  ddd      j                  d      d dd df   }t        j                  d	      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   ddtype               )r   r   r   r         ?        	nparangereshapeemptyblas_test_dgemmr   dotTselfabcs       g/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/linalg/tests/test_cython_blas.pytest_transposeszTestDGEMM.test_transposes   s   IIb$,,V4RaRU;IIa3'//72A2>HHVRaRU#Q2q)1558$QSS!R+133771:&QR+155:&QSS!##r1-13377133<(Q2qss+1558::&QSS!R-133771:<<(QR-155:<<(QSS!##r133/13377133<>>*    c                    t        j                  dd      j                  d      }t        j                  ddd      j                  d      }t        j                  d      }t	        j
                  d	||d
|       t        ||j                  |             t	        j
                  d	|j                  |j                  d
|j                         t        ||j                  j                  |j                        j                         y )N   r	   r
   )r   r   ir   r   r   r   r   r   r   s       r#   test_shapeszTestDGEMM.test_shapes&   s    IIas#++F3IIb!3'//7HHVQ2q)1558$QSS!##r133/13377133<>>*r%   N)__name__
__module____qualname__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 [*@r   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_args6   s/   XX92<<HXX92<<H((R05	7((R05	7 	T&&r*A.))"-v6))"-}=((CaC"SqS':5	7((CaC"SqS':5	7))"SqS'2C8))"SqS'2M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      ࿩r   r   g      ?      !@      @ `h@r         @     #@J @@r   )
r   r4   float64r   r   _test_dasum
_test_ddot_test_dnrm2r   _test_idamaxr   xys      r#   test_double_argsz"TestWfuncPointers.test_double_argsL   s    HH]BJJ/HHZ,((+S11-t4((+];((3Q30#6#A##A#7>((3Q3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 )Nr@   rB   r   rC   rD   rE   r   rF   rG   rH   )
r   r4   float32r   r   _test_isamaxr   _test_sasum
_test_sdot_test_snrm2rN   s      r#   test_float_argsz!TestWfuncPointers.test_float_args[   s    HH]BJJ/HHZ,T&&q)1-((+S11-t4((+];((3Q30#6#A##A#7>((3Q3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)r0   r1   y      *@      )y      ?       @r2   r3   r   y     2     L6@y     P     d?@r   y     2      6@y     @     ?@)	r   r4   
complex128r   r   _test_izamaxr   _test_zdotc_test_zdotur;   s      r#   test_double_complex_argsz*TestWfuncPointers.test_double_complex_argsj   s    XX8"--HXX;R]]KT&&r*A.((R02GH((R02FG((CaC"SqS':<LM((CaC"SqS':OLr%   N)r)   r*   r+   __doc__r>   rQ   rX   r^   r,   r%   r#   r.   r.   1   s    C,.@Mr%   r.   )numpyr   numpy.testingr   r   scipy.linalg.cython_blaslinalgcython_blasr   r   r.   r,   r%   r#   <module>re      s,    ) ' ')+ )+VDM DMr%   