
    -i5              	       |   S SK rS SKrS SKJrJrJrJrJrJ	r	J
r
JrJrJrJrJrJr  S SKJr  S r\R(                  S\R*                  S0r\R.                  S\R0                  S0rS	 r\R6                  R9                  S
\R(                  \R*                  /5      S 5       r\R6                  R9                  S
\R(                  \R*                  /5      S 5       r\R6                  R9                  S
\R(                  \R*                  /5      S 5       r\R6                  R9                  S
\R(                  \R*                  /5      S 5       r \R6                  R9                  S
\R(                  \R*                  /5      S 5       r!\R6                  R9                  S
\R(                  \R*                  /5      S 5       r"\R6                  R9                  S
\R(                  \R*                  /5      S 5       r#\R6                  R9                  S
\R(                  \R*                  /5      S 5       r$\R6                  R9                  S
\R(                  \R*                  /5      \R6                  R9                  S\\RJ                  4\RL                  \RN                  4/SS/S9\R6                  R9                  S\R.                  \R0                  /SS/S9S 5       5       5       r(\R6                  R9                  S
\R(                  \R*                  /5      \R6                  R9                  S\R.                  \R0                  /SS/S9S 5       5       r)\R6                  R9                  S
\R(                  \R*                  /5      \R6                  R9                  S\\RJ                  4\RL                  \RN                  4/SS/S9\R6                  R9                  S\\RJ                  4\RL                  \RN                  4/SS/S9\R6                  R9                  S\R.                  \R0                  /SS/S9S 5       5       5       5       r*g)     N)
BLAS_Order
BLAS_Trans_asum_memview_axpy_memview_copy_memview_dot_memview_gemm_memview_gemv_memview_ger_memview_nrm2_memview_rot_memview_rotg_memview_scal_memview)assert_allclosec                     [         R                  " S5      nU [        R                  :X  a  UR                  $ U [        R
                  :X  a  UR                  $ g )Ncython)pytestimportorskipnpfloat32floatfloat64double)dtyper   s     W/var/www/html/venv/lib/python3.13/site-packages/sklearn/utils/tests/test_cython_blas.py_numpy_to_cythonr      sC      *F

||	"**	}} 
    gư>g-q=CFc                     U $ )N )xs    r   _no_opr#   "   s    Hr   r   c                 6   [         [        U 5         n[        R                  R	                  S5      nUR                  S5      R                  U SS9nUR                  S5      R                  U SS9nUR                  U5      nU" X45      n[        Xe[        U    S9  g Nr   
   Fcopyrtol)
r   r   r   randomRandomStaterandom_sampleastypedotr   RTOL)r   r/   rngr"   yexpectedactuals          r   test_dotr5   &   s    
'.
/C
))


"C"$$U$7A"$$U$7AuuQxHYFF4;7r   c                    [         [        U 5         n[        R                  R	                  S5      nUR                  S5      R                  U SS9n[        R                  " U5      R                  5       nU" U5      n[        XT[        U    S9  g r%   )r   r   r   r+   r,   r-   r.   abssumr   r0   )r   asumr1   r"   r3   r4   s         r   	test_asumr:   4   sp    )%01D
))


"C"$$U$7Avvay}}H!WFF4;7r   c                 (   [         [        U 5         n[        R                  R	                  S5      nUR                  S5      R                  U SS9nUR                  S5      R                  U SS9nSnXS-  U-   nU" XSU5        [        XF[        U    S9  g Nr   r&   Fr'         @r)   )	r   r   r   r+   r,   r-   r.   r   r0   )r   axpyr1   r"   r2   alphar3   s          r   	test_axpyr@   A   s    )%01D
))


"C"$$U$7A"$$U$7AEy1}H1Ad5k2r   c                    [         [        U 5         n[        R                  R	                  S5      nUR                  S5      R                  U SS9n[        R                  R                  U5      nU" U5      n[        XT[        U    S9  g r%   )r   r   r   r+   r,   r-   r.   linalgnormr   r0   )r   nrm2r1   r"   r3   r4   s         r   	test_nrm2rE   P   so    )%01D
))


"C"$$U$7Ayy~~a H!WFF4;7r   c                 "   [         [        U 5         n[        R                  R	                  S5      nUR                  S5      R                  U SS9n[        R                  " U5      nUR                  5       nU" X45        [        XE[        U    S9  g r%   )r   r   r   r+   r,   r-   r.   
empty_liker(   r   r0   )r   r(   r1   r"   r2   r3   s         r   	test_copyrH   ]   st    )%01D
))


"C"$$U$7A
aAvvxHJAd5k2r   c                     [         [        U 5         n[        R                  R	                  S5      nUR                  S5      R                  U SS9nSnXC-  nU" XC5        [        X5[        U    S9  g r<   )	r   r   r   r+   r,   r-   r.   r   r0   )r   scalr1   r"   r?   r3   s         r   	test_scalrK   k   sg    )%01D
))


"C"$$U$7AEyHNAd5k2r   c                    [         [        U 5         n[        R                  R	                  S5      nU " UR                  5       5      nU " UR                  5       5      nSu  pVS nU" X45      nU" X4XV5      n	[        X[        U    S9  g )Nr   )        rM   c                     [        U 5      [        U5      :  a  U OUnU S:X  a  US:X  a  Su  p4pVOE[        R                  " U S-  US-  -   5      US:  a  SOS-  nX-  X-  pCX :X  a  UOUS:X  a  SOSU-  nXVX44$ )Nr   )   r   r   r      rO   )r7   r   sqrt)abroecsrzs          r   expected_rotg test_rotg.<locals>.expected_rotg   s    q6CF?a6a1f%JA!Q1q!t$SAX2>A5!%qXaAQUAQzr   r)   )r   r   r   r+   r,   randnr   r0   )
r   rotgr1   rS   rT   rV   rW   rZ   r3   r4   s
             r   	test_rotgr^   y   sx    )%01D
))


"CciikAciikADA Q"H!FF4;7r   c                    [         [        U 5         n[        R                  R	                  S5      nUR                  S5      R                  U SS9nUR                  S5      R                  U SS9nU " UR                  5       5      nU " UR                  5       5      nXS-  Xd-  -   nXT-  Xc-  -
  nU" X4XV5        [        X75        [        XH5        g )Nr   r&   Fr'   )	r   r   r   r+   r,   r-   r.   r\   r   )	r   rotr1   r"   r2   rV   rW   
expected_x
expected_ys	            r   test_rotrc      s    
'.
/C
))


"C"$$U$7A"$$U$7AciikAciikAJJaOA"A"r   zopA, transANoTransTrans)idsorderRowMajorColMajorc           	         [         [        U 5         n[        R                  R	                  S5      n[        R
                  " U" UR                  S5      R                  U SS95      [        U   S9nUR                  S5      R                  U SS9nUR                  S5      R                  U SS9nSu  pX" U5      R                  U5      -  X-  -   nU" X)XgX5        [        X[        U    S	9  g )
Nr   )   r&   Fr'   rg   r&   rk   r=   g      r)   )r
   r   r   r+   r,   asarrayr-   r.   ORDERr/   r   r0   )r   opAtransArg   gemvr1   Ar"   r2   r?   betar3   s               r   	test_gemvru      s     )%01D
))


"C


Ch'..u5.AB%PU,	A 	"$$U$7A"$$U$7AKEs1vzz!}$tx/Hd&Ad5k2r   zBLAS_Order.RowMajorzBLAS_Order.ColMajorc                    [         [        U 5         n[        R                  R	                  S5      nUR                  S5      R                  U SS9nUR                  S5      R                  U SS9n[        R                  " UR                  S5      R                  U SS9[        U   S9nSnU[        R                  " XE5      -  U-   nU" XtXV5        [        Xh[        U    S	9  g )
Nr   r&   Fr'   rk   r&   rk   rl   r=   r)   )r   r   r   r+   r,   r-   r.   rn   ro   outerr   r0   )	r   rg   gerr1   r"   r2   rs   r?   r3   s	            r   test_gerrz      s     '.
/C
))


"C"$$U$7A"$$U$7A


(#**5u*=U5\	A Erxx~%)H!Ad5k2r   zopB, transBc           	      \   [         [        U 5         n[        R                  R	                  S5      n[        R
                  " U" UR                  S5      R                  U SS95      [        U   S9n[        R
                  " U" UR                  S5      R                  U SS95      [        U   S9n	[        R
                  " UR                  S5      R                  U SS9[        U   S9n
Su  pX" U5      R                  U" U	5      5      -  X-  -   nU" X$XXU
5        [        X[        U    S	9  g )
Nr   )   r&   Fr'   rl   rw   )r|   rk   rm   r)   )r	   r   r   r+   r,   rn   r-   r.   ro   r/   r   r0   )r   rp   rq   opBtransBrg   gemmr1   rs   Br   r?   rt   r3   s                 r   	test_gemmr      s   " )%01D
))


"C


Ch'..u5.AB%PU,	A 	

Ch'..u5.AB%PU,	A 	

(#**5u*=U5\	A KEs1vzz#a&))DH4H1A.Ad5k2r   )+numpyr   r   sklearn.utils._cython_blasr   r   r   r   r   r   r	   r
   r   r   r   r   r   sklearn.utils._testingr   r   r   r   r0   rh   ri   ro   r#   markparametrizer5   r:   r@   rE   rH   rK   r^   rc   rd   	transposere   ru   rz   r   r!   r   r   <module>r      s        3 	

D"**e,			c:#6#6< 2::rzz":;
8 <
8 2::rzz":;	8 <	8 2::rzz":;3 <3 2::rzz":;	8 <	8 2::rzz":;
3 <
3 2::rzz":;
3 <
3 2::rzz":;8 <80 2::rzz":;# <#$ 2::rzz":;j  !BLL*2B2B#CD	G  
 *--.	Z   
3 <3" 2::rzz":;*--.	 56  
3 <3" 2::rzz":;j  !BLL*2B2B#CD	G  
 j  !BLL*2B2B#CD	G  
 *--.	 56  
3 < 3r   