§
    µ³Ùg£  ã                   óJ  — d dl Z d dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
 d dlm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Zd dlmZm Z m!Z!m"Z" 	 d dlm#Z$ n# e%$ r dZ$Y nw xY weegZ&eegZ'e&e'z   Z(d„ Z)d„ Z* G d	„ d
¦  «        Z+ G d„ d¦  «        Z, G d„ d¦  «        Z- G d„ d¦  «        Z.d#d„Z/ G d„ d¦  «        Z0 G d„ d¦  «        Z1 G d„ d¦  «        Z2 G d„ d¦  «        Z3 G d„ d¦  «        Z4d„ Z5ej6         7                    dd¬ ¦  «        d!„ ¦   «         Z8d"„ Z9dS )$é    N)Úassert_equalÚassert_almost_equalÚassert_Úassert_array_almost_equalÚassert_allclose)Úraises)Úfloat32Úfloat64Ú	complex64Ú
complex128ÚarangeÚtriuÚtrilÚzerosÚtril_indicesÚonesÚmodÚdiagÚappendÚeyeÚnonzero)Ú_fblasÚget_blas_funcsÚtoeplitzÚsolve)Ú_cblasc            	      ó~  — t          dt          j        dt          j        d¬¦  «        t          j        dt          j        d¬¦  «        f¦  «        \  } }}t          | j        d¦  «         t          |j        d¦  «         t          �*t          | j        d¦  «         t          |j        d¦  «         t          d¦  «        } t          | j        d	¦  «         t          d
t          j        ¬¦  «        } t          | j        d¦  «         t          d
d¬¦  «        } t          | j        d¦  «         t          d
t          j	        ¬¦  «        } t          | j        d¦  «         t          dt          j        dt          j
        ¬¦  «        t          j        dt          j        ¬¦  «        f¦  «        } t          | j        d¦  «         d S )N)Úaxpyr   r   ©é   r    ÚF)ÚdtypeÚorderÚCÚzÚcblasÚrotgÚdÚgemm©r"   Úcr   )r   ÚnpÚemptyr   r   r   Útypecoder&   Úmodule_nameÚclongdoubler
   )Úf1Úf2Úf3s      úR/granary/edev/quantum/lib/python3.11/site-packages/scipy/linalg/tests/test_blas.pyÚtest_get_blas_funcsr5      sŒ  € õ  Ø Ý	Œ�&¥¤°CÐ	8Ñ	8Ô	8Ý	Œ�&¥¤°SÐ	9Ñ	9Ô	9ð	;ñ
ô 
�J€BˆˆBõ �”˜cÑ"Ô"Ð"Ý�”˜cÑ"Ô"Ð"ÝÐÝ�R”^ WÑ-Ô-Ð-Ý�R”^ WÑ-Ô-Ð-õ 
˜Ñ	Ô	€BÝ�”˜cÑ"Ô"Ð"õ 
˜¥b¤lÐ	3Ñ	3Ô	3€BÝ�”˜cÑ"Ô"Ð"Ý	˜ cÐ	*Ñ	*Ô	*€BÝ�”˜cÑ"Ô"Ð"õ 
˜¥b¤nÐ	5Ñ	5Ô	5€BÝ�”˜cÑ"Ô"Ð"õ 
˜Ýœ &µ´
Ð;Ñ;Ô;Ýœ &µ´Ð=Ñ=Ô=ð?ñ
ô 
€Bõ �”˜cÑ"Ô"Ð"Ð"Ð"ó    c                  óÌ   — t          dt          j        ¬¦  «        \  } }| j        dk    sJ ‚|j        dk    sJ ‚t          dt          j        ¬¦  «        \  } }}| |u sJ ‚| |u sJ ‚d S )N)Únrm2Údotr*   r+   )r9   ÚdotcÚdotu)r   r,   r   r.   r
   )ÚfÚgÚhs      r4   Útest_get_blas_funcs_aliasr?   E   sy   € å˜/µ´Ð>Ñ>Ô>�D€A€qØŒ:˜ÒÐÐÐØŒ:˜ÒÐÐÐåÐ4½B¼JÐGÑGÔG�G€A€qˆ!Ø�ˆ6ˆ6ˆ6ˆ6Ø�ˆ6ˆ6ˆ6ˆ6ˆ6ˆ6r6   c                   ó   — e Zd Zd„ ZdS )ÚTestCBLAS1Simplec                 ó  — dD ]@}t          t          |dz   d ¦  «        }|€Œt           |g d¢g d¢d¬¦  «        g d¢¦  «         ŒAdD ]@}t          t          |dz   d ¦  «        }|€Œt           |g d	¢g d¢d¬¦  «        g d
¢¦  «         ŒAd S ©NÚsdr   ©é   r    é   )r    éÿÿÿÿrG   é   ©Úa)é   é	   é   Úcz)rF   ù               @rG   )rL   y      ð¿      $@rN   )Úgetattrr&   r   ©ÚselfÚpr<   s      r4   Ú	test_axpyzTestCBLAS1Simple.test_axpyR   óÖ   € Øð 	2ð 	2ˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨	¨	¨	°:°:°:ÀÐ&CÑ&CÔ&CØ&0 j jñ2ô 2ð 2ð 2àð 	6ð 	6ˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨
¨
¨
°J°J°JÀ!Ð&DÑ&DÔ&DØ&4 n nñ6ô 6ð 6ð 6ð		6ð 	6r6   N)Ú__name__Ú
__module__Ú__qualname__rU   © r6   r4   rA   rA   P   s#   € € € € € ð6ð 6ð 6ð 6ð 6r6   rA   c                   óJ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ ZdS )ÚTestFBLAS1Simplec                 ó  — dD ]@}t          t          |dz   d ¦  «        }|€Œt           |g d¢g d¢d¬¦  «        g d¢¦  «         ŒAdD ]@}t          t          |dz   d ¦  «        }|€Œt           |g d	¢g d¢d¬¦  «        g d
¢¦  «         ŒAd S rC   ©rQ   Úfblasr   rR   s      r4   rU   zTestFBLAS1Simple.test_axpyc   rV   r6   c                 ó  — dD ]@}t          t          |dz   d ¦  «        }|€Œt           |g d¢dgdz  ¦  «        g d¢¦  «         ŒAdD ]@}t          t          |dz   d ¦  «        }|€Œt           |g d¢dgdz  ¦  «        g d¢¦  «         ŒAd S )NrD   Úcopy)rG   é   rI   é   rG   rO   )rG   ù              @y      @      @r^   rR   s      r4   Ú	test_copyzTestFBLAS1Simple.test_copyq   sÄ   € Øð 	Fð 	FˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨	¨	¨	°A°3°q±5Ñ&9Ô&9¸9¸9¸9ÑEÔEÐEÐEØð 	Nð 	NˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨¨¨¸°s¸1±uÑ&=Ô&=¸}¸}¸}ÑMÔMÐMÐMð		Nð 	Nr6   c                 óö   — dD ]9}t          t          |dz   d ¦  «        }|€Œt           |g d¢¦  «        d¦  «         Œ:dD ]9}t          t          |dz   d ¦  «        }|€Œt           |g d¢¦  «        d¦  «         Œ:d S )NrD   Úasum©rG   éüÿÿÿrI   é   )ÚscÚdz©ù              @ri   ù      @      Àé   ©rQ   r_   r   rR   s      r4   Ú	test_asumzTestFBLAS1Simple.test_asum}   s¤   € Øð 	3ð 	3ˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ   * * *¡¤¨rÑ2Ô2Ð2Ð2Øð 	7ð 	7ˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ   . . .Ñ 1Ô 1°2Ñ6Ô6Ð6Ð6ð		7ð 	7r6   c                 ó„   — dD ]<}t          t          |dz   d ¦  «        }|€Œt           |g d¢g d¢¦  «        d¦  «         Œ=d S )NrD   r9   rh   )r    rI   rF   é÷ÿÿÿrq   rR   s      r4   Útest_dotzTestFBLAS1Simple.test_dot‰   s_   € Øð 	>ð 	>ˆAÝ�˜q ™w¨Ñ-Ô-ˆAØˆyØÝ   * * *¨i¨i¨iÑ 8Ô 8¸"Ñ=Ô=Ð=Ð=ð		>ð 	>r6   c                 ó„   — dD ]<}t          t          |dz   d ¦  «        }|€Œt           |g d¢g d¢¦  «        d¦  «         Œ=d S )NrO   r;   rm   ©r    rG   rF   y      "À       @rq   rR   s      r4   Útest_complex_dotuz"TestFBLAS1Simple.test_complex_dotu�   sc   € Øð 	Eð 	EˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ   . . .°)°)°)Ñ <Ô <¸eÑDÔDÐDÐDð		Eð 	Er6   c                 ó„   — dD ]<}t          t          |dz   d ¦  «        }|€Œt           |g d¢g d¢¦  «        d¦  «         Œ=d S )NrO   r:   rm   ©r    rn   rF   y      @      ,Àrq   rR   s      r4   Útest_complex_dotcz"TestFBLAS1Simple.test_complex_dotc—   sc   € Øð 	Fð 	FˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ   . . .°*°*°*Ñ =Ô =¸uÑEÔEÐEÐEð		Fð 	Fr6   c                 ó>  — dD ]K}t          t          |dz   d ¦  «        }|€Œt           |g d¢¦  «        t          j        d¦  «        ¦  «         ŒLdD ]K}t          t          |dz   d ¦  «        }|€Œt           |g d¢¦  «        t          j        d¦  «        ¦  «         ŒLd S )NrD   r8   rh   é2   )r+   r%   rk   rl   rm   )rQ   r_   r   ÚmathÚsqrtrR   s      r4   Ú	test_nrm2zTestFBLAS1Simple.test_nrm2ž   s¸   € Øð 	>ð 	>ˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ   * * *¡¤­t¬y¸©}¬}Ñ=Ô=Ð=Ð=Ø'ð 	Bð 	BˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ   . . .Ñ 1Ô 1µ4´9¸R±=´=ÑAÔAÐAÐAð		Bð 	Br6   c                 ó€  — dD ]<}t          t          |dz   d ¦  «        }|€Œt           |dg d¢¦  «        g d¢¦  «         Œ=dD ]<}t          t          |dz   d ¦  «        }|€Œt           |dg d¢¦  «        g d	¢¦  «         Œ=d
D ]<}t          t          |dz   d ¦  «        }|€Œt           |dg d¢¦  «        g d¢¦  «         Œ=d S )NrD   Úscalr    rh   )é   iøÿÿÿé
   rO   rn   rm   )rt   y       €      (Ày      (@      "@)ÚcsÚzdrG   )y              "@iôÿÿÿy      "@      (Àr^   rR   s      r4   Ú	test_scalzTestFBLAS1Simple.test_scalª   s  € Øð 	Eð 	EˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨¨:¨:¨:Ñ&6Ô&6¸¸¸ÑDÔDÐDÐDØð 	Pð 	PˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨¨N¨N¨NÑ&;Ô&;Ð=NÐ=NÐ=NÑOÔOÐOÐOØð 	Nð 	NˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨¨>¨>¨>Ñ&:Ô&:Ð<LÐ<LÐ<LÑMÔMÐMÐMð		Nð 	Nr6   c                 óf  — dD ]U}t          t          |dz   d ¦  «        }|€Œg d¢g d¢}} |||¦  «        \  }}t          ||¦  «         t          ||¦  «         ŒVdD ]U}t          t          |dz   d ¦  «        }|€Œg d¢g d¢}} |||¦  «        \  }}t          ||¦  «         t          ||¦  «         ŒVd S )NrD   Úswaprw   )éþÿÿÿrG   rL   rO   rz   )rŠ   rG   y      @      Àr^   )rS   rT   r<   ÚxÚyÚx1Úy1s          r4   Ú	test_swapzTestFBLAS1Simple.test_swap»   sò   € Øð 	-ð 	-ˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØØ�9�9˜j˜j˜jˆqˆAØ�Q�q˜!‘W”W‰FˆB�Ý% b¨!Ñ,Ô,Ð,Ý% b¨!Ñ,Ô,Ð,Ð,Øð 	-ð 	-ˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØØ�:�:˜}˜}˜}ˆqˆAØ�Q�q˜!‘W”W‰FˆB�Ý% b¨!Ñ,Ô,Ð,Ý% b¨!Ñ,Ô,Ð,Ð,ð	-ð 	-r6   c                 óò   — dD ]8}t          t          d|z   dz   ¦  «        }t           |g d¢¦  «        d¦  «         Œ9dD ]8}t          t          d|z   dz   ¦  «        }t           |g d¢¦  «        d¦  «         Œ9d S )NrD   ÚiÚamax)rŠ   rb   rG   rF   rO   )éûÿÿÿy      @      @rƒ   )rQ   r_   r   rR   s      r4   Ú	test_amaxzTestFBLAS1Simple.test_amaxÍ   s˜   € Øð 	+ð 	+ˆAÝ�˜s 1™u V™|Ñ,Ô,ˆAÝ˜˜˜:˜:˜:™œ¨Ñ*Ô*Ð*Ð*Øð 	.ð 	.ˆAÝ�˜s 1™u V™|Ñ,Ô,ˆAÝ˜˜˜=˜=˜=Ñ)Ô)¨1Ñ-Ô-Ð-Ð-ð	.ð 	.r6   N)rW   rX   rY   rU   re   rr   ru   rx   r{   r€   r‡   r�   r”   rZ   r6   r4   r\   r\   a   s¹   € € € € € ð6ð 6ð 6ð
Nð 
Nð 
Nð
7ð 
7ð 
7ð>ð >ð >ðEð Eð EðFð Fð Fð
Bð 
Bð 
BðNð Nð Nð"-ð -ð -ð$.ð .ð .ð .ð .r6   r\   c                   ó’   — e Zd Zd„ Zej        j        d„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestFBLAS2Simplec           
      óŽ  — dD ]_}t          t          |dz   d ¦  «        }|€Œt           |ddggdg¦  «        dg¦  «         t           |ddggdgddg¦  «        dg¦  «         Œ`dD ]_}t          t          |dz   d ¦  «        }|€Œt           |d	d
ggdg¦  «        dg¦  «         t           |d	d
ggdgddg¦  «        dg¦  «         Œ`d S )NrD   ÚgemvrG   ri   éÜÿÿÿrI   éëÿÿÿrO   rn   ro   ù      HÀ      BÀù              @ù      HÀ      5Àr^   rR   s      r4   Ú	test_gemvzTestFBLAS2Simple.test_gemvÙ   s  € Øð 	Hð 	HˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨¨Q¨C¨5°2°$Ñ&7Ô&7¸#¸Ñ?Ô?Ð?Ý% a a¨¨Q¨C¨5°2°$¸¸A¸3Ñ&?Ô&?À#ÀÑGÔGÐGÐGØð 	1ð 	1ˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨¨d¨V¨H°r°dÑ&;Ô&;¸g¸YÑGÔGÐGÝ% a a¨¨d¨V¨H°r°d¸AÀ¸tÑ&DÔ&DØ'. iñ1ô 1ð 1ð 1ð	1ð 	1r6   c                 óþ  — dD ]˜}t          t          |dz   d ¦  «        }|€Œt           |dddgddg¦  «        ddgddgg¦  «         t           |dg d	¢ddg¦  «        ddgd
dgddgg¦  «         t           |dddgddgddgddgg¬¦  «        ddgdd
gg¦  «         Œ™dD ]k}t          t          |dz   d ¦  «        }|€Œt           |dddgddg¦  «        ddgddgg¦  «         t           |dg d¢ddg¦  «        ddgd
dgddgg¦  «         ŒldD ]p}dD ]k}t          t          ||z   d ¦  «        }|€Œt           |dddgddg¦  «        ddgddgg¦  «         t           |dg d¢ddg¦  «        ddgd
dgddgg¦  «         ŒlŒqd S )NrD   ÚgerrF   r    rG   rb   rƒ   rc   rE   rj   é   rN   é   rJ   rM   rO   Úgeruù              ð?rn   rd   rŠ   )r¤   rP   rn   )r    Úgercr^   )rS   rT   r<   Únames       r4   Útest_gerzTestFBLAS2Simple.test_gerê   s�  € ð ð 		Pð 		PˆAÝ�˜q ™w¨Ñ-Ô-ˆAØˆyØÝ% a a¨¨A¨q¨6°A°q°6Ñ&:Ô&:¸aÀ¸VÀaÈÀVÐ<LÑMÔMÐMÝ% a a¨¨9¨9¨9°q¸!°fÑ&=Ô&=Ø()¨1 v°°B¨x¸"¸b¸Ð&BñDô Dð Dõ & a a¨¨A¨q¨6°A°q°6Ø,-¨q¨6°A°q°6Ð*:ð'<ñ '<ô '<Ø?@À!¸fÀqÈ"ÀgÐ=NñPô Pð Pð Pð ð 	Dð 	DˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨¨B°¨7°Q¸°FÑ&;Ô&;Ø(*¨B x°!°Q°Ð&8ñ:ô :ð :å% a a¨¨L¨L¨L¸2¸r¸(Ñ&CÔ&CØ()¨1 v°°B¨x¸"¸b¸Ð&BñDô Dð Dð Dð ð 	Hð 	HˆAØ'ð Hð H�Ý�E 1 T¡6¨4Ñ0Ô0�Ø�9ØÝ)¨!¨!¨A°°A¨w¸¸A¸Ñ*?Ô*?Ø,.°¨8°a¸°VÐ*<ñ>ô >ð >å)¨!¨!¨A¨|¨|¨|¸bÀ"¸XÑ*FÔ*FØ,-¨q¨6°B¸°8¸bÀ"¸XÐ*FñHô Hð Hð HðHð	Hð 	Hr6   c                 ó|  — t          j        ddd¬¦  «        }t          j        |d d …t           j        f         |z  ¦  «        }t          j        |d d d…t           j        f         |d d d…         z  ¦  «        }t          j        dddd	¬
¦  «        }t          j        ddd¬¦  «                             d¦  «        }t          j        |d d …t           j        f         |z  ¦  «        }t          j        |d d d…t           j        f         |d d d…         z  ¦  «        }t          j        |d d …t           j        f         |                     ¦   «         z  ¦  «        }t          j        |d d d…t           j        f         |d d d…                              ¦   «         z  ¦  «        }	t           j        t          j        d¦  «        |t          j        d¦  «        f          	                    ¦   «         }
t          dddg¦  «        D �]×\  }}t          t          |dz   d ¦  «        }|€Œ"t           |d|¦  «        ||¬¦  «         t           |d|d¬¦  «        |j        |¬¦  «         t           |d|ddd¬¦  «        ||¬¦  «         t           |d|ddd¬¦  «        ||¬¦  «         t          j        d|dk    rdndd¦  «        } |d||d¬¦  «        }t          |||¬¦  «          |d||¬¦  «        }t          ||u¦  «         t          |d |z  |¬¦  «         t!          t"          |d|d¬!¦  «         t!          t"          |d|d¬"¦  «         t!          t"          |d|d¬"¦  «         t!          t"          |d|d¬#¦  «         t!          t"          |d|d¬#¦  «         t!          t"          |d|d¬¦  «         t!          t"          |d|t          j        d$dd¦  «        ¬¦  «         �ŒÙt          d%ddg¦  «        D �]×\  }}t          t          |dz   d ¦  «        }|€Œ"t           |d|¦  «        ||¬¦  «         t           |d|d¬¦  «        |j        |¬¦  «         t           |d|
d dd¬¦  «        ||¬¦  «         t           |d|
d&dd¬¦  «        ||¬¦  «         t          j        d|d'k    rdndd¦  «        } |d||d¬¦  «        }t          |||¬¦  «          |d||¬¦  «        }t          ||u¦  «         t          |d |z  |¬¦  «         t!          t"          |d|d¬!¦  «         t!          t"          |d|d¬"¦  «         t!          t"          |d|d¬"¦  «         t!          t"          |d|d¬#¦  «         t!          t"          |d|d¬#¦  «         t!          t"          |d|d¬¦  «         t!          t"          |d|t          j        d$dd¦  «        ¬¦  «         �ŒÙt          d%ddg¦  «        D �]é\  }}t          t          |d(z   d ¦  «        }|€Œ"t           |d|¦  «        ||¬¦  «         t           |d|d¬¦  «        |j                             ¦   «         |¬¦  «         t           |d|
d dd¬¦  «        ||¬¦  «         t           |d|
d&dd¬¦  «        |	|¬¦  «         t          j        d|d'k    rdndd¦  «        } |d||d¬¦  «        }t          |||¬¦  «          |d||¬¦  «        }t          ||u¦  «         t          |d |z  |¬¦  «         t!          t"          |d|d¬!¦  «         t!          t"          |d|d¬"¦  «         t!          t"          |d|d¬"¦  «         t!          t"          |d|d¬#¦  «         t!          t"          |d|d¬#¦  «         t!          t"          |d|d¬¦  «         t!          t"          |d|t          j        d$dd¦  «        ¬¦  «         �Œëd S ))NrF   rI   r(   r*   rH   r   ç      !@é   F©ÚendpointrM   ÚDrb   rD   çH¯¼šò×z>ç›+¡†›„=Úsyrç      ð?©ÚrtolT©Úlowerr    )ÚincxÚoffxÚnrŠ   ©rb   rb   Úsr<   r!   ©rK   Úoverwrite_aç       @rJ   rG   ©r¶   ©r·   ©r¸   r   rO   éýÿÿÿr+   Úher)r,   r   r   ÚnewaxisÚlinspaceÚviewÚconjÚc_r   ÚravelÚziprQ   r_   r   ÚTr   Úassert_raisesÚ	Exception)rS   r‹   ÚresxÚresx_reverserŒ   r%   ÚreszÚresz_reverseÚrehzÚrehz_reverseÚwrT   r³   r<   rK   Úbs                   r4   Útest_syr_herzTestFBLAS2Simple.test_syr_her  s0  € ÝŒI�a˜ #Ð&Ñ&Ô&ˆÝŒw�q˜˜˜�BœJ˜Ô'¨!Ñ+Ñ,Ô,ˆÝ”w˜q   2 ¥r¤zÐ!1Ô2°Q°t°t¸°t´WÑ<Ñ=Ô=ˆåŒK˜˜3 ¨UÐ3Ñ3Ô3ˆåŒI�a˜ #Ð&Ñ&Ô&×+Ò+¨CÑ0Ô0ˆÝŒw�q˜˜˜�BœJ˜Ô'¨!Ñ+Ñ,Ô,ˆÝ”w˜q   2 ¥r¤zÐ!1Ô2°Q°t°t¸°t´WÑ<Ñ=Ô=ˆÝŒw�q˜˜˜�BœJ˜Ô'¨!¯&ª&©(¬(Ñ2Ñ3Ô3ˆÝ”w˜q   2 ¥r¤zÐ!1Ô2°Q°t°t¸°t´W·\²\±^´^ÑCÑDÔDˆåŒE•"”(˜1‘+”+˜q¥"¤(¨1¡+¤+Ð-Ô.×4Ò4Ñ6Ô6ˆå˜4 $¨ Ñ/Ô/ð 	Nñ 	N‰GˆAˆtÝ�˜q ™w¨Ñ-Ô-ˆAØˆyØÝ˜A˜A˜c 1™IœI t°$Ð7Ñ7Ô7Ð7Ý˜A˜A˜c 1¨DÐ1Ñ1Ô1°4´6ÀÐEÑEÔEÐEÝ˜A˜A˜c 1¨1°1¸Ð:Ñ:Ô:¸DÀtÐLÑLÔLÐLå˜A˜A˜c 1¨2°A¸Ð;Ñ;Ô;Ø(¨tð5ñ 5ô 5ð 5õ ”˜¨¨Sª¨  °c¸3Ñ?Ô?ˆAØ��#�q˜A¨4Ð0Ñ0Ô0ˆAÝ˜A˜t¨$Ð/Ñ/Ô/Ð/à��#�q˜A�‘”ˆAÝ�A˜Q�JÑÔÐÝ˜A˜q ™v¨DÐ1Ñ1Ô1Ð1å�) Q¨¨Q°QÐ7Ñ7Ô7Ð7Ý�) Q¨¨Q°QÐ7Ñ7Ô7Ð7Ý�) Q¨¨Q°RÐ8Ñ8Ô8Ð8Ý�) Q¨¨Q°"Ð5Ñ5Ô5Ð5Ý�) Q¨¨Q°!Ð4Ñ4Ô4Ð4Ý�) Q¨¨Q°aÐ8Ñ8Ô8Ð8Ý�) Q¨¨Qµ"´(¸6À3ÈÑ2LÔ2LÐMÑMÔMÐMÑMå˜4 $¨ Ñ/Ô/ð 	Nñ 	N‰GˆAˆtÝ�˜q ™w¨Ñ-Ô-ˆAØˆyØÝ˜A˜A˜c 1™IœI t°$Ð7Ñ7Ô7Ð7Ý˜A˜A˜c 1¨DÐ1Ñ1Ô1°4´6ÀÐEÑEÔEÐEÝ˜A˜A˜c 1¨1°1¸Ð:Ñ:Ô:¸DÀtÐLÑLÔLÐLå˜A˜A˜c 1¨2°A¸Ð;Ñ;Ô;Ø(¨tð5ñ 5ô 5ð 5õ ”˜¨¨Sª¨  °c¸3Ñ?Ô?ˆAØ��#�q˜A¨4Ð0Ñ0Ô0ˆAÝ˜A˜t¨$Ð/Ñ/Ô/Ð/à��#�q˜A�‘”ˆAÝ�A˜Q�JÑÔÐÝ˜A˜q ™v¨DÐ1Ñ1Ô1Ð1å�) Q¨¨Q°QÐ7Ñ7Ô7Ð7Ý�) Q¨¨Q°QÐ7Ñ7Ô7Ð7Ý�) Q¨¨Q°RÐ8Ñ8Ô8Ð8Ý�) Q¨¨Q°"Ð5Ñ5Ô5Ð5Ý�) Q¨¨Q°!Ð4Ñ4Ô4Ð4Ý�) Q¨¨Q°aÐ8Ñ8Ô8Ð8Ý�) Q¨¨Qµ"´(¸6À3ÈÑ2LÔ2LÐMÑMÔMÐMÑMå˜4 $¨ Ñ/Ô/ð 	Nñ 	N‰GˆAˆtÝ�˜q ™w¨Ñ-Ô-ˆAØˆyØÝ˜A˜A˜c 1™IœI t°$Ð7Ñ7Ô7Ð7Ý˜A˜A˜c 1¨DÐ1Ñ1Ô1°4´6·;²;±=´=ÀtÐLÑLÔLÐLÝ˜A˜A˜c 1¨1°1¸Ð:Ñ:Ô:¸DÀtÐLÑLÔLÐLå˜A˜A˜c 1¨2°A¸Ð;Ñ;Ô;Ø(¨tð5ñ 5ô 5ð 5õ ”˜¨¨Sª¨  °c¸3Ñ?Ô?ˆAØ��#�q˜A¨4Ð0Ñ0Ô0ˆAÝ˜A˜t¨$Ð/Ñ/Ô/Ð/à��#�q˜A�‘”ˆAÝ�A˜Q�JÑÔÐÝ˜A˜q ™v¨DÐ1Ñ1Ô1Ð1å�) Q¨¨Q°QÐ7Ñ7Ô7Ð7Ý�) Q¨¨Q°QÐ7Ñ7Ô7Ð7Ý�) Q¨¨Q°RÐ8Ñ8Ô8Ð8Ý�) Q¨¨Q°"Ð5Ñ5Ô5Ð5Ý�) Q¨¨Q°!Ð4Ñ4Ô4Ð4Ý�) Q¨¨Q°aÐ8Ñ8Ô8Ð8Ý�) Q¨¨Qµ"´(¸6À3ÈÑ2LÔ2LÐMÑMÔMÐMÑMð3	Nð 	Nr6   c                 ó  — t          j        ddd¬¦  «        }t          j        ddd¬¦  «        }t          j        |d d …t           j        f         |z  |d d …t           j        f         |z  z   ¦  «        }t          j        |d d d…t           j        f         |d d d…         z  |d d d…t           j        f         |d d d…         z  z   ¦  «        }t          j        ddd	d
¬¦  «        }t          dddg¦  «        D �]Ž\  }}t          t          |dz   d ¦  «        }|€Œ"t           |d||¦  «        ||¬¦  «         t           |d||d¬¦  «        |d d…d d…f         |¬¦  «         t           |d||d¬¦  «        |j	        |¬¦  «         t           |d||dddd¬¦  «        ||¬¦  «         t           |d||ddddd¬¦  «        |d d…d d…f         |¬¦  «         t           |d||dddd¬¦  «        ||¬¦  «         t          j
        d|dk    rdndd¦  «        }	 |d|||	d¬¦  «        }
t          |	||¬¦  «          |d |||	¬!¦  «        }
t          |	|
u¦  «         t          |
d|z  |¬¦  «         t          t          |d||d¬"¦  «         t          t          |d||d¬#¦  «         t          t          |d||d¬#¦  «         t          t          |d||d¬$¦  «         t          t          |d||d¬%¦  «         t          t          |d||d¬%¦  «         t          t          |d||d¬¦  «         t          t          |d||d¬¦  «         t          t          |d||d¬¦  «         t          t          |d||t          j
        d&dd¦  «        ¬!¦  «         �Œ�d S )'NrF   rI   r(   r*   rM   rH   r   r©   rª   Fr«   rD   r®   r¯   Úsyr2r±   r²   rG   rÀ   Tr´   r    r„   ©r¶   r·   ÚincyÚoffy©r¶   r·   rÙ   rÚ   r¸   rŠ   r¹   rº   r<   r!   r»   r½   rJ   r¾   r¿   ©rÙ   ©rÚ   r   )r,   r   r   rÃ   rÄ   rÉ   rQ   r_   r   rÊ   r   r   rË   rÌ   )rS   r‹   rŒ   ÚresxyÚresxy_reverseÚqrT   r³   r<   rK   rÔ   s              r4   Ú	test_syr2zTestFBLAS2Simple.test_syr2k  s&  € ÝŒI�a˜ #Ð&Ñ&Ô&ˆÝŒI�a˜ #Ð&Ñ&Ô&ˆÝ”˜˜!˜!˜!�RœZ˜-Ô(¨1Ñ,¨q°°°µB´J°Ô/?À!Ñ/CÑCÑDÔDˆÝœ  $ $ B $­¬
Ð"2Ô 3°a¸¸¸"¸´gÑ =Ø"# D D b D­"¬*Ð$4Ô"5¸¸$¸$¸B¸$¼Ñ"?ñ!@ñ Aô Aˆõ ŒK˜˜3 ¨UÐ3Ñ3Ô3ˆå˜4 $¨ Ñ/Ô/ð "	8ñ "	8‰GˆAˆtÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ˜A˜A˜c 1 a™LœL¨%°dÐ;Ñ;Ô;Ð;Ý˜A˜A˜c 1 a¨1Ð-Ñ-Ô-¨u°R°a°R¸¸!¸°V¬}À4ÐHÑHÔHÐHÝ˜A˜A˜c 1 a¨tÐ4Ñ4Ô4°e´gÀDÐIÑIÔIÐIå˜A˜A˜c 1 a¨a°a¸aÀbÐIÑIÔIØ!¨ð.ñ .ô .ð .å˜A˜A˜c 1 a¨a°a¸aÀbÈAÐNÑNÔNØ! " 1 " b q b &œM°ð6ñ 6ô 6ð 6õ ˜A˜A˜c 1 a¨b°q¸rÈÐKÑKÔKØ)°ð6ñ 6ô 6ð 6õ ”˜¨¨Sª¨  °c¸3Ñ?Ô?ˆAØ��#�q˜!˜q¨dÐ3Ñ3Ô3ˆAÝ˜A˜u¨4Ð0Ñ0Ô0Ð0à��#�q˜!˜qÐ!Ñ!Ô!ˆAÝ�A˜Q�JÑÔÐÝ˜A˜q ™w¨TÐ2Ñ2Ô2Ð2å�) Q¨¨Q°¸Ð:Ñ:Ô:Ð:Ý�) Q¨¨Q°¸Ð:Ñ:Ô:Ð:Ý�) Q¨¨Q°¸Ð;Ñ;Ô;Ð;Ý�) Q¨¨Q°¸Ð:Ñ:Ô:Ð:Ý�) Q¨¨Q°¸Ð:Ñ:Ô:Ð:Ý�) Q¨¨Q°¸Ð;Ñ;Ô;Ð;Ý�) Q¨¨Q°°RÐ8Ñ8Ô8Ð8Ý�) Q¨¨Q°°QÐ7Ñ7Ô7Ð7Ý�) Q¨¨Q°¸Ð;Ñ;Ô;Ð;Ý�) Q¨¨Q°ÝœH V¨S°#Ñ6Ô6ð8ñ 8ô 8ð 8ñ 8ðC"	8ð "	8r6   c                 ó	  — t          j        ddd¬¦  «                             d¦  «        }t          j        ddd¬¦  «                             d¦  «        }|d d …t           j        f         |                     ¦   «         z  |d d …t           j        f         |                     ¦   «         z  z   }t          j        |¦  «        }|d d d…t           j        f         |d d d…                              ¦   «         z  }||d d d…t           j        f         |d d d…                              ¦   «         z  z  }t          j        |¦  «        }t           j        t          j        d¦  «        |t          j        d¦  «        f                              ¦   «         }t           j        t          j        d¦  «        |t          j        d¦  «        f                              ¦   «         }t          d	d
dg¦  «        D �] \  }}t          t          |dz   d ¦  «        }	|	€Œ"t           |	d||¦  «        ||¬¦  «         t           |	d||d¬¦  «        |d d…d d…f         |¬¦  «         t           |	d||d¬¦  «        |j                             ¦   «         |¬¦  «         t           |	d||dddd¬¦  «        ||¬¦  «         t           |	d||ddddd¬¦  «        |d d…d d…f         |¬¦  «         t           |	d||dddd¬¦  «        ||¬¦  «         t          j        d|dk    rdndd¦  «        }
 |	d|||
d¬¦  «        }t          |
||¬¦  «          |	d|||
¬¦  «        }t          |
|u¦  «         t          |d|z  |¬¦  «         t          t           |	d||d¬¦  «         t          t           |	d||d¬¦  «         t          t           |	d||d ¬¦  «         t          t           |	d||d¬!¦  «         t          t           |	d||d¬"¦  «         t          t           |	d||d ¬"¦  «         t          t           |	d||d ¬¦  «         t          t           |	d||d¬¦  «         t          t           |	d||d#¬¦  «         t          t           |	d||t          j        d$dd¦  «        ¬¦  «         �Œ¢d S )%NrF   rM   r(   r*   r­   rª   rH   rb   rO   r®   r¯   Úher2r±   r²   rG   rÀ   Tr´   rØ   rÛ   rÁ   r¹   r+   r!   r»   r½   rJ   r   r¾   rI   r¿   rŠ   rÜ   rÝ   r    r   )r,   r   rÅ   rÃ   rÆ   r   rÇ   r   rÈ   rÉ   rQ   r_   r   rÊ   r   rË   rÌ   )rS   r‹   rŒ   rÞ   rß   ÚuÚvrT   r³   r<   rK   rÔ   s               r4   Ú	test_her2zTestFBLAS2Simple.test_her2˜  s¼  € ÝŒI�a˜ #Ð&Ñ&Ô&×+Ò+¨CÑ0Ô0ˆÝŒI�a˜ 3Ð'Ñ'Ô'×,Ò,¨SÑ1Ô1ˆØ�!�!�!•R”Z�-Ô  1§6¢6¡8¤8Ñ+¨a°°°µ2´:°Ô.>ÀÇÂÁÄÑ.IÑIˆÝ”˜‘”ˆà˜$˜$˜B˜$¥¤
Ð*Ô+¨a°°°"°¬g¯lªl©n¬nÑ<ˆØ˜˜4˜4˜R˜4¥¤Ð+Ô,¨q°°°2°¬w¯|ª|©~¬~Ñ=Ñ=ˆÝœ Ñ.Ô.ˆåŒE•"”(˜1‘+”+˜q¥"¤(¨1¡+¤+Ð-Ô.×4Ò4Ñ6Ô6ˆÝŒE•"”(˜1‘+”+˜q¥"¤(¨1¡+¤+Ð-Ô.×4Ò4Ñ6Ô6ˆå˜4 $¨ Ñ/Ô/ð #	8ñ #	8‰GˆAˆtÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ˜A˜A˜c 1 a™LœL¨%°dÐ;Ñ;Ô;Ð;Ý˜A˜A˜c 1 a¨1Ð-Ñ-Ô-¨u°R°a°R¸¸!¸°V¬}À4ÐHÑHÔHÐHÝ˜A˜A˜c 1 a¨tÐ4Ñ4Ô4°e´g·l²l±n´nØ!%ð'ñ 'ô 'ð 'õ ˜A˜A˜c 1 a¨a°a¸aÀaÐHÑHÔHØ!¨ð.ñ .ô .ð .å˜A˜A˜c 1 a¨a°a¸aÀaÈ1ÐMÑMÔMØ! " 1 " b q b &œM°ð6ñ 6ô 6ð 6õ ˜A˜A˜c 1 a¨b°q¸rÈÐJÑJÔJØ)°ð6ñ 6ô 6ð 6õ ”˜¨¨Sª¨  °c¸3Ñ?Ô?ˆAØ��#�q˜!˜q¨dÐ3Ñ3Ô3ˆAÝ˜A˜u¨4Ð0Ñ0Ô0Ð0à��#�q˜!˜qÐ!Ñ!Ô!ˆAÝ�A˜Q�JÑÔÐÝ˜A˜q ™w¨TÐ2Ñ2Ô2Ð2å�) Q¨¨Q°¸Ð:Ñ:Ô:Ð:Ý�) Q¨¨Q°¸Ð:Ñ:Ô:Ð:Ý�) Q¨¨Q°¸Ð;Ñ;Ô;Ð;Ý�) Q¨¨Q°¸Ð:Ñ:Ô:Ð:Ý�) Q¨¨Q°¸Ð:Ñ:Ô:Ð:Ý�) Q¨¨Q°¸Ð;Ñ;Ô;Ð;Ý�) Q¨¨Q°°RÐ8Ñ8Ô8Ð8Ý�) Q¨¨Q°°QÐ7Ñ7Ô7Ð7Ý�) Q¨¨Q°¸Ð;Ñ;Ô;Ð;Ý�) Q¨¨Q°ÝœH V¨S°#Ñ6Ô6ð8ñ 8ô 8ð 8ñ 8ðE#	8ð #	8r6   c                 ób  — t           j                             d¦  «        }t          t          ¦  «        D �]ù\  }}d}d}d}d}t          t          |                     |dz   ¦  «        t          ||z
  dz
  ¦  «        ¦  «        t          |                     |dz   ¦  «        t          ||z
  dz
  ¦  «        ¦  «        ¦  «        }|                     |¦  «        }t          ||z   dz   |f|¬¦  «        }	|d         |	dd d…f<   |d         |	ddd	…f<   |d
         |	ddd…f<   |d         |	dd d…f<   |                     |¦  «                             |¦  «        }
|                     |¦  «                             |¦  «        } |d¦  «         |d¦  «        }}t          d|¬¦  «        \  } |||||||	|
||¬¦	  «	        }|| 
                    |
¦  «        z  ||z  z   }t          ||¦  «          |||||||	||
|d¬¦
  «
        }||j         
                    |¦  «        z  ||
z  z   }t          ||¦  «         �Œûd S )NéÒ  rL   rI   rF   r    r*   )r   r   )r   rF   rƒ   )r   r    r   )rF   r   rG   rb   r“   )Úgbmv)	Úmr¸   ÚkuÚklÚalpharK   r‹   rŒ   Úbeta)
rê   r¸   rë   rì   rí   rK   r‹   rŒ   rî   Útrans)r,   ÚrandomÚdefault_rngÚ	enumerateÚDTYPESr   r   r   Úastyper   r9   r   rÊ   )rS   ÚrngÚindr"   r¸   rê   rì   rë   ÚAÚAbr‹   rŒ   rí   rî   ÚfuncrŽ   Úy2s                    r4   Ú	test_gbmvzTestFBLAS2Simple.test_gbmvÊ  sS  € ÝŒi×#Ò# DÑ)Ô)ˆÝ#¥FÑ+Ô+ð 	.ñ 	.‰JˆC�ØˆAØˆAØˆBØˆBå� §
¢
¨2¨a©4Ñ 0Ô 0µ%¸¸"¹¸Q¹±-´-Ñ@Ô@Ý §
¢
¨2¨a©4Ñ 0Ô 0µ%¸¸"¹¸Q¹±-´-Ñ@Ô@ñBô BˆAà—’˜‘”ˆAÝ˜˜2™˜a™ �|¨5Ð1Ñ1Ô1ˆBð ˜$œˆBˆq�"�1�"ˆu‰IØ˜4œˆBˆq�!�A�#ˆv‰JØ˜4œˆBˆq�!�A�#ˆv‰JØ˜$œˆBˆq�"�1�"ˆu‰Ià—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAØ˜% ™(œ( E E¨"¡I¤I�4ˆEå" 9°EÐ:Ñ:Ô:‰EˆDØ�˜˜Q 2¨"°E¸RØ˜Q Tð+ñ +ô +ˆBà˜Ÿš˜q™œÑ! D¨1¡HÑ,ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜Q 2¨"°E¸RØ˜Q T°ð4ñ 4ô 4ˆBà˜œŸš ™œÑ# d¨Q¡hÑ.ˆBÝ% b¨"Ñ-Ô-Ð-Ñ-ð=	.ð 	.r6   c           	      óN  — t           j                             d¦  «        }t          t          ¦  «        D �]ï\  }}d}d}t          ||f|¬¦  «        }t          |dz   |f|¬¦  «        }|                     |¦  «        |t          |¦  «        t          |¦  «        f<   t          d|dz   ¦  «        D ]K}|                     ||z
  ¦  «        }	|	|t          ||z
  ¦  «        t          ||¦  «        f<   |	|d|z
  |d …f<   ŒL|                     |¦  «        }|dk     r
||j	        z   n|| 
                    ¦   «         j	        z   }t          |¦  «        |dd d …f<   |                     |¦  «                             |¦  «        }
|                     |¦  «                             |¦  «        } |d¦  «         |d¦  «        }}|dk    rt          d	|¬¦  «        \  }nt          d
|¬¦  «        \  } |||||
||¬¦  «        }||                     |
¦  «        z  ||z  z   }t          ||¦  «         �Œñd S )Nrè   rƒ   r    r*   rF   rH   ç      ô?rG   )Úhbmv)Úsbmv)Úkrí   rK   r‹   rŒ   rî   )r,   rð   rñ   rò   ró   r   r   Úrangerô   rÊ   rÆ   r   r   r9   r   )rS   rõ   rö   r"   r¸   r   r÷   rø   Úind2Útempr‹   rŒ   rí   rî   rù   rŽ   rú   s                    r4   Útest_sbmv_hbmvzTestFBLAS2Simple.test_sbmv_hbmvì  s$  € ÝŒi×#Ò# DÑ)Ô)ˆÝ#¥FÑ+Ô+ð 	.ñ 	.‰JˆC�ØˆAØˆAÝ�q˜!�f EÐ*Ñ*Ô*ˆAÝ˜˜!™˜Q�x uÐ-Ñ-Ô-ˆBð '*§j¢j°¡m¤mˆA�f�Q‰iŒi� ™œÐ"Ñ#Ý˜a  1¡™œð *ð *�Ø—z’z ! D¡&Ñ)Ô)�Ø59�•&˜˜4™‘.”.¥&¨¨q¡/¤/Ð1Ñ2Ø%)��2�d‘7˜D˜E˜E�>Ñ"Ð"Ø—’˜‘”ˆAØ š7˜7��A”C‘�¨¨A¯FªF©H¬H¬J©ˆAÝ˜Q™œˆBˆr�1�1�1ˆu‰IØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAØ˜% ™+œ+ u u¨Q¡x¤x�4ˆEà�QŠwˆwÝ& y¸Ð>Ñ>Ô>‘��å& y¸Ð>Ñ>Ô>‘�Ø�˜ ¨"°°Q¸TÐBÑBÔBˆBØ˜Ÿš˜q™œÑ! D¨1¡HÑ,ˆBÝ% b¨"Ñ-Ô-Ð-Ñ-ð3	.ð 	.r6   c                 ó.  — t           j                             d¦  «        }t          t          t
          z   ¦  «        D �]W\  }}d}|                     ||f¦  «                             |¦  «        }|dk    r||                     ||f¦  «        dz  z  }|                     |¦  «        }|dk     r
||j        z   n||                     ¦   «         j        z   }t          |¦  «        \  }}|||f         }|                     |¦  «                             |¦  «        }	|                     |¦  «                             |¦  «        }
t          d|z  ¦  «                             |¦  «        }t          d|z  ¦  «                             |¦  «        } |d¦  «         |d¦  «        }}|dk    rt          d|¬	¦  «        \  }nt          d
|¬	¦  «        \  } |||||	|
|¬¦  «        }||                     |	¦  «        z  ||
z  z   }t          ||¦  «          ||dz
  |||||dd||¬¦
  «
        }||d d…d d…f         z                       |dd d…         ¦  «        ||dd d…         z  z   }t          |dd d…         |¦  «         t          |d         |d         ¦  «         �ŒYd S )Niba¼ rG   rF   r¤   rb   r    rý   )Úhpmvr*   )Úspmv)r¸   rí   Úapr‹   rŒ   rî   )
r¸   rí   rî   r‹   rŒ   r  r¶   rÙ   r·   rÚ   rH   )r,   rð   rñ   rò   ró   ÚCOMPLEX_DTYPESrô   rÊ   rÆ   r   r   r   r   r9   r   r   )rS   rõ   rö   r"   r¸   r÷   r+   ÚrÚApr‹   rŒ   ÚxlongÚylongrí   rî   rù   rŽ   rú   s                     r4   Útest_spmv_hpmvzTestFBLAS2Simple.test_spmv_hpmv	  s–  € ÝŒi×#Ò# HÑ-Ô-ˆÝ#¥F­>Ñ$9Ñ:Ô:ð 	1ñ 	1‰JˆC�ØˆAØ—
’
˜A˜q˜6Ñ"Ô"×)Ò)¨%Ñ0Ô0ˆAØ�QŠwˆwØ�S—Z’Z  A Ñ'Ô'¨Ñ*Ñ*�Ø—’˜‘”ˆAØ š7˜7��A”C‘�¨¨A¯FªF©H¬H¬J©ˆAÝ ‘?”?‰DˆAˆqØ�1�a�4”ˆBØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAÝ˜1˜Q™3‘K”K×&Ò& uÑ-Ô-ˆEÝ˜˜1™‘I”I×$Ò$ UÑ+Ô+ˆEØ˜% ™+œ+ u u¨Q¡x¤x�4ˆEà�QŠwˆwÝ& y¸Ð>Ñ>Ô>‘��å& y¸Ð>Ñ>Ô>‘�Ø�˜ ¨2°°a¸dÐCÑCÔCˆBØ˜Ÿš˜q™œÑ! D¨1¡HÑ,ˆBÝ% b¨"Ñ-Ô-Ð-ð �˜˜!™ 5¨t°uÀÈ"Ø 1¨1°1ð6ñ 6ô 6ˆBà˜!˜C˜R˜C  " ˜Hœ+Ñ%×*Ò*¨5°°°A°¬;Ñ7Ô7¸$ÀÀqÀtÈ!ÀtÄÑ:LÑLˆBÝ% b¨¨¨A¨¤h°Ñ3Ô3Ð3Ý  1¤ u¨Q¤xÑ0Ô0Ð0Ñ0ð9	1ð 	1r6   c                 ót  — t           j                             d¦  «        }t          t          t
          z   ¦  «        D �]ú\  }}d}|                     ||f¦  «                             |¦  «        }|dk    r||                     ||f¦  «        dz  z  }|                     |¦  «        }|dk     r
||j        z   n||                     ¦   «         j        z   }t          |¦  «        \  }}|||f         }|                     |¦  «                             |¦  «        }	t	          t
          z   t          |d¦  «                 d¦  «        }
|dk    rUt          d|¬¦  «        \  }|
|	d d …d f                              |	d d d …f                              ¦   «         ¦  «        z  |z   }nBt          d	|¬¦  «        \  }|
|	d d …d f                              |	d d d …f         ¦  «        z  |z   } |||
||	¬
¦  «        }t          d|¬¦  «        }||||f<   |dk    r|                     ¦   «         n||||f<   t          ||¦  «         �Œüd S )Nrè   rG   rF   r¤   rb   g      @)Úhprr*   )Úspr)r¸   rí   r  r‹   ©rG   rG   )r,   rð   rñ   rò   ró   r	  rô   rÊ   rÆ   r   r   r   r9   r   r   )rS   rõ   rö   r"   r¸   r÷   r+   r
  r  r‹   rí   rù   rú   rŽ   Úy1fs                  r4   Útest_spr_hprzTestFBLAS2Simple.test_spr_hpr)  s+  € ÝŒi×#Ò# DÑ)Ô)ˆÝ#¥F­>Ñ$9Ñ:Ô:ð 	/ñ 	/‰JˆC�ØˆAØ—
’
˜A˜q˜6Ñ"Ô"×)Ò)¨%Ñ0Ô0ˆAØ�QŠwˆwØ�S—Z’Z  A Ñ'Ô'¨Ñ*Ñ*�Ø—’˜‘”ˆAØ š7˜7��A”C‘�¨¨A¯FªF©H¬H¬J©ˆAÝ ‘?”?‰DˆAˆqØ�1�a�4”ˆBØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAÝ�NÑ*­C°°Q©K¬KÔ8¸Ñ=Ô=ˆEà�QŠwˆwÝ& x°uÐ=Ñ=Ô=‘�Ø˜Q˜q˜q˜q $˜wœZŸ^š^¨A¨d°A°A°A¨g¬J¯OªOÑ,=Ô,=Ñ>Ô>Ñ>ÀÑB��å& x°uÐ=Ñ=Ô=‘�Ø˜Q˜q˜q˜q $˜wœZŸ^š^¨A¨d°A°A°A¨g¬JÑ7Ô7Ñ7¸!Ñ;�à�˜ ¨2°Ð3Ñ3Ô3ˆBÝ˜ eÐ,Ñ,Ô,ˆCØˆC��1�‰IØ%(¨1¢W W˜Ÿš™	œ	˜	°"ˆC��1�‰IÝ% c¨2Ñ.Ô.Ð.Ñ.ð/	/ð 	/r6   c                 ó|  — t           j                             d¦  «        }t          t          ¦  «        D �]\  }}d}|                     ||f¦  «                             |¦  «        }|dk    r||                     ||f¦  «        dz  z  }|                     |¦  «        }|dk     r
||j        z   n||                     ¦   «         j        z   }t          |¦  «        \  }}|||f         }|                     |¦  «                             |¦  «        }	|                     |¦  «                             |¦  «        }
 |d¦  «        }|dk    rt          d|¬¦  «        \  }nt          d|¬¦  «        \  }|                     ¦   «         |	d d …d f          
                    |
d d d …f                              ¦   «         ¦  «        z  }||z   |                     ¦   «         j        z   } ||||	|
|¬	¦  «        }t          d
|¬¦  «        }||||f<   |g d¢                              ¦   «         |g d¢g d¢f<   t          ||¦  «         �Œd S )Nrè   rG   rF   r¤   r    )Úhpr2r*   )Úspr2)r¸   rí   r‹   rŒ   r  r  )rF   rG   rb   )rF   r    r    )r   r   rF   )r,   rð   rñ   rò   ró   rô   rÊ   rÆ   r   r   r9   r   r   )rS   rõ   rö   r"   r¸   r÷   r+   r
  r  r‹   rŒ   rí   rù   rä   rú   rŽ   r  s                    r4   Útest_spr2_hpr2zTestFBLAS2Simple.test_spr2_hpr2D  s%  € ÝŒi×#Ò# DÑ)Ô)ˆÝ#¥FÑ+Ô+ð 	/ñ 	/‰JˆC�ØˆAØ—
’
˜A˜q˜6Ñ"Ô"×)Ò)¨%Ñ0Ô0ˆAØ�QŠwˆwØ�S—Z’Z  A Ñ'Ô'¨Ñ*Ñ*�Ø—’˜‘”ˆAØ š7˜7��A”C‘�¨¨A¯FªF©H¬H¬J©ˆAÝ ‘?”?‰DˆAˆqØ�1�a�4”ˆBØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAØ�E˜!‘H”HˆEà�QŠwˆwÝ& y¸Ð>Ñ>Ô>‘��å& y¸Ð>Ñ>Ô>‘�à—
’
‘”˜q    D œzŸ~š~¨a°°a°a°a°¬j¯oªoÑ.?Ô.?Ñ@Ô@Ñ@ˆAØ�Q‘˜Ÿš™œœÑ#ˆBØ�˜ ¨!¨q°RÐ8Ñ8Ô8ˆBÝ˜ eÐ,Ñ,Ô,ˆCØˆC��1�‰IØ(*¨9¨9¨9¬×(:Ò(:Ñ(<Ô(<ˆC�	�	�	˜9˜9˜9Ð$Ñ%Ý% c¨2Ñ.Ô.Ð.Ñ.ð1	/ð 	/r6   c                 ó8  — t           j                             d¦  «        }t          t          ¦  «        D �]d\  }}d}d}|                     |¦  «                             |¦  «        }t          ||f|¬¦  «        }t          |dz   ¦  «        D ]=}|                     ||z
  ¦  «        |t          ||z
  ¦  «        t          ||¦  «        f<   Œ>|dk    rX|t          |¦  «        xx         d|                     |dz   |z  ||dz   z  dz  z
  ¦  «                             |¦  «        z  z  cc<   t          |dz   |f|¬¦  «        }	t          |dz   ¦  «        D ]}
t          ||
¬¦  «        |	|
 dz
  |
d …f<   Œt          d	|¬¦  «        \  } |||	|¬
¦  «        }|                     |¦  «        }t          ||¦  «          |||	|d¬¦  «        } |d¦  «        |t          |¦  «        t          |¦  «        f<   |                     |¦  «        }t          ||¦  «          |||	|dd¬¦  «        }|j                             |¦  «        }t          ||¦  «          |||	|dd¬¦  «        }|                     ¦   «         j                             |¦  «        }t          ||¦  «         �Œfd S )Nrè   r„   rG   r*   rF   r¤   r    ©r   )Útbmv©r   rK   r‹   ©r   rK   r‹   r   ©r   rK   r‹   r   rï   )r,   rð   rñ   rò   ró   rô   r   r  r   r   r   r   r9   r   rÊ   rÆ   ©rS   rõ   rö   r"   r¸   r   r‹   r÷   Úsuprø   Úrowrù   rŽ   rú   s                 r4   Ú	test_tbmvzTestFBLAS2Simple.test_tbmv`  s¨  € ÝŒi×#Ò# DÑ)Ô)ˆÝ#¥FÑ+Ô+ð "	.ñ "	.‰JˆC�ØˆAØˆAØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAÝ�q˜!�f EÐ*Ñ*Ô*ˆAå˜Q˜q™S‘z”zð Eð E�Ø36·:²:¸aÀ¹eÑ3DÔ3D�•&˜˜3™‘-”-¥¨¨Q¡¤Ð/Ñ0Ð0ð �QŠwˆwØ•'˜!‘*”*��”  c§j¢j°!°A±#°q±¸!¸Q¸q¹S¹'À1¹*Ñ1EÑ&FÔ&F×&MÒ&MÈeÑ&TÔ&TÑ!TÑT��‘õ ˜˜!™˜Q�x uÐ-Ñ-Ô-ˆBÝ˜Q˜q™S‘z”zð 2ð 2�Ý#'¨¨S >¡>¤>��C�4˜‘6˜3˜4˜4�<Ñ Ð Ý" 9°EÐ:Ñ:Ô:‰EˆDà�˜˜R 1Ð%Ñ%Ô%ˆBØ—’�q‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜R 1¨1Ð-Ñ-Ô-ˆBØ&+ e¨A¡h¤hˆA�f�Q‰iŒi� ™œÐ"Ñ#Ø—’�q‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜R 1¨1°AÐ6Ñ6Ô6ˆBØ”—’˜‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜R 1¨1°AÐ6Ñ6Ô6ˆBØ—’‘””—’ Ñ"Ô"ˆBÝ% b¨"Ñ-Ô-Ð-Ñ-ðE"	.ð "	.r6   c                 ó  — t           j                             d¦  «        }t          t          ¦  «        D �]P\  }}d}d}|                     |¦  «                             |¦  «        }t          ||f|¬¦  «        }t          |dz   ¦  «        D ]=}|                     ||z
  ¦  «        |t          ||z
  ¦  «        t          ||¦  «        f<   Œ>|dk    rX|t          |¦  «        xx         d|                     |dz   |z  ||dz   z  dz  z
  ¦  «                             |¦  «        z  z  cc<   t          |dz   |f|¬¦  «        }	t          |dz   ¦  «        D ]}
t          ||
¬¦  «        |	|
 dz
  |
d …f<   Œt          d	|¬¦  «        \  } |||	|¬
¦  «        }t          ||¦  «        }t          ||¦  «          |||	|d¬¦  «        } |d¦  «        |t          |¦  «        t          |¦  «        f<   t          ||¦  «        }t          ||¦  «          |||	|dd¬¦  «        }t          |j        |¦  «        }t          ||¦  «          |||	|dd¬¦  «        }t          |                     ¦   «         j        |¦  «        }t          ||¦  «         �ŒRd S )Nrè   rƒ   rG   r*   rF   r¤   r    r  )Útbsvr  r  r  )r,   rð   rñ   rò   ró   rô   r   r  r   r   r   r   r   r   rÊ   rÆ   r  s                 r4   Ú	test_tbsvzTestFBLAS2Simple.test_tbsv†  s   € ÝŒi×#Ò# DÑ)Ô)ˆÝ#¥FÑ+Ô+ð "	.ñ "	.‰JˆC�ØˆAØˆAØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAÝ�q˜!�f EÐ*Ñ*Ô*ˆAå˜Q˜q™S‘z”zð Eð E�Ø36·:²:¸aÀ¹eÑ3DÔ3D�•&˜˜3™‘-”-¥¨¨Q¡¤Ð/Ñ0Ð0ð �QŠwˆwØ•'˜!‘*”*��”  c§j¢j°!°A±#°q±¸!¸Q¸q¹S¹'À1¹*Ñ1EÑ&FÔ&F×&MÒ&MÈeÑ&TÔ&TÑ!TÑT��‘õ ˜˜!™˜Q�x uÐ-Ñ-Ô-ˆBÝ˜Q˜q™S‘z”zð 2ð 2�Ý#'¨¨S >¡>¤>��C�4˜‘6˜3˜4˜4�<Ñ Ð Ý" 9°EÐ:Ñ:Ô:‰EˆDà�˜˜R 1Ð%Ñ%Ô%ˆBÝ�q˜!‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜R 1¨1Ð-Ñ-Ô-ˆBØ&+ e¨A¡h¤hˆA�f�Q‰iŒi� ™œÐ"Ñ#Ý�q˜!‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜R 1¨1°AÐ6Ñ6Ô6ˆBÝ�q”s˜A‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜R 1¨1°AÐ6Ñ6Ô6ˆBÝ�q—v’v‘x”x”z 1Ñ%Ô%ˆBÝ% b¨"Ñ-Ô-Ð-Ñ-ðE"	.ð "	.r6   c                 ó0  — t           j                             d¦  «        }t          t          ¦  «        D �]à\  }}d}|                     |¦  «                             |¦  «        }|dk     r%t          |                     ||f¦  «        ¦  «        }n?t          |                     ||f¦  «        |                     ||f¦  «        dz  z   ¦  «        }t          |¦  «        \  }}|||f         }	t          d|¬¦  «        \  }
 |
||	|¬¦  «        }| 	                    |¦  «        }t          ||¦  «          |
||	|d¬	¦  «        } |d¦  «        |t          |¦  «        t          |¦  «        f<   | 	                    |¦  «        }t          ||¦  «          |
||	|dd¬
¦  «        }|j         	                    |¦  «        }t          ||¦  «          |
||	|dd¬
¦  «        }|                     ¦   «         j         	                    |¦  «        }t          ||¦  «         �Œâd S )Nrè   r„   r    r¤   )Útpmvr*   ©r¸   r  r‹   rF   ©r¸   r  r‹   r   ©r¸   r  r‹   r   rï   )r,   rð   rñ   rò   ró   rô   r   r   r   r9   r   r   rÊ   rÆ   ©rS   rõ   rö   r"   r¸   r‹   r÷   r+   r
  r  rù   rŽ   rú   s                r4   Ú	test_tpmvzTestFBLAS2Simple.test_tpmv¬  s  € ÝŒi×#Ò# DÑ)Ô)ˆÝ#¥FÑ+Ô+ð 	.ñ 	.‰JˆC�ØˆAØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAà�QŠwˆwÝ˜Ÿš Q¨ FÑ+Ô+Ñ,Ô,��å˜Ÿš Q¨ FÑ+Ô+¨c¯jªj¸!¸Q¸Ñ.@Ô.@ÀÑ.CÑCÑDÔD�õ   ‘?”?‰DˆAˆqØ�1�a�4”ˆBÝ" 9°EÐ:Ñ:Ô:‰EˆDà�˜˜b AÐ&Ñ&Ô&ˆBØ—’�q‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜b A¨AÐ.Ñ.Ô.ˆBØ&+ e¨A¡h¤hˆA�f�Q‰iŒi� ™œÐ"Ñ#Ø—’�q‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜b A¨A°QÐ7Ñ7Ô7ˆBØ”—’˜‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜b A¨A°QÐ7Ñ7Ô7ˆBØ—’‘””—’ Ñ"Ô"ˆBÝ% b¨"Ñ-Ô-Ð-Ñ-ð;	.ð 	.r6   c                 ó,  — t           j                             d¦  «        }t          t          ¦  «        D �]Þ\  }}d}|                     |¦  «                             |¦  «        }|dk     r%t          |                     ||f¦  «        ¦  «        }n?t          |                     ||f¦  «        |                     ||f¦  «        dz  z   ¦  «        }|t          |¦  «        z  }t          |¦  «        \  }}|||f         }	t          d|¬¦  «        \  }
 |
||	|¬¦  «        }t          ||¦  «        }t          ||¦  «          |
||	|d¬	¦  «        } |d¦  «        |t          |¦  «        t          |¦  «        f<   t          ||¦  «        }t          ||¦  «          |
||	|dd¬
¦  «        }t          |j        |¦  «        }t          ||¦  «          |
||	|dd¬
¦  «        }t          |                     ¦   «         j        |¦  «        }t          ||¦  «         �Œàd S )Nrè   r„   r    r¤   )Útpsvr*   r(  rF   r)  r*  )r,   rð   rñ   rò   ró   rô   r   r   r   r   r   r   r   rÊ   rÆ   r+  s                r4   Ú	test_tpsvzTestFBLAS2Simple.test_tpsvÍ  s  € ÝŒi×#Ò# DÑ)Ô)ˆÝ#¥FÑ+Ô+ð 	.ñ 	.‰JˆC�ØˆAØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAà�QŠwˆwÝ˜Ÿš Q¨ FÑ+Ô+Ñ,Ô,��å˜Ÿš Q¨ FÑ+Ô+¨c¯jªj¸!¸Q¸Ñ.@Ô.@ÀÑ.CÑCÑDÔD�Ø•�Q‘”‰KˆAå ‘?”?‰DˆAˆqØ�1�a�4”ˆBÝ" 9°EÐ:Ñ:Ô:‰EˆDà�˜˜b AÐ&Ñ&Ô&ˆBÝ�q˜!‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜b A¨AÐ.Ñ.Ô.ˆBØ&+ e¨A¡h¤hˆA�f�Q‰iŒi� ™œÐ"Ñ#Ý�q˜!‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜b A¨A°QÐ7Ñ7Ô7ˆBÝ�q”s˜A‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜b A¨A°QÐ7Ñ7Ô7ˆBÝ�q—v’v‘x”x”z 1Ñ%Ô%ˆBÝ% b¨"Ñ-Ô-Ð-Ñ-ð;	.ð 	.r6   c                 óø  — t           j                             d¦  «        }t          t          ¦  «        D �]Ä\  }}d}|                     ||f¦  «        t          |¦  «        z                        |¦  «        }|                     d¦  «                             |¦  «        }t          d|¬¦  «        \  } |||¬¦  «        }t          |¦  «         	                    |¦  «        }	t          ||	¦  «          |||d¬¦  «        } |d¦  «        |t          |¦  «        t          |¦  «        f<   t          |¦  «         	                    |¦  «        }	t          ||	¦  «          |||dd¬¦  «        }t          |¦  «        j         	                    |¦  «        }	t          ||	¦  «          |||dd	¬¦  «        }t          |¦  «                             ¦   «         j         	                    |¦  «        }	t          ||	¦  «         �ŒÆd S )
Nrè   rG   )Útrmvr*   ©rK   r‹   rF   ©rK   r‹   r   ©rK   r‹   r   rï   r    )r,   rð   rñ   rò   ró   r   rô   r   r   r9   r   r   rÊ   rÆ   ©
rS   rõ   rö   r"   r¸   r÷   r‹   rù   rŽ   rú   s
             r4   Ú	test_trmvzTestFBLAS2Simple.test_trmvî  sÄ  € ÝŒi×#Ò# DÑ)Ô)ˆÝ#¥FÑ+Ô+ð 	.ñ 	.‰JˆC�ØˆAØ—’˜Q ˜FÑ#Ô#¥C¨¡F¤FÑ*×2Ò2°5Ñ9Ô9ˆAØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAÝ" 9°EÐ:Ñ:Ô:‰EˆDà�˜˜Q�‘”ˆBÝ�a‘”—’˜Q‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜Q QÐ'Ñ'Ô'ˆBØ&+ e¨A¡h¤hˆA�f�Q‰iŒi� ™œÐ"Ñ#Ý�a‘”—’˜Q‘”ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜Q Q¨aÐ0Ñ0Ô0ˆBÝ�a‘””—’˜qÑ!Ô!ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜Q Q¨aÐ0Ñ0Ô0ˆBÝ�a‘”—’‘”Ô!×%Ò% aÑ(Ô(ˆBÝ% b¨"Ñ-Ô-Ð-Ñ-ð+	.ð 	.r6   c                 óF  — t           j                             d¦  «        }t          t          ¦  «        D �]ë\  }}d}|                     ||f¦  «        t          |¦  «        z                        |¦  «        }|                     |¦  «                             |¦  «        }t          d|¬¦  «        \  } |||¬¦  «        }t          t          |¦  «        |¦  «        }	t          ||	¦  «          |||d¬¦  «        }t          t          |¦  «        |¦  «        }	t          ||	¦  «          |||d¬¦  «        } |d¦  «        |t          |¦  «        t          |¦  «        f<   t          t          |¦  «        |¦  «        }	t          ||	¦  «          |||dd¬	¦  «        }t          t          |¦  «        j        |¦  «        }	t          ||	¦  «          |||dd
¬	¦  «        }t          t          |¦  «                             ¦   «         j        |¦  «        }	t          ||	¦  «         �Œíd S )Nrè   é   )Útrsvr*   r2  rF   )rK   r‹   rµ   r3  r4  r    )r,   rð   rñ   rò   ró   r   rô   r   r   r   r   r   r   rÊ   rÆ   r5  s
             r4   Ú	test_trsvzTestFBLAS2Simple.test_trsv  sù  € ÝŒi×#Ò# DÑ)Ô)ˆÝ#¥FÑ+Ô+ð 	.ñ 	.‰JˆC�ØˆAØ—’˜Q ˜FÑ#Ô#¥C¨¡F¤FÑ*×2Ò2°5Ñ9Ô9ˆAØ—
’
˜1‘”×$Ò$ UÑ+Ô+ˆAÝ" 9°EÐ:Ñ:Ô:‰EˆDà�˜˜Q�‘”ˆBÝ•t˜A‘w”w Ñ"Ô"ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜Q aÐ(Ñ(Ô(ˆBÝ•t˜A‘w”w Ñ"Ô"ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜Q QÐ'Ñ'Ô'ˆBØ&+ e¨A¡h¤hˆA�f�Q‰iŒi� ™œÐ"Ñ#Ý•t˜A‘w”w Ñ"Ô"ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜Q Q¨aÐ0Ñ0Ô0ˆBÝ•t˜A‘w”w”y !Ñ$Ô$ˆBÝ% b¨"Ñ-Ô-Ð-à�˜˜Q Q¨aÐ0Ñ0Ô0ˆBÝ•t˜A‘w”w—|’|‘~”~Ô'¨Ñ+Ô+ˆBÝ% b¨"Ñ-Ô-Ð-Ñ-ð3	.ð 	.r6   N)rW   rX   rY   rž   ÚpytestÚmarkÚthread_unsafer§   rÕ   rá   ræ   rû   r  r  r  r  r"  r%  r,  r/  r6  r:  rZ   r6   r4   r–   r–   ×   s)  € € € € € ð1ð 1ð 1ð" „[ÔðHð Hñ ÔðHð@^Nð ^Nð ^Nð@+8ð +8ð +8ðZ08ð 08ð 08ðd .ð  .ð  .ðD.ð .ð .ð:1ð 1ð 1ð@/ð /ð /ð6/ð /ð /ð8$.ð $.ð $.ðL$.ð $.ð $.ðL.ð .ð .ðB.ð .ð .ðB.ð .ð .ð2.ð .ð .ð .ð .r6   r–   c                   ó   — e Zd Zd„ ZdS )ÚTestFBLAS3Simplec           
      óŠ  — dD ]^}t          t          |dz   d ¦  «        }|€Œt           |ddgdg¦  «        dgg¦  «         t           |ddgdgddg¦  «        dg¦  «         Œ_dD ]^}t          t          |dz   d ¦  «        }|€Œt           |d	d
gdg¦  «        dgg¦  «         t           |d	d
gdgddg¦  «        dg¦  «         Œ_d S )NrD   r)   rG   ri   r™   rI   rš   rO   rn   ro   r›   rœ   r�   r^   rR   s      r4   Ú	test_gemmzTestFBLAS3Simple.test_gemm'  s  € Øð 	Fð 	FˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨¨A¨3°°¡o¤o¸¸°wÑ?Ô?Ð?Ý% a a¨¨A¨3°°°a¸!¸Ñ&=Ô&=À¸uÑEÔEÐEÐEØð 	Oð 	OˆAÝ�˜q ™x¨Ñ.Ô.ˆAØˆyØÝ% a a¨¨T¨F°R°DÑ&9Ô&9¸W¸I¸;ÑGÔGÐGÝ% a a¨¨T¨F°R°D¸!¸b¸TÑ&BÔ&BÀWÀIÑNÔNÐNÐNð	Oð 	Or6   N)rW   rX   rY   rA  rZ   r6   r4   r?  r?  %  s(   € € € € € ðOð Oð Oð Oð Or6   r?  Úsdzcc              #   óT   K  — |D ]"}t          t          || z   d¦  «        }|€Œ|V — Œ#dS )z;Just a helper: return a specified BLAS function w/typecode.N)rQ   r_   )rù   ÚpsrT   r<   s       r4   Ú	_get_funcrE  6  sG   è è € àð ð ˆÝ•E˜1˜T™6 4Ñ(Ô(ˆØˆ9ØØˆˆˆˆð	ð r6   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestBLAS3Symmc                 óò   — t          j        ddgddgg¦  «        | _        t          j        g d¢g d¢g¦  «        | _        t          j        d¦  «        | _        t          j        g d¢g d¢g¦  «        | _        d S )	Nr±   r½   ç        )r±   rI  ç      @)rI  ç      ð¿r½   )r    rG   )r½   rK  g       @)rJ  rI  g      "@)r,   ÚarrayrK   rÔ   r   r+   Út©rS   s    r4   Úsetup_methodzTestBLAS3Symm.setup_methodA  s„   € Ý”˜B ˜8Ø ˜8ð%ñ &ô &ˆŒå”˜<˜<˜<Ø(˜=˜=ð*ñ +ô +ˆŒå”˜‘”ˆŒÝ”˜=˜=˜=Ø'˜<˜<ð)ñ *ô *ˆŒˆˆr6   c           	      óŽ  — t          d¦  «        D ]´} || j        | j        | j        dd¬¦  «        }t	          || j        ¦  «          || j        j        | j        d| j        dd¬¦  «        }t	          || j        ¦  «          || j        | j        j        d| j        j        dd¬¦  «        }t	          || j        j        ¦  «         Œµd S )NÚsymmr±   ©rK   rÔ   r+   rí   rî   rF   ©rK   rÔ   rµ   r+   rí   rî   )rK   rÔ   Úsider+   rí   rî   )rE  rK   rÔ   r+   r   rM  rÊ   ©rS   r<   Úress      r4   Ú	test_symmzTestBLAS3Symm.test_symmJ  sÏ   € Ý˜6Ñ"Ô"ð 		5ð 		5ˆAØ�!�d”f ¤¨$¬&¸ÀÐDÑDÔDˆCÝ% c¨4¬6Ñ2Ô2Ð2à�!�d”f”h $¤&°°T´VÀ2ÈBÐOÑOÔOˆCÝ% c¨4¬6Ñ2Ô2Ð2à�!�d”f ¤¤¨q°D´F´HØ 2ð'ñ 'ô 'ˆCå% c¨4¬6¬8Ñ4Ô4Ð4Ð4ð		5ð 		5r6   c           	      ó~   — t          t          dd ¦  «        }|�$t          t          |fi | j        | j        dddœ¤Ž d S d S )NÚdsymmrF   )rK   rÔ   rí   rT  )rQ   r_   rË   rÌ   rK   rÔ   ©rS   r<   s     r4   Útest_summ_wrong_sidez"TestBLAS3Symm.test_summ_wrong_sideV  si   € Ý•E˜7 DÑ)Ô)ˆØˆ=Ý�) Qð Cð C°´¸T¼VØ45¸qð+Bð +Bð Cð Cð Cð Cð Cð ˆ=r6   c                 ó(  — t          t          dd¦  «        }|�w || j        | j        | j        dd¬¦  «        }t          j        || j        ¦  «        sJ ‚ || j        | j        d| j        dd¬¦  «        }t          j        || j        ¦  «        rJ ‚dS dS )z°SYMM only considers the upper/lower part of A. Hence setting
        wrong value for `lower` (default is lower=0, meaning upper triangle)
        gives a wrong result.
        rY  Nr±   rR  rF   rS  )rQ   r_   rK   rÔ   r+   r,   ÚallcloserM  rU  s      r4   Útest_symm_wrong_uploz"TestBLAS3Symm.test_symm_wrong_uplo^  sŸ   € õ
 •E˜7 DÑ)Ô)ˆØˆ=Ø�!�d”f ¤¨$¬&¸ÀÐDÑDÔDˆCÝ”;˜s D¤FÑ+Ô+Ð+Ð+Ð+à�!�d”f ¤¨a°4´6ÀÈ"ÐMÑMÔMˆCÝ”{ 3¨¬Ñ/Ô/Ð/Ð/Ð/ð ˆ=ð
 0Ð/r6   N)rW   rX   rY   rO  rW  r[  r^  rZ   r6   r4   rG  rG  ?  sS   € € € € € ð*ð *ð *ð
5ð 
5ð 
5ðCð Cð Cð0ð 0ð 0ð 0ð 0r6   rG  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestBLAS3Syrkc                 óÌ   — t          j        ddgddgddgg¦  «        | _        t          j        g d¢g d¢g d¢g¦  «        | _        t          j        d	d
gd
dgg¦  «        | _        d S )Nr±   rI  ç       Àr½   rJ  )r±   rI  r½   )rI  ç      @ç      À)r½   rd  ç      *@ç      @ç      @re  )r,   rL  rK   rM  ÚttrN  s    r4   rO  zTestBLAS3Syrk.setup_methodm  s‡   € Ý”˜B ˜8Ø ˜9Ø ˜8ð%ñ &ô &ˆŒõ ”˜<˜<˜<Ø(˜=˜=Ø)˜>˜>ð+ñ ,ô ,ˆŒõ ”(˜R ˜HØ ˜Ið'ñ (ô (ˆŒˆˆr6   c                 óÐ  — t          d¦  «        D �]T} || j        d¬¦  «        }t          t          j        |¦  «        t          j        | j        ¦  «        ¦  «          || j        dd¬¦  «        }t          t          j        |¦  «        t          j        | j        ¦  «        ¦  «         t          j        | j        j        ¦  «        } || j        dd|¬¦  «        }t          t          j        |¦  «        t          j        | j        |z   ¦  «        ¦  «          || j        dd¬¦  «        }t          t          j        |¦  «        t          j        | j	        ¦  «        ¦  «         �ŒVd S )NÚsyrkr±   ©rK   rí   rF   )rK   rí   rµ   )rK   rí   rî   r+   )rK   rí   rï   )
rE  rK   r   r,   r   rM  r   r   Úshaperh  ©rS   r<   r+   Úc0s       r4   Ú	test_syrkzTestBLAS3Syrk.test_syrkw  s-  € Ý˜6Ñ"Ô"ð 	Dñ 	DˆAØ��D”F "Ð%Ñ%Ô%ˆAÝ%¥b¤g¨a¡j¤jµ"´'¸$¼&±/´/ÑBÔBÐBà��D”F "¨AÐ.Ñ.Ô.ˆAÝ%¥b¤g¨a¡j¤jµ"´'¸$¼&±/´/ÑBÔBÐBå”˜œœÑ&Ô&ˆBØ��D”F "¨2°Ð4Ñ4Ô4ˆAÝ%¥b¤g¨a¡j¤jµ"´'¸$¼&À¹)Ñ2DÔ2DÑEÔEÐEà��D”F "¨AÐ.Ñ.Ô.ˆAÝ%¥b¤g¨a¡j¤jµ"´'¸$¼'Ñ2BÔ2BÑCÔCÐCÑCð	Dð 	Dr6   c           	      ó–   — t          t          dd ¦  «        }|�0t          t          |fi | j        dt          j        d¦  «        dœ¤Ž d S d S )NÚdsyrkr±   )rI   rc   )rK   rí   r+   )rQ   r_   rË   rÌ   rK   r,   r   rZ  s     r4   Útest_syrk_wrong_czTestBLAS3Syrk.test_syrk_wrong_c‰  sm   € Ý•E˜7 DÑ)Ô)ˆØˆ=Ý�) Qð Bð B°´ÀÝ02´¸±´ð+Að +Að Bð Bð Bð Bð Bð ˆ=r6   N)rW   rX   rY   rO  ro  rr  rZ   r6   r4   r`  r`  l  sI   € € € € € ð(ð (ð (ðDð Dð Dð$Bð Bð Bð Bð Br6   r`  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestBLAS3Syr2kc                 ó  — t          j        ddgddgddgg¦  «        | _        t          j        ddgddgddgg¦  «        | _        t          j        g d¢g d¢g d	¢g¦  «        | _        t          j        ddgdd
gg¦  «        | _        d S )Nr±   rI  rb  r½   rJ  r   )rI  rK  rJ  )rK  rI  rI  )rJ  rI  rg  rƒ   )r,   rL  rK   rÔ   rM  rh  rN  s    r4   rO  zTestBLAS3Syr2k.setup_method’  sµ   € Ý”˜B ˜8Ø ˜9Ø ˜8ð%ñ &ô &ˆŒõ ”˜B ˜8Ø ˜8Ø˜r˜7ð$ñ %ô %ˆŒõ ”˜=˜=˜=Ø(˜=˜=Ø'˜<˜<ð)ñ *ô *ˆŒõ ”(˜R ˜HØ ˜Gð%ñ &ô &ˆŒˆˆr6   c                 ó   — t          d¦  «        D �]l} || j        | j        d¬¦  «        }t          t	          j        |¦  «        t	          j        | j        ¦  «        ¦  «          || j        | j        dd¬¦  «        }t          t	          j        |¦  «        t	          j        | j        ¦  «        ¦  «         t	          j        | j        j	        ¦  «        } || j        | j        dd|¬¦  «        }t          t	          j        |¦  «        t	          j        | j        |z   ¦  «        ¦  «          || j        | j        dd¬¦  «        }t          t	          j        |¦  «        t	          j        | j
        ¦  «        ¦  «         �Œnd S )NÚsyr2kr±   ©rK   rÔ   rí   rF   )rK   rÔ   rí   rµ   )rK   rÔ   rí   rî   r+   )rK   rÔ   rí   rï   )rE  rK   rÔ   r   r,   r   rM  r   r   rl  rh  rm  s       r4   Ú
test_syr2kzTestBLAS3Syr2k.test_syr2kŸ  s=  € Ý˜7Ñ#Ô#ð 	Dñ 	DˆAØ��D”F˜dœf¨BÐ/Ñ/Ô/ˆAÝ%¥b¤g¨a¡j¤jµ"´'¸$¼&±/´/ÑBÔBÐBà��D”F˜dœf¨B°aÐ8Ñ8Ô8ˆAÝ%¥b¤g¨a¡j¤jµ"´'¸$¼&±/´/ÑBÔBÐBå”˜œœÑ&Ô&ˆBØ��D”F˜dœf¨B°R¸2Ð>Ñ>Ô>ˆAÝ%¥b¤g¨a¡j¤jµ"´'¸$¼&À¹)Ñ2DÔ2DÑEÔEÐEà��D”F˜dœf¨B°aÐ8Ñ8Ô8ˆAÝ%¥b¤g¨a¡j¤jµ"´'¸$¼'Ñ2BÔ2BÑCÔCÐCÑCð	Dð 	Dr6   c           
      ó¢   — t          t          dd ¦  «        }|�6t          t          |fi | j        | j        dt          j        d¦  «        dœ¤Ž d S d S )NÚdsyr2kr±   )r8  rc   )rK   rÔ   rí   r+   )rQ   r_   rË   rÌ   rK   rÔ   r,   r   rZ  s     r4   Útest_syr2k_wrong_cz!TestBLAS3Syr2k.test_syr2k_wrong_c¯  su   € Ý•E˜8 TÑ*Ô*ˆØˆ=Ý�) Qð Dð D°´Ø04´Ø46Ý02´¸Ñ0AÔ0Að+Cð +Cð Dð Dð Dð Dð Dð ˆ=r6   N)rW   rX   rY   rO  ry  r|  rZ   r6   r4   rt  rt  ‘  sI   € € € € € ð&ð &ð &ðDð Dð Dð Dð Dð Dð Dð Dr6   rt  c                   ó<   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestSyHez2Quick and simple tests for (zc)-symm, syrk, syr2k.c                 óD   — t          j        ddgddgg¦  «        | _        d S )NrI  y       €      ð¿r¤   )r,   rL  Úsigma_yrN  s    r4   rO  zTestSyHe.setup_method¼  s+   € Ý”x " d Ø"% r ð!,ñ -ô -ˆŒˆˆr6   c                 óÈ   — t          dd¦  «        D ]P} || j        | j        d¬¦  «        }t          t          j        |¦  «        t          j        ddg¦  «        ¦  «         ŒQd S )NrQ  Úzcr±   rx  rF   rH   ©rE  r€  r   r,   r   r   rU  s      r4   Útest_symm_zczTestSyHe.test_symm_zcÀ  sl   € Ý˜6 4Ñ(Ô(ð 	Fð 	FˆAà�!�d”l d¤l¸"Ð=Ñ=Ô=ˆCÝ%¥b¤g¨c¡l¤lµB´G¸QÀ¸GÑ4DÔ4DÑEÔEÐEÐEð	Fð 	Fr6   c                 óÈ   — t          dd¦  «        D ]P} || j        | j        d¬¦  «        }t          t          j        |¦  «        t          j        ddg¦  «        ¦  «         ŒQd S )NÚhemmr‚  r±   rx  rF   rƒ  rU  s      r4   Útest_hemm_zczTestSyHe.test_hemm_zcÆ  sj   € Ý˜6 4Ñ(Ô(ð 	Eð 	EˆAà�!�d”l d¤l¸"Ð=Ñ=Ô=ˆCÝ%¥b¤g¨c¡l¤lµB´G¸QÀ¸F±O´OÑDÔDÐDÐDð	Eð 	Er6   c                 ó¼   — t          dd¦  «        D ]J} || j        d¬¦  «        }t          t          j        |¦  «        t          j        ddg¦  «        ¦  «         ŒKd S )Nrj  r‚  r±   rk  rH   rƒ  rU  s      r4   Útest_syrk_zrzTestSyHe.test_syrk_zrÌ  sh   € Ý˜6 4Ñ(Ô(ð 	Gð 	GˆAØ�!�d”l¨"Ð-Ñ-Ô-ˆCÝ%¥b¤g¨c¡l¤lµB´G¸RÀ¸HÑ4EÔ4EÑFÔFÐFÐFð	Gð 	Gr6   c                 ó¼   — t          dd¦  «        D ]J} || j        d¬¦  «        }t          t          j        |¦  «        t          j        ddg¦  «        ¦  «         ŒKd S )NÚherkr‚  r±   rk  rF   rƒ  rU  s      r4   Útest_herk_zrzTestSyHe.test_herk_zrÑ  sf   € Ý˜6 4Ñ(Ô(ð 	Eð 	EˆAØ�!�d”l¨"Ð-Ñ-Ô-ˆCÝ%¥b¤g¨c¡l¤lµB´G¸QÀ¸F±O´OÑDÔDÐDÐDð	Eð 	Er6   c           	      óÎ   — t          dd¦  «        D ]S} || j        | j        d¬¦  «        }t          t          j        |¦  «        dt          j        ddg¦  «        z  ¦  «         ŒTd S )Nrw  r‚  r±   rx  r½   rH   rƒ  rU  s      r4   Útest_syr2k_zrzTestSyHe.test_syr2k_zrÖ  sq   € Ý˜7 DÑ)Ô)ð 	Jð 	JˆAØ�!�d”l d¤l¸"Ð=Ñ=Ô=ˆCÝ%¥b¤g¨c¡l¤l°Bµr´wÀÀB¸xÑ7HÔ7HÑ4HÑIÔIÐIÐIð	Jð 	Jr6   c           	      óÎ   — t          dd¦  «        D ]S} || j        | j        d¬¦  «        }t          t          j        |¦  «        dt          j        ddg¦  «        z  ¦  «         ŒTd S )NÚher2kr‚  r±   rx  r½   rF   rƒ  rU  s      r4   Útest_her2k_zrzTestSyHe.test_her2k_zrÛ  so   € Ý˜7 DÑ)Ô)ð 	Hð 	HˆAØ�!�d”l d¤l¸"Ð=Ñ=Ô=ˆCÝ%¥b¤g¨c¡l¤l°Bµr´wÀÀ1¸v±´Ñ4FÑGÔGÐGÐGð	Hð 	Hr6   N)rW   rX   rY   Ú__doc__rO  r„  r‡  r‰  rŒ  rŽ  r‘  rZ   r6   r4   r~  r~  ¹  s—   € € € € € Ø<Ð<ð-ð -ð -ðFð Fð FðEð Eð EðGð Gð Gð
Eð Eð Eð
Jð Jð Jð
Hð Hð Hð Hð Hr6   r~  c                   ór   — e Zd ZdZd„ Zej                             de¦  «        d„ ¦   «         Z	d„ Z
d„ Zd„ ZdS )	ÚTestTRMMz!Quick and simple tests for dtrmm.c                 ó$  — t          j        ddgddgg¦  «        | _        t          j        g d¢g d¢g¦  «        | _        t          j        g d¢g d¢g d¢g d	¢gd
¬¦  «        | _        t          j        ddgddgddgddgddggd
¬¦  «        | _        d S )Nr±   r½   rb  ©rJ  rc  rK  ©rf  rg  rb  )rF   rF   r    rG   )r   rF   rb   rI   )r   r   rF   rƒ   )r   r   r   rF   r<   )r#   rF   rb   r    rI   rG   rƒ   rL   rc   rM   r„   )r,   rL  rK   rÔ   Úa2Úb2rN  s    r4   rO  zTestTRMM.setup_methodä  sÍ   € Ý”˜B ˜:Ø ˜9ð&ñ 'ô 'ˆŒå”˜=˜=˜=Ø(˜=˜=ð*ñ +ô +ˆŒõ ”(˜L˜L˜LØ(˜L˜LØ(˜L˜LØ(˜L˜Lð*ð 25ð6ñ 6ô 6ˆŒõ ”(˜Q ˜F Q¨ F¨Q°¨F°Q¸°F¸QÀ¸GÐDØ!$ð&ñ &ô &ˆŒˆˆr6   Údtype_c           	      óš  — t          d|¬¦  «        }t          t          |d| j        | j        ¦  «          |d| j                             |¦  «        | j                             |¦  «        d¬¦  «        }| j        j        d         }t          || j        | j        d |…d |…f         z  ddt          j	        |¦  «        j
        z  ¬¦  «         d S )	NÚtrmmr*   r±   rF   )rT  rI  éd   )r³   Úatol)r   rË   rÌ   r˜  r™  rô   rl  r   r,   ÚfinfoÚeps)rS   rš  rœ  rV  r   s        r4   Ú	test_sidezTestTRMM.test_sideñ  sÌ   € å˜f¨FÐ3Ñ3Ô3ˆå•i  s¨D¬G°T´WÑ=Ô=Ð=Øˆd�3˜œŸš vÑ.Ô.°´·²¸vÑ0FÔ0FØðñ ô ˆàŒGŒM˜!ÔˆÝ˜˜TœW t¤w¨r°¨r°2°A°2¨v¤Ñ6¸RØ ¥¤¨&Ñ!1Ô!1Ô!5Ñ5ð	7ñ 	7ô 	7ð 	7ð 	7ð 	7r6   c                 ó¼   — t          t          dd ¦  «        }|�C |d| j        | j        ¦  «        }t	          j        g d¢g d¢g¦  «        }t          ||¦  «         d S d S )NÚdtrmmr±   )re  g      0@g      Àr—  ©rQ   r_   rK   rÔ   r,   rL  r   ©rS   r<   ÚresultÚexpecteds       r4   Útest_abzTestTRMM.test_abü  so   € Ý•E˜7 DÑ)Ô)ˆØˆ=Ø�Q�r˜4œ6 4¤6Ñ*Ô*ˆFå”x   Ø!.  ð!0ñ 1ô 1ˆHå% f¨hÑ7Ô7Ð7Ð7Ð7ð ˆ=r6   c                 óÀ   — t          t          dd ¦  «        }|�E |d| j        | j        d¬¦  «        }t	          j        g d¢g d¢g¦  «        }t          ||¦  «         d S d S )Nr£  r±   Tr´   r–  )rK  rb  rI  r¤  r¥  s       r4   Útest_ab_lowerzTestTRMM.test_ab_lower  st   € Ý•E˜7 DÑ)Ô)ˆØˆ=Ø�Q�r˜4œ6 4¤6°Ð6Ñ6Ô6ˆFÝ”x   Ø!/  ð!1ñ 2ô 2ˆHå% f¨hÑ7Ô7Ð7Ð7Ð7ð	 ˆ=r6   c                 ó.  — t          t          dd ¦  «        }|�üdD ]v}| j                             ¦   «         } |d| j        ||¬¦  «        }t          |j        j        du ot          j	        ||¦  «        du ¦  «         t          || j        ¦  «         Œwt          j        | j                             ¦   «         ¦  «        } |d| j        |d¬¦  «        }t          |j        j        du ot          j	        ||¦  «        du ¦  «         t          ||¦  «         d S d S )Nr£  )TFr±   )Úoverwrite_bFT)rQ   r_   rÔ   ra   rK   r   ÚflagsÚf_contiguousr,   Úmay_share_memoryr   Úasfortranarrayr   )rS   r<   ÚoverwrÚbcopyr¦  s        r4   Útest_b_overwriteszTestTRMM.test_b_overwrites  s/  € õ •E˜7 DÑ)Ô)ˆØˆ=Ø'ð ,ð ,�ØœŸš™œ�Ø˜˜2˜tœv u¸&ÐAÑAÔA�å˜œÔ0°EÐ9ð DÝÔ+¨E°6Ñ:Ô:¸eÐCñEô Eð Eå˜U D¤FÑ+Ô+Ð+Ð+åÔ% d¤f§k¢k¡m¤mÑ4Ô4ˆEØ�Q�r˜4œ6 5°dÐ;Ñ;Ô;ˆFÝ�E”KÔ,°Ð4ð ?ÝÔ'¨¨vÑ6Ô6¸$Ð>ñ@ô @ð @å% e¨VÑ4Ô4Ð4Ð4Ð4ð ˆ=r6   N)rW   rX   rY   r’  rO  r;  r<  Úparametrizeró   r¡  r¨  rª  r³  rZ   r6   r4   r”  r”  á  s„   € € € € € Ø+Ð+ð&ð &ð &ð „[×Ò˜X vÑ.Ô.ð7ð 7ñ /Ô.ð7ð8ð 8ð 8ð8ð 8ð 8ð5ð 5ð 5ð 5ð 5r6   r”  c            	      ó¢  — t           j                             d¦  «        } t          t          ¦  «        D �]\  }}t          j        |¦  «        j        dz  }t          d|¬¦  «        \  }|                      d¦  «                             |¦  «        }|                      d¦  «                             |¦  «        } |d¦  «        }t          t          ||||¦  «         t          t          |||j        |¦  «         d}d	}	 |d
¦  «        }|dk     r(|                      |	|	f¦  «        t          |	¦  «        z   }nB|                      |	|	f¦  «        |                      |	|	f¦  «        dz  z   t          |	¦  «        z   }|                     |¦  «        }t          |¦  «        }
t          |¦  «        }|                      |	|f¦  «                             |¦  «        }|                      ||	f¦  «                             |¦  «        } ||||¬¦  «        }t          |j        |j        ¦  «         t#          |
||z  ¦  «        }t%          |||¬¦  «          ||||d¬¦  «        }t#          |
j        ||z  ¦  «        }t%          |||¬¦  «          ||||d¬¦  «        }t#          |
                     ¦   «         j        ||z  ¦  «        }t%          |||¬¦  «          ||||d¬¦  «        } |d¦  «        |
t)          |	¦  «        t)          |	¦  «        f<   t#          |
||z  ¦  «        }t%          |||¬¦  «          ||||dd¬¦  «        }t#          |
                     ¦   «         j        ||                     ¦   «         j        z  ¦  «        }t%          ||                     ¦   «         j        |¬¦  «          ||||ddd¬¦  «        } |d¦  «        |t)          |	¦  «        t)          |	¦  «        f<   t#          |                     ¦   «         j        ||                     ¦   «         j        z  ¦  «        }t%          ||                     ¦   «         j        |¬¦  «         �Œd S )Nrè   iè  )Útrsmr*   )rb   rI   r¹   rF   rc   rL   g      Àr    r¤   )rí   rK   rÔ   )rž  )rí   rK   rÔ   Útrans_a)rí   rK   rÔ   r   )rí   rK   rÔ   r   rT  )rí   rK   rÔ   r   rT  rµ   )r,   rð   rñ   rò   ró   rŸ  r   r   rô   rË   rÌ   rÊ   r   r   r   r   rl  r   r   rÆ   r   )rõ   rö   r"   Útolrù   r÷   ÚBrí   r¸   rê   ÚAuÚAlÚB1ÚB2r�   Úx2s                   r4   Ú	test_trsmr¿  !  só  € Ý
Œ)×
Ò
 Ñ
%Ô
%€CÝ¥Ñ'Ô'ð 13ñ 13‰
ˆˆUÝŒh�u‰oŒoÔ! $Ñ&ˆÝ˜y°Ð6Ñ6Ô6‰ˆð �JŠJ�vÑÔ×%Ò% eÑ,Ô,ˆØ�JŠJ�vÑÔ×%Ò% eÑ,Ô,ˆØ��a‘”ˆÝ•i  u¨a°Ñ3Ô3Ð3Ý•i  u¨a¬c°1Ñ5Ô5Ð5àˆØˆØ��d‘”ˆØ�Š7ˆ7Ø—
’
˜A˜q˜6Ñ"Ô"¥S¨¡V¤VÑ+ˆAˆAà—’˜Q ˜FÑ#Ô# c§j¢j°!°Q°Ñ&8Ô&8¸Ñ&;Ñ;½sÀ1¹v¼vÑEˆAØ�HŠH�U‰OŒOˆÝ�!‰WŒWˆÝ�!‰WŒWˆØ�ZŠZ˜˜A˜ÑÔ×&Ò& uÑ-Ô-ˆØ�ZŠZ˜˜A˜ÑÔ×&Ò& uÑ-Ô-ˆàˆT˜  bÐ)Ñ)Ô)ˆÝ�R”X˜rœxÑ(Ô(Ð(Ý�2�u˜R‘xÑ Ô ˆÝ˜˜B SÐ)Ñ)Ô)Ð)àˆT˜  b°!Ð4Ñ4Ô4ˆÝ�2”4˜˜r™Ñ"Ô"ˆÝ˜˜B SÐ)Ñ)Ô)Ð)àˆT˜  b°!Ð4Ñ4Ô4ˆÝ�2—7’7‘9”9”;  b¡Ñ)Ô)ˆÝ˜˜B SÐ)Ñ)Ô)Ð)àˆT˜  b¨qÐ1Ñ1Ô1ˆØ#( 5¨¡8¤8ˆ�6�!‰9Œ9•f˜Q‘i”iÐÑ Ý�2�u˜R‘xÑ Ô ˆÝ˜˜B SÐ)Ñ)Ô)Ð)àˆT˜  b¨q°qÐ9Ñ9Ô9ˆÝ�2—7’7‘9”9”;  b§g¢g¡i¤i¤kÑ 1Ñ2Ô2ˆÝ˜˜BŸGšG™IœIœK¨cÐ2Ñ2Ô2Ð2àˆT˜  b¨q°qÀÐBÑBÔBˆØ#( 5¨¡8¤8ˆ�6�!‰9Œ9•f˜Q‘i”iÐÑ Ý�2—7’7‘9”9”;  b§g¢g¡i¤i¤kÑ 1Ñ2Ô2ˆÝ˜˜BŸGšG™IœIœK¨cÐ2Ñ2Ô2Ð2Ñ2ðc13ð 13r6   Fzgh-16930)ÚrunÚreasonc                  óÆ   — t          j        dd¦  «        } t          j        j                             | ddd¦  «        }t          j        d¦  «        }t          ||¦  «         d S )Nr„   rM   rI   rG   rH   iô  )	r,   ÚrepeatÚscipyÚlinalgÚblasÚdnrm2r~   r   r   )r‹   Úactualr§  s      r4   Útest_gh_169309rÉ  W  sV   € õ 	Œ	�"�aÑÔ€AÝŒ\Ô×$Ò$ Q¨¨1¨bÑ1Ô1€FÝŒy˜‰~Œ~€HÝ�F˜HÑ%Ô%Ð%Ð%Ð%r6   c                  óæ   — t          j        dd¦  «        } d}t          t          j        ¦  «        5  t
          j        j                             | dd|¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr„   rM   rH   rI   rG   )	r,   rÃ  rË   r_   Ú__fblas_errorrÄ  rÅ  rÆ  rÇ  )r‹   r¶   s     r4   Útest_dnrm2_neg_incxrÌ  `  s®   € õ 	Œ	�"�aÑÔ€AØ€DÝ	•uÔ*Ñ	+Ô	+ð /ð /ÝŒÔ×Ò  1 a¨Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   ±(A&Á&A*Á-A*)rB  ):r~   r;  Únumpyr,   Únumpy.randomÚnumpy.testingr   r   r   r   r   r   rË   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   rÄ  Úscipy.linalgr   r_   r   r   r   r   r&   ÚImportErrorÚREAL_DTYPESr	  ró   r5   r?   rA   r\   r–   r?  rE  rG  r`  rt  r~  r”  r¿  r<  ÚxfailrÉ  rÌ  rZ   r6   r4   ú<module>rÔ     s  ðð
 €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð ðGð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gà *Ð *Ð *Ð *Ð *Ð *ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IðØ,Ð,Ð,Ð,Ð,Ð,Ð,øØð ð ð Ø€E€E€Eðøøøð ˜Ð €Ø˜ZÐ(€Ø	�~Ñ	%€ð$#ð $#ð $#ðNð ð ð6ð 6ð 6ð 6ð 6ñ 6ô 6ð 6ð"r.ð r.ð r.ð r.ð r.ñ r.ô r.ð r.ðlK	.ð K	.ð K	.ð K	.ð K	.ñ K	.ô K	.ð K	.ð\Oð Oð Oð Oð Oñ Oô Oð Oð"ð ð ð ð*0ð *0ð *0ð *0ð *0ñ *0ô *0ð *0ðZ!Bð !Bð !Bð !Bð !Bñ !Bô !Bð !BðJ$Dð $Dð $Dð $Dð $Dñ $Dô $Dð $DðP%Hð %Hð %Hð %Hð %Hñ %Hô %Hð %HðP=5ð =5ð =5ð =5ð =5ñ =5ô =5ð =5ð@33ð 33ð 33ðl „×Ò�uØ$ð ñ &ô &ð&ð &ñ&ô &ð&ð/ð /ð /ð /ð /s   ÁA ÁA)Á(A)