§
    §éUg;  ã            	       óÈ  — 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mZmZ d dlmZ d„ Zej        dej        diZede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fej%        efgddg¬¦  «        ej                             deegddg¬¦  «        d„ ¦   «         ¦   «         ¦   «         Z&ej                             d
ej        ej        g¦  «        ej                             deegddg¬¦  «        d„ ¦   «         ¦   «         Z'ej                             d
ej        ej        g¦  «        ej                             deefej%        efgddg¬¦  «        ej                             deefej%        efgddg¬¦  «        ej                             deegddg¬¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Z(dS )é    N)ÚColMajorÚNoTransÚRowMajorÚ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     úc/var/www/surfInsights/venv3-11/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   r1   Úrngr$   ÚyÚexpectedÚactuals          r   Útest_dotr7   (   s³   € å
Õ'¨Ñ.Ô.Ô
/€Cå
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€Aà�uŠu�Q‰xŒx€HØˆS��A‰YŒY€Få�F˜H­4°¬;Ð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/   r0   ÚabsÚsumr   r2   )r   Úasumr3   r$   r5   r6   s         r   Ú	test_asumr<   6   s‘   € åÕ)¨%Ñ0Ô0Ô1€Då
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AåŒv�a‰yŒy�}Š}‰Œ€HØˆT�!‰WŒW€Få�F˜H­4°¬;Ð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/   r0   r   r2   )r   Úaxpyr3   r$   r4   Úalphar5   s          r   Ú	test_axpyrB   C   s»   € åÕ)¨%Ñ0Ô0Ô1€Då
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AØ€Eà�q‰y˜1‰}€HØ€Dˆ��1ÑÔÐå�A�x¥d¨5¤kÐ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/   r0   ÚlinalgÚnormr   r2   )r   Únrm2r3   r$   r5   r6   s         r   Ú	test_nrm2rG   R   s�   € åÕ)¨%Ñ0Ô0Ô1€Då
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AåŒy�~Š~˜aÑ Ô €HØˆT�!‰WŒW€Få�F˜H­4°¬;Ð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/   r0   Ú
empty_liker*   r   r2   )r   r*   r3   r$   r4   r5   s         r   Ú	test_copyrJ   _   sš   € åÕ)¨%Ñ0Ô0Ô1€Då
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AÝ
Œ�aÑÔ€Aà�vŠv‰xŒx€HØ€DˆˆA�J„J€Jå�A�x¥d¨5¤kÐ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/   r0   r   r2   )r   Úscalr3   r$   rA   r5   s         r   Ú	test_scalrM   m   sŒ   € åÕ)¨%Ñ0Ô0Ô1€Då
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AØ€Eà�q‰y€HØ€Dˆ��N„N€Nå�A�x¥d¨5¤kÐ2Ñ2Ô2Ð2Ð2Ð2r   c                 ój  — t           t          | ¦  «                 }t          j                             d¦  «        } | |                     ¦   «         ¦  «        } | |                     ¦   «         ¦  «        }d\  }}d„ } |||¦  «        } |||||¦  «        }	t          |	|t          |          ¬¦  «         d S )Nr   )ç        rO   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   é   rQ   éÿÿÿÿ)r9   r   Úsqrt)ÚaÚbÚroeÚcÚsÚrÚzs          r   Úexpected_rotgz test_rotg.<locals>.expected_rotg„   s«   € Ý�q‘6”6�C ™FœF’?�?ˆaˆa¨ˆØ�Š6ˆ6�a˜1’f�fØ%‰JˆAˆq�!�Q�Qå”˜˜1™˜q !™t™Ñ$Ô$¨S°AªX¨X¨¨¸2Ñ>ˆAØ�q‘5˜!˜a™%ˆqˆAØ˜A’X�X��¨¨aª¨ A A°Q¸±UˆAØ�!�Q˜ˆzÐr   r+   )r   r   r   r-   r.   Úrandnr   r2   )
r   Úrotgr3   rU   rV   rX   rY   r\   r5   r6   s
             r   Ú	test_rotgr_   {   s·   € åÕ)¨%Ñ0Ô0Ô1€Då
Œ)×
Ò
 Ñ
"Ô
"€CØˆˆc�iŠi‰kŒkÑÔ€AØˆˆc�iŠi‰kŒkÑÔ€AØ�D€A€qðð ð ð ˆ}˜Q Ñ"Ô"€HØˆT�!�Q˜˜1ÑÔ€Få�F˜H­4°¬;Ð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/   r0   r]   r   )	r   Úrotr3   r$   r4   rX   rY   Ú
expected_xÚ
expected_ys	            r   Útest_rotrd   ”   sÿ   € å
Õ'¨Ñ.Ô.Ô
/€Cå
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AØˆˆc�iŠi‰kŒkÑÔ€AØˆˆc�iŠi‰kŒkÑÔ€Aà�Q‘˜˜Q™‘€JØ�Q‘˜˜Q™‘€Jà€Cˆˆ1ˆa��O„O€Oå�A�zÑ"Ô"Ð"Ý�A�zÑ"Ô"Ð"Ð"Ð"r   zopA, transAr   r   )ÚidsÚorderr   r   c                 ó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(   rh   ©r?   g      à¿r+   )r   r   r   r-   r.   Úasarrayr/   r0   ÚORDERr1   r   r2   )r   ÚopAÚtransArf   Úgemvr3   ÚAr$   r4   rA   Úbetar5   s               r   Ú	test_gemvrr   §   s,  € õ Õ)¨%Ñ0Ô0Ô1€Då
Œ)×
Ò
 Ñ
"Ô
"€CÝ
Œ
ØˆˆC×Ò˜hÑ'Ô'×.Ò.¨u¸5Ð.ÑAÔAÑBÔBÍ%ÐPUÌ,ð	ñ 	ô 	€Að 	×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AØ�K€Eˆ4à�s�s˜1‘v”v—z’z !‘}”}Ñ$ t¨a¡xÑ/€HØ€Dˆ�˜˜1˜d AÑ&Ô&Ð&å�A�x¥d¨5¤kÐ2Ñ2Ô2Ð2Ð2Ð2r   c                 ó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)   rh   ©r(   rh   ri   r?   r+   )r   r   r   r-   r.   r/   r0   rk   rl   Úouterr   r2   )	r   rf   Úgerr3   r$   r4   rp   rA   r5   s	            r   Útest_gerrw   ½   s  € õ Õ'¨Ñ.Ô.Ô
/€Cå
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AØ×Ò˜"ÑÔ×$Ò$ U°Ð$Ñ7Ô7€AÝ
Œ
Ø×Ò˜(Ñ#Ô#×*Ò*¨5°uÐ*Ñ=Ô=ÅUÈ5Ä\ð	ñ 	ô 	€Að €Eà•r”x  1‘~”~Ñ%¨Ñ)€HØ€Cˆˆq�!�QÑÔÐå�A�x¥d¨5¤kÐ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)   ri   rt   )ry   rh   rj   r+   )r   r   r   r-   r.   rk   r/   r0   rl   r1   r   r2   )r   rm   rn   ÚopBÚtransBrf   Úgemmr3   rp   ÚBr    rA   rq   r5   s                 r   Ú	test_gemmr~   Ð   s{  € õ Õ)¨%Ñ0Ô0Ô1€Då
Œ)×
Ò
 Ñ
"Ô
"€CÝ
Œ
ØˆˆC×Ò˜hÑ'Ô'×.Ò.¨u¸5Ð.ÑAÔAÑBÔBÍ%ÐPUÌ,ð	ñ 	ô 	€Aõ 	Œ
ØˆˆC×Ò˜hÑ'Ô'×.Ò.¨u¸5Ð.ÑAÔAÑBÔBÍ%ÐPUÌ,ð	ñ 	ô 	€Aõ 	Œ
Ø×Ò˜(Ñ#Ô#×*Ò*¨5°uÐ*Ñ=Ô=ÅUÈ5Ä\ð	ñ 	ô 	€Að �K€Eˆ4à�s�s˜1‘v”v—z’z # # a¡&¤&Ñ)Ô)Ñ)¨D°1©HÑ4€HØ€Dˆ�˜  1 d¨AÑ.Ô.Ð.å�A�x¥d¨5¤kÐ2Ñ2Ô2Ð2Ð2Ð2r   ))Únumpyr   r   Úsklearn.utils._cython_blasr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   Úsklearn.utils._testingr   r   r   r   r2   rl   r%   ÚmarkÚparametrizer7   r<   rB   rG   rJ   rM   r_   rd   Ú	transposerr   rw   r~   r#   r   r   ú<module>r…      sÏ  ðØ Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð" 3Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð 	Œ
�D˜"œ* eÐ,€Ø	�3˜ #Ð&€ðð ð ð „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð
8ð 
8ñ <Ô;ð
8ð „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð	8ð 	8ñ <Ô;ð	8ð „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð3ð 3ñ <Ô;ð3ð „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð	8ð 	8ñ <Ô;ð	8ð „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð
3ð 
3ñ <Ô;ð
3ð „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð
3ð 
3ñ <Ô;ð
3ð „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð8ð 8ñ <Ô;ð8ð0 „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð#ð #ñ <Ô;ð#ð$ „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;Ø„×ÒØ�V˜WÐ%¨¬°eÐ'<Ð=ÀIÈwÐCWð ñ ô ð „×Ò˜ 8¨XÐ"6¸ZÈÐ<TÐÑUÔUð3ð 3ñ VÔUñô ñ <Ô;ð
3ð" „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;Ø„×Ò˜ 8¨XÐ"6¸ZÈÐ<TÐÑUÔUð3ð 3ñ VÔUñ <Ô;ð3ð" „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;Ø„×ÒØ�V˜WÐ%¨¬°eÐ'<Ð=ÀIÈwÐCWð ñ ô ð „×ÒØ�V˜WÐ%¨¬°eÐ'<Ð=ÀIÈwÐCWð ñ ô ð „×Ò˜ 8¨XÐ"6¸ZÈÐ<TÐÑUÔUð3ð 3ñ VÔUñô ñô ñ <Ô;ð3ð 3ð 3r   