
    Pi5              	       L   d dl Zd dlZd dlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZ d dlmZ d Zej        dej        diZej        dej        diZd	 Zej                            d
ej        ej        g          d             Zej                            d
ej        ej        g          d             Zej                            d
ej        ej        g          d             Zej                            d
ej        ej        g          d             Z ej                            d
ej        ej        g          d             Z!ej                            d
ej        ej        g          d             Z"ej                            d
ej        ej        g          d             Z#ej                            d
ej        ej        g          d             Z$ej                            d
ej        ej        g          ej                            deej%        fej&        ej'        fgddg          ej                            dej        ej        gddg          d                                     Z(ej                            d
ej        ej        g          ej                            dej        ej        gddg          d                         Z)ej                            d
ej        ej        g          ej                            deej%        fej&        ej'        fgddg          ej                            deej%        fej&        ej'        fgddg          ej                            dej        ej        gddg          d                                                 Z*dS )     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                     t          j        d          }| t          j        k    r|j        S | t          j        k    r|j        S d S )Ncython)pytestimportorskipnpfloat32floatfloat64double)dtyper   s     x/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/sklearn/utils/tests/test_cython_blas.py_numpy_to_cythonr      sD     **F
|	"*		} 
	    gư>g-q=CFc                     | S )N )xs    r   _no_opr#   "   s    Hr   r   c                    t           t          |                    }t          j                            d          }|                    d                              | d          }|                    d                              | d          }|                    |          } |||          }t          ||t          |                     d S 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$77A"$$U$77AuuQxxHSAYYFFH4;777777r   c                 h   t           t          |                    }t          j                            d          }|                    d                              | d          }t          j        |                                          } ||          }t          ||t          |                     d S r%   )r   r   r   r+   r,   r-   r.   abssumr   r0   )r   asumr1   r"   r3   r4   s         r   	test_asumr:   4   s    )%001D
)


"
"C"$$U$77Avayy}}HT!WWFFH4;777777r   c                    t           t          |                    }t          j                            d          }|                    d                              | d          }|                    d                              | d          }d}||z  |z   } ||||           t          ||t          |                     d S 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01D
)


"
"C"$$U$77A"$$U$77AEqy1}HD1Axd5k222222r   c                 Z   t           t          |                    }t          j                            d          }|                    d                              | d          }t          j                            |          } ||          }t          ||t          |                     d S r%   )r   r   r   r+   r,   r-   r.   linalgnormr   r0   )r   nrm2r1   r"   r3   r4   s         r   	test_nrm2rE   P   s    )%001D
)


"
"C"$$U$77Ay~~a  HT!WWFFH4;777777r   c                 n   t           t          |                    }t          j                            d          }|                    d                              | d          }t          j        |          }|                                } |||           t          ||t          |                     d S r%   )r   r   r   r+   r,   r-   r.   
empty_liker(   r   r0   )r   r(   r1   r"   r2   r3   s         r   	test_copyrH   ]   s    )%001D
)


"
"C"$$U$77A
aAvvxxHDAJJJAxd5k222222r   c                 ,   t           t          |                    }t          j                            d          }|                    d                              | d          }d}||z  } |||           t          ||t          |                     d S r<   )	r   r   r   r+   r,   r-   r.   r   r0   )r   scalr1   r"   r?   r3   s         r   	test_scalrK   k   s    )%001D
)


"
"C"$$U$77AEqyHDNNNAxd5k222222r   c                 j   t           t          |                    }t          j                            d          } | |                                          } | |                                          }d\  }}d } |||          } |||||          }	t          |	|t          |                     d S )Nr   )        rM   c                    t          |           t          |          k    r| n|}| dk    r|dk    rd\  }}}}nGt          j        | dz  |dz  z             |dk    rdndz  }| |z  ||z  }}|| k    r|n|dk    rdnd|z  }||||fS )Nr   )   r   r   r      rO   )r7   r   sqrt)abroecsrzs          r   expected_rotgz test_rotg.<locals>.expected_rotg   s    q66CFF??aa66a1ff%JAq!QQ1q!t$$SAXX2>Aq5!a%qAAXXaAAQUA!Qzr   r)   )r   r   r   r+   r,   randnr   r0   )
r   rotgr1   rS   rT   rV   rW   rZ   r3   r4   s
             r   	test_rotgr]   y   s    )%001D
)


"
"CciikkAciikkADAq   }Q""HT!Q1FFH4;777777r   c                    t           t          |                    }t          j                            d          }|                    d                              | d          }|                    d                              | d          } | |                                          } | |                                          }||z  ||z  z   }||z  ||z  z
  } |||||           t          ||           t          ||           d S )Nr   r&   Fr'   )	r   r   r   r+   r,   r-   r.   r[   r   )	r   rotr1   r"   r2   rV   rW   
expected_x
expected_ys	            r   test_rotrb      s    
'..
/C
)


"
"C"$$U$77A"$$U$77AciikkAciikkAQQJQQJC1aOOOAz"""Az"""""r   zopA, transANoTransTrans)idsorderRowMajorColMajorc                 v   t           t          |                    }t          j                            d          }t          j         ||                    d                              | d                    t          |                   }|                    d                              | d          }|                    d                              | d          }d\  }	}
|	 ||          	                    |          z  |
|z  z   } |||	|||
|           t          ||t          |          	           d S )
Nr   )   r&   Fr'   rf   r&   rj   r=   g      r)   )r
   r   r   r+   r,   asarrayr-   r.   ORDERr/   r   r0   )r   opAtransArf   gemvr1   Ar"   r2   r?   betar3   s               r   	test_gemvrt      s,    )%001D
)


"
"C

Ch''..u5.AABB%PU,	 	 	A 	"$$U$77A"$$U$77AKE4ss1vvzz!}}$tax/HD1dA&&&Axd5k222222r   zBLAS_Order.RowMajorzBLAS_Order.ColMajorc                 B   t           t          |                    }t          j                            d          }|                    d                              | d          }|                    d                              | d          }t          j        |                    d                              | d          t          |                   }d}|t          j	        ||          z  |z   } |||||           t          ||t          |          	           d S )
Nr   r&   Fr'   rj   r&   rj   rk   r=   r)   )r   r   r   r+   r,   r-   r.   rm   rn   outerr   r0   )	r   rf   gerr1   r"   r2   rr   r?   r3   s	            r   test_gerry      s    '..
/C
)


"
"C"$$U$77A"$$U$77A

(##**5u*==U5\	 	 	A Erx1~~%)HCq!QAxd5k222222r   zopB, transBc           	         t           t          |                    }t          j                            d          }t          j         ||                    d                              | d                    t          |                   }t          j         ||                    d                              | d                    t          |                   }	t          j        |                    d                              | d          t          |                   }
d\  }}| ||          	                     ||	                    z  ||
z  z   } ||||||	||
           t          |
|t          |          	           d S )
Nr   )   r&   Fr'   rk   rv   )r{   rj   rl   r)   )r	   r   r   r+   r,   rm   r-   r.   rn   r/   r   r0   )r   ro   rp   opBtransBrf   gemmr1   rr   Br   r?   rs   r3   s                 r   	test_gemmr      s{   " )%001D
)


"
"C

Ch''..u5.AABB%PU,	 	 	A 	
Ch''..u5.AABB%PU,	 	 	A 	
(##**5u*==U5\	 	 	A KE4ss1vvzz##a&&)))D1H4HD1dA...Axd5k22222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   rg   rh   rn   r#   markparametrizer5   r:   r@   rE   rH   rK   r]   rb   rc   	transposerd   rt   ry   r   r!   r   r   <module>r      s                                     3 2 2 2 2 2   	
D"*e,		c:#6<   2:rz":;;
8 
8 <;
8 2:rz":;;	8 	8 <;	8 2:rz":;;3 3 <;3 2:rz":;;	8 	8 <;	8 2:rz":;;
3 
3 <;
3 2:rz":;;
3 
3 <;
3 2:rz":;;8 8 <;80 2:rz":;;# # <;#$ 2:rz":;;j !BL*2B#CD	G   
 *-.	Z    
3 3   <;3" 2:rz":;;*-.	 56   
3 3  <;3" 2:rz":;;j !BL*2B#CD	G   
 j !BL*2B#CD	G   
 *-.	 56   
3 3    <; 3 3 3r   