Ë
    qwjÛ’  ã                   óx  — d dl Z d dlZd dlZd dl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 d dlZd dlmZmZmZmZ 	 d dlmZ ej>                  ej@                  gZ!ejD                  ejF                  gZ$e!e$z   Z%d„ Z&d„ Z'd	„ Z( G d
„ d«      Z) G d„ d«      Z* G d„ d«      Z+ G d„ d«      Z, G d„ d«      Z- G d„ d«      Z. G d„ d«      Z/ G d„ d«      Z0 G d„ d«      Z1ejd                  jg                  de%«      d„ «       Z4ejd                  jk                  dd¬ «      d!„ «       Z6d"„ Z7y# e$ r dZY Œêw xY w)#é    N)Úassert_equalÚassert_almost_equalÚassert_array_almost_equalÚassert_allclose)Úraises)
ÚarangeÚtriuÚtrilÚzerosÚtril_indicesÚonesÚ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«       y )N)Úaxpyr   r   ©é   r   ÚF)ÚdtypeÚorderÚCÚzÚcblasÚrotgÚdÚgemm©r   Úcr   )r   ÚnpÚemptyÚ	complex64Ú
complex128r   Útypecoder    Úmodule_nameÚclongdoubleÚfloat64)Úf1Úf2Úf3s      úa/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_blas.pyÚtest_get_blas_funcsr2      s?  € ô  Ø Ü	�‰�&¤§¡°CÔ	8Ü	�‰�&¤§¡°SÔ	9ð	;ó
�J€BˆˆBô �—‘˜cÔ"Ü�—‘˜cÔ"ÜÐÜ�R—^‘^ WÔ-Ü�R—^‘^ WÔ-ô 
˜Ó	€BÜ�—‘˜cÔ"ô 
˜¤b§l¡lÔ	3€BÜ�—‘˜cÔ"Ü	˜ cÔ	*€BÜ�—‘˜cÔ"ô 
˜¤b§n¡nÔ	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 ‚y )N)Únrm2Údotr$   r%   )r6   ÚdotcÚdotu)r   r&   r(   r*   r-   )ÚfÚgÚhs      r1   Útest_get_blas_funcs_aliasr<   C   sg   € ä˜/´·±Ô>�D€A€qØ�:‰:˜ÒÐÐØ�:‰:˜ÒÐÐäÐ4¼B¿J¹JÔG�G€A€qˆ!Ø�‰6€Mˆ6Ø�‰6€M‰6r3   c           	      ó´  — | € t         j                  j                  d¬«      S g }|D ]�  }d|v rt        j                  }n@d|v rt        j
                  }n+d|v rt        j                  }nd|v sJ ‚t        j                  }t        | ||z   «      }|j                  t        j                  ||||z   ¬«      «       Œ’ t         j                  j                  d|«      S )	Nzcblas not available)Úreasonr   r%   r"   Ús)Úidzf,dtype)ÚpytestÚmarkÚskipr&   r)   r(   r-   Úfloat32Úgetattrr   ÚparamÚparametrize)ÚmodÚ	func_nameÚprefixesÚparamsÚprefixr   r9   s          r1   Úparametrize_blasrM   N   s¼   € Ø
€{Ü�{‰{×ÑÐ'<ÐÓ=Ð=Ø€FÛˆØ�&‰=Ü—M‘M‰EØ�F‰]Ü—L‘L‰EØ�F‰]Ü—J‘J‰Eà˜&‘=Ð �=Ü—J‘JˆEä�C˜ )Ñ+Ó,ˆØ�‰”f—l‘l 1 e°¸Ñ0BÔCÕDð ô �;‰;×"Ñ" 9¨fÓ5Ð5r3   c                   ó,   — e Zd Z eedd«      d„ «       Zy)ÚTestCBLAS1Simpler   Úsdczc                 ó‚   — t         |g d¢g d¢d¬«      g d¢«       |t        v rt         |g d¢g d¢d¬«      g d¢«       y y ©N©é   r   é   )r   éÿÿÿÿrU   é   ©Úa)é   é	   é   )rT   ù               @rU   )rZ   y      ð¿      $@r\   ©r   ÚCOMPLEX_DTYPES©Úselfr9   r   s      r1   Ú	test_axpyzTestCBLAS1Simple.test_axpyd   ó;   € ä!¡!¢Iªz¸QÔ"?Ú",ô	.à”NÑ"Ü%¡aª
²JÀ!Ô&DÚ&4õ6ð #r3   N)Ú__name__Ú
__module__Ú__qualname__rM   r    rb   © r3   r1   rO   rO   c   s   „ Ù�e˜V VÓ,ñ6ó -ñ6r3   rO   c                   ó\  — e Zd Z eedd«      d„ «       Z eedd«      d„ «       Z eedg d¢«      d„ «       Z eed	d
«      d„ «       Z eedd«      d„ «       Z	 eedd«      d„ «       Z
 eedg d¢«      d„ «       Z eedg d¢«      d„ «       Z eedd«      d„ «       Z eedg d¢«      d„ «       Zy)ÚTestFBLAS1Simpler   rP   c                 ó‚   — t         |g d¢g d¢d¬«      g d¢«       |t        v rt         |g d¢g d¢d¬«      g d¢«       y y rR   r^   r`   s      r1   rb   zTestFBLAS1Simple.test_axpyo   rc   r3   Úcopyc                 ó‚   — t         |g d¢dgdz  «      g d¢«       |t        v rt         |g d¢dgdz  «      g d¢«       y y )N)rU   é   rW   é   rU   )rU   ù              @y      @      @r^   r`   s      r1   Ú	test_copyzTestFBLAS1Simple.test_copyw   s=   € ä!¡!¢I°¨s°1©uÓ"5²yÔAØ”NÑ"Ü%¡aª¸°s¸1±uÓ&=º}ÕMð #r3   Úasum)r?   r"   ÚscÚdzc                 óf   — t         |g d¢«      d«       |t        v rt         |g d¢«      d«       y y )N©rU   éüÿÿÿrW   é   ©ù              @rv   ù      @      Àé   )r   r_   r`   s      r1   Ú	test_asumzTestFBLAS1Simple.test_asum}   s,   € ä™Ašj›M¨2Ô.Ø”NÑ"Ü¡¢.Ó 1°2Õ6ð #r3   r6   Úsdc                 ó2   — t         |g d¢g d¢«      d«       y )Nru   )r   rW   rT   i÷ÿÿÿ©r   r`   s      r1   Útest_dotzTestFBLAS1Simple.test_dotƒ   s   € ä™Ašjª)Ó4°bÕ9r3   r8   Úczc                 ó2   — t         |g d¢g d¢«      d«       y )Nrx   ©r   rU   rT   y      "À       @r   r`   s      r1   Ú	test_dotuzTestFBLAS1Simple.test_dotu‡   s   € ä™AšnªiÓ8¸%Õ@r3   r7   c                 ó2   — t         |g d¢g d¢«      d«       y )Nrx   ©r   ry   rT   y      @      ,Àr   r`   s      r1   Ú	test_dotczTestFBLAS1Simple.test_dotc‹   s   € ä™AšnªjÓ9¸5ÕAr3   r5   c                 ó²   — t         |g d¢«      t        j                  d«      «       |t        v r(t         |g d¢«      t        j                  d«      «       y y )Nru   é2   rx   )r   ÚmathÚsqrtr_   r`   s      r1   Ú	test_nrm2zTestFBLAS1Simple.test_nrm2�   s<   € ä™Ašj›M¬4¯9©9°R«=Ô9Ø”NÑ"Ü¡¢.Ó 1´4·9±9¸R³=ÕAð #r3   Úscal)r?   r"   ÚcsÚzdc                 ór   — t         |dg d¢«      g d¢«       |t        v rt         |dg d¢«      g d¢«       y y )Nr   ru   )é   iøÿÿÿé
   rU   rx   )y              "@iôÿÿÿy      "@      (Àr^   r`   s      r1   Ú	test_scalzTestFBLAS1Simple.test_scal•   s2   € ä!¡! A¢zÓ"2²KÔ@Ø”NÑ"Ü%¡a¨ª>Ó&:Ò<LÕMð #r3   Úswapc                 óÆ   — g d¢g d¢}} |||«      \  }}t        ||«       t        ||«       |t        v r-g d¢g d¢}} |||«      \  }}t        ||«       t        ||«       y y )Nrƒ   )éþÿÿÿrU   rZ   r†   )r–   rU   y      @      Àr^   )ra   r9   r   ÚxÚyÚx1Úy1s          r1   Ú	test_swapzTestFBLAS1Simple.test_swap›   sg   € âš*ˆ1ˆÙ�1�a“‰ˆˆBÜ! " aÔ(Ü! " aÔ(à”NÑ"Úš}ˆqˆAÙ�q˜!“W‰FˆB�Ü% b¨!Ô,Ü% b¨!Õ,ð	 #r3   Úamax)Úisr@   ÚicÚizc                 óf   — t         |g d¢«      d«       |t        v rt         |g d¢«      d«       y y )N)r–   rm   rU   rT   )éûÿÿÿy      @      @r‘   )r   r_   r`   s      r1   Ú	test_amaxzTestFBLAS1Simple.test_amax¨   s,   € ä‘Q’z“] AÔ&Ø”NÑ"Ü™š=Ó)¨1Õ-ð #r3   N)rd   re   rf   rM   Úfblasrb   rp   r|   r€   r„   r‡   rŒ   r“   r›   r¢   rg   r3   r1   ri   ri   m   s0  „ á�e˜V VÓ,ñ6ó -ð6ñ �e˜V VÓ,ñNó -ðNñ
 �e˜VÒ%;Ó<ñ7ó =ð7ñ
 �e˜U DÓ)ñ:ó *ð:ñ �e˜V TÓ*ñAó +ðAñ �e˜V TÓ*ñBó +ðBñ �e˜VÒ%;Ó<ñBó =ðBñ
 �e˜VÒ%;Ó<ñNó =ðNñ
 �e˜V VÓ,ñ
-ó -ð
-ñ �e˜VÒ%=Ó>ñ.ó ?ñ.r3   ri   c            
       óÔ  — e Zd Z eedd«      d„ «       Z eedd«      d„ «       Z eedd«      d	„ «       Z eed
d«      d„ «       Z eedd«      d„ «       Z	 eedd«      d„ «       Z
 eedd«      d„ «       Z eedd«      d„ «       Zej                  j                  de«      d„ «       Zej                  j                  de«      d„ «       Zej                  j                  dg eez   D � �cg c]  }d|f‘Œ c}} ¢eD � �cg c]  }d|f‘Œ c}} ¢«      d„ «       Zej                  j                  dg eez   D � �cg c]  }d|f‘Œ c}} ¢eD � �cg c]  }d|f‘Œ c}} ¢«      d„ «       Zej                  j                  de«      d„ «       Zej                  j                  de«      d„ «       Zej                  j                  de«      d „ «       Zej                  j                  de«      d!„ «       Zej                  j                  de«      d"„ «       Zej                  j                  de«      d#„ «       Zej                  j                  de«      d$„ «       Zy%c c}} w c c}} w c c}} w c c}} w )&ÚTestFBLAS2SimpleÚgemvrP   c           	      óâ   — t         |ddggdg«      dg«       t         |ddggdgddg«      dg«       |t        v r4t         |ddggdg«      dg«       t         |ddggdgdd	g«      d
g«       y y ©NrU   rv   iÜÿÿÿrW   iëÿÿÿry   rz   y      HÀ      BÀy              @y      HÀ      5Àr^   r`   s      r1   Ú	test_gemvzTestFBLAS2Simple.test_gemv²   sŠ   € ä!¡! A¨¨ u¨r¨dÓ"3°c°UÔ;Ü!¡! A¨¨ u¨r¨d°A¸°sÓ";¸c¸UÔCØ”NÑ"Ü%¡a¨¨d¨V¨H°r°dÓ&;¸g¸YÔGÜ%¡a¨¨d¨V¨H°r°d¸AÀ¸tÓ&DØ'. iõ1ð #r3   Úgerr}   c           
      ó^  — 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«       |t        v r@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«       y y )NrT   r   rU   rm   r‘   rn   rS   rw   é   r\   é   rX   r[   ù              ð?ry   ro   ©r®   r]   ry   r^   r`   s      r1   Útest_gerzTestFBLAS2Simple.test_ger»   sü   € ä!¡! A¨¨1 v°°1¨vÓ"6¸!¸Q¸À!ÀQÀÐ8HÔIÜ!¡! A¢y°1°a°&Ó"9Ø$% q 6¨B°¨8°b¸"°XÐ">ô	@ä!¡! A¨¨1 v°°1¨vØ&'¨ V¨a°¨VÐ$4ô#6Ø9:¸A¸ÀÀBÀÐ7Hô	Jà”NÑ"Ü%¡a¨¨B°¨7°Q¸°FÓ&;Ø(*¨B x°!°Q°Ð&8ô:ä%¡a¨ª<¸"¸b¸Ó&BØ()¨1 v°°B¨x¸"¸b¸Ð&BõDð #r3   Úgerur�   c                 ó‚   — 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«       y )NrT   r®   r   rU   rm   ry   ro   r‘   rn   r–   r¯   rw   r¬   r\   r­   ©r   r`   s      r1   Ú	test_geruzTestFBLAS2Simple.test_geruÈ   s[   € ä!¡! A¨¨A w°°A°Ó"7Ø$&¨ 8¨a°¨VÐ"4ô	6ä!¡! Bª°r¸2°hÓ"?Ø$% q 6¨B°¨8°b¸"°XÐ">õ	@r3   Úgercc                 ó‚   — 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«       y )NrT   r®   r   rU   rm   ry   ro   r‘   rn   r¯   rw   r¬   r\   r­   r³   r`   s      r1   Ú	test_gerczTestFBLAS2Simple.test_gercÏ   s[   € ä!¡! A¨¨A w°°A°Ó"7Ø$&¨ 8¨a°¨VÐ"4ô	6ä!¡! A¢|°b¸"°XÓ">Ø$% q 6¨B°¨8°b¸"°XÐ">õ	@r3   Úsyrc                 óJ  — 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¬«      j                  d«      }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   j                  «       }
t        j                  |«      j                  }t         |d|«      ||¬«       t         |d|d¬«      |j                  |¬«       t         |d|ddd¬«      ||¬«       t         |d|ddd¬«      ||¬«       |t        v r¼t         |d|«      ||¬«       t         |d|d¬«      |j                  |¬«       t         |d|
ddd¬«      ||¬«       t         |d|
ddd¬«      |	|¬«       t        j                  d|d«      } |d||d¬«      }t        |||¬«        |d||¬«      }||usJ ‚t        |d|z  |¬«       nSt        j                  d|d«      } |d||d¬«      }t        |||¬«        |d||¬«      }||usJ ‚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«      ¬«       y ) NrT   rW   r"   r$   rV   r   ç      !@é   F©Úendpointr[   ÚDrm   ç      ð?©ÚrtolT©Úlowerr   ©ÚincxÚoffxÚnr–   rU   éýÿÿÿ©rm   rm   r   ©rY   Úoverwrite_aç       @rX   ©rÅ   ©rÆ   ©rÇ   r   )r&   r   r	   ÚnewaxisÚlinspaceÚviewÚc_r   ÚravelÚfinfoÚepsr   ÚTr_   Úassert_raisesÚ	Exception)ra   r9   r   r—   ÚresxÚresx_reverser˜   r   ÚreszÚresz_reverseÚwrÁ   rY   Úbs                 r1   Útest_syrzTestFBLAS2Simple.test_syrÖ   s  € ä�I‰I�a˜ #Ô&ˆÜ�w‰w�qšœBŸJ™J˜Ñ'¨!Ñ+Ó,ˆÜ—w‘w˜q¡ 2 ¤r§z¡zÐ!1Ñ2°Q±t¸°t±WÑ<Ó=ˆÜ�K‰K˜˜3 ¨UÔ3ˆÜ�I‰I�a˜ #Ô&×+Ñ+¨CÓ0ˆÜ�w‰w�qšœBŸJ™J˜Ñ'¨!Ñ+Ó,ˆÜ—w‘w˜q¡ 2 ¤r§z¡zÐ!1Ñ2°Q±t¸°t±WÑ<Ó=ˆÜ�E‰E”"—(‘(˜1“+˜q¤"§(¡(¨1£+Ð-Ñ.×4Ñ4Ó6ˆä�x‰x˜‹×"Ñ"ˆä™˜#˜q›	 4¨dÕ3Ü™˜#˜q¨Ô-¨t¯v©v¸DÕAÜ™˜#˜q q¨q°AÔ6¸À4ÕHä™˜#˜q r°°QÔ7Ø$¨4õ	1ð ”NÑ"Ü™A˜c 1›I t°$Õ7Ü™A˜c 1¨DÔ1°4·6±6ÀÕEÜ™A˜c 1¨1°1¸Ô:¸DÀtÕLä™A˜c 1¨2°A¸Ô;Ø(¨tõ5ô —‘˜ ¨Ó,ˆAÙ�#�q˜A¨4Ô0ˆAÜ˜A˜t¨$Õ/Ù�#�q˜A”ˆAØ˜A‘:Ð�:Ü˜A˜q ™v¨DÖ1ô —‘˜ ¨Ó,ˆAÙ�#�q˜A¨4Ô0ˆAÜ˜A˜t¨$Õ/Ù�#�q˜A”ˆAØ˜A‘:Ð�:Ü˜A˜q ™v¨DÕ1ä”i  C¨°Õ3Ü”i  C¨°Õ3Ü”i  C¨°Õ4Ü”i  C¨¨bÕ1Ü”i  C¨¨aÕ0Ü”i  C¨°!Õ4Ü”i  C¨¬b¯h©h°v¸sÀCÓ.HÖIr3   Úherc                 ó"  — t        j                  ddd¬«      }t        j                  ddd¬«      j                  d«      }t        j                  |d d …t         j                  f   |j                  «       z  «      }t        j                  |d d d…t         j                  f   |d d d…   j                  «       z  «      }t         j                  t        j                  d«      |t        j                  d«      f   j                  «       }t        j                  |«      j                  }t         |d	|«      ||¬
«       t         |d	|d¬«      |j                  j                  «       |¬
«       t         |d	|ddd¬«      ||¬
«       t         |d	|ddd¬«      ||¬
«       t        j                  d|d«      }	 |d	||	d¬«      }
t        |	||¬
«        |d||	¬«      }
|	|
usJ ‚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«      ¬«       y )NrT   rW   r"   r$   r[   r¾   rV   rm   r¿   rÀ   TrÂ   rU   rÄ   rÈ   rÉ   r   rÊ   rÌ   rX   r   rÍ   rÎ   r–   rÏ   r   r   )r&   r   rÒ   r	   rÐ   ÚconjrÓ   r   rÔ   rÕ   rÖ   r   r×   rØ   rÙ   )ra   r9   r   r—   r   ÚrehzÚrehz_reverserÞ   rÁ   rY   rß   s              r1   Útest_herzTestFBLAS2Simple.test_her	  s  € ä�I‰I�a˜ #Ô&ˆÜ�I‰I�a˜ #Ô&×+Ñ+¨CÓ0ˆÜ�w‰w�qšœBŸJ™J˜Ñ'¨!¯&©&«(Ñ2Ó3ˆÜ—w‘w˜q¡ 2 ¤r§z¡zÐ!1Ñ2°Q±t¸°t±W·\±\³^ÑCÓDˆÜ�E‰E”"—(‘(˜1“+˜q¤"§(¡(¨1£+Ð-Ñ.×4Ñ4Ó6ˆä�x‰x˜‹×"Ñ"ˆä™˜#˜q›	 4¨dÕ3Ü™˜#˜q¨Ô-¨t¯v©v¯{©{«}À4ÕHÜ™˜#˜q q¨q°AÔ6¸À4ÕHä™˜#˜q r°°QÔ7Ø$¨4õ	1ô �H‰H�V˜U CÓ(ˆÙˆc�1˜ tÔ,ˆÜ˜˜4 dÕ+áˆc�1˜ŒNˆØ˜‰zÐˆzÜ˜˜1˜T™6¨Õ-ä”i  C¨°Õ3Ü”i  C¨°Õ3Ü”i  C¨°Õ4Ü”i  C¨¨bÕ1Ü”i  C¨¨aÕ0Ü”i  C¨°!Õ4Ü”i  C¨¬b¯h©h°v¸sÀCÓ.HÖIr3   Úsyr2c                 óð  — 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        j
                  |«      j                  }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«      }	 |d|||	d¬«      }
t        |	||¬«        |d|||	¬«      }
|	|
usJ ‚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«      ¬«       y )!NrT   rW   r"   r$   r[   rV   r   rº   r»   Fr¼   r¿   rÀ   rU   rÏ   TrÂ   r   r’   ©rÅ   rÆ   ÚincyÚoffy©rÅ   rÆ   rê   rë   rÇ   r–   rÉ   r   rÊ   rÌ   rX   rÍ   rÎ   ©rê   ©rë   r   )r&   r   r	   rÐ   rÑ   rÕ   rÖ   r   r×   r   rØ   rÙ   )ra   r9   r   r—   r˜   ÚresxyÚresxy_reverseÚqrÁ   rY   rß   s              r1   Ú	test_syr2zTestFBLAS2Simple.test_syr2*  sÇ  € ä�I‰I�a˜ #Ô&ˆÜ�I‰I�a˜ #Ô&ˆÜ—‘˜š!œRŸZ™Z˜-Ñ(¨1Ñ,¨q²´B·J±J°Ñ/?À!Ñ/CÑCÓDˆÜŸ™ ¡$ B $¬¯
©
Ð"2Ñ 3°a¹¸"¸±gÑ =Ø"#¡D b D¬"¯*©*Ð$4Ñ"5¸¹$¸B¸$¹Ñ"?ñ!@ó Aˆô �K‰K˜˜3 ¨UÔ3ˆÜ�x‰x˜‹×"Ñ"ˆä™˜#˜q !› e°$Õ7Ü™˜#˜q ! qÔ)¨5°°!°°R°a°R°©=¸tÕDÜ™˜#˜q !¨4Ô0°%·'±'ÀÕEä™˜#˜q !¨!°!¸!À"ÔEØ Dõ	*ä™˜#˜q !¨!°!¸!À"ÈÔJØ˜b˜q˜b " 1 "˜f™¨Dõ	2ô 	™˜#˜q !¨"°1¸2ÀBÔGØ%¨Dõ	2ô �H‰H�V˜U CÓ(ˆÙˆc�1�a˜1¨$Ô/ˆÜ˜˜5 tÕ,áˆc�1�a˜1ÔˆØ˜‰zÐˆzÜ˜˜1˜U™7¨Õ.ä”i  C¨¨A°AÕ6Ü”i  C¨¨A°AÕ6Ü”i  C¨¨A°BÕ7Ü”i  C¨¨A°AÕ6Ü”i  C¨¨A°AÕ6Ü”i  C¨¨A°BÕ7Ü”i  C¨¨A°Õ4Ü”i  C¨¨A°Õ3Ü”i  C¨¨A°QÕ7Ü”i  C¨¨A´·±¸&À#ÀsÓ1KÖLr3   Úher2c                 óº  — t        j                  ddd¬«      j                  d«      }t        j                  ddd¬«      j                  d«      }|d d …t         j                  f   |j	                  «       z  |d d …t         j                  f   |j	                  «       z  z   }t        j
                  |«      }|d d d…t         j                  f   |d d d…   j	                  «       z  }||d d d…t         j                  f   |d d d…   j	                  «       z  z  }t        j
                  |«      }t         j                  t        j                  d«      |t        j                  d«      f   j                  «       }t         j                  t        j                  d«      |t        j                  d«      f   j                  «       }t        j                  |«      j                  }	t         |d	||«      ||	¬
«       t         |d	||d¬«      |d d…d d…f   |	¬
«       t         |d	||d¬«      |j                  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«      }
 |d	|||
d¬«      }t        |
||	¬
«        |d|||
¬«      }|
|usJ ‚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«      ¬«       y ) NrT   r[   r"   r$   r¾   r»   rV   rm   r¿   rÀ   rU   rÏ   TrÂ   ré   rì   rÈ   rÉ   r   rÊ   rÌ   rX   r   rÍ   rW   rÎ   r–   rí   rî   r   r   )r&   r   rÒ   rÐ   rã   r	   rÓ   r   rÔ   rÕ   rÖ   r   r×   rØ   rÙ   )ra   r9   r   r—   r˜   rï   rð   ÚuÚvrÁ   rY   rß   s               r1   Ú	test_her2zTestFBLAS2Simple.test_her2T  sP  € ä�I‰I�a˜ #Ô&×+Ñ+¨CÓ0ˆÜ�I‰I�a˜ 3Ô'×,Ñ,¨SÓ1ˆØ’!”R—Z‘Z�-Ñ  1§6¡6£8Ñ+¨a²´2·:±:°Ñ.>ÀÇÁÃÑ.IÑIˆÜ—‘˜“ˆà™$˜B˜$¤§
¡
Ð*Ñ+¨a±°"°©g¯l©l«nÑ<ˆØ˜™4˜R˜4¤§¡Ð+Ñ,¨q±°2°©w¯|©|«~Ñ=Ñ=ˆÜŸ™ Ó.ˆä�E‰E”"—(‘(˜1“+˜q¤"§(¡(¨1£+Ð-Ñ.×4Ñ4Ó6ˆÜ�E‰E”"—(‘(˜1“+˜q¤"§(¡(¨1£+Ð-Ñ.×4Ñ4Ó6ˆä�x‰x˜‹×"Ñ"ˆä™˜#˜q !› e°$Õ7Ü™˜#˜q ! qÔ)¨5°°!°°R°a°R°©=¸tÕDÜ™˜#˜q !¨4Ô0°%·'±'·,±,³.Ø!õ	#ô 	™˜#˜q !¨!°!¸!À!ÔDØ Dõ	*ä™˜#˜q !¨!°!¸!À!ÀqÔIØ˜b˜q˜b " 1 "˜f™¨Dõ	2ô 	™˜#˜q !¨"°1¸2ÀAÔFØ%¨Dõ	2ô �H‰H�V˜U CÓ(ˆÙˆc�1�a˜1¨$Ô/ˆÜ˜˜5 tÕ,áˆc�1�a˜1ÔˆØ˜‰zÐˆzÜ˜˜1˜U™7¨Õ.ä”i  C¨¨A°AÕ6Ü”i  C¨¨A°AÕ6Ü”i  C¨¨A°BÕ7Ü”i  C¨¨A°AÕ6Ü”i  C¨¨A°AÕ6Ü”i  C¨¨A°BÕ7Ü”i  C¨¨A°Õ4Ü”i  C¨¨A°Õ3Ü”i  C¨¨A°QÕ7Ü”i  C¨¨AÜŸ™ ¨¨cÓ2ö	4r3   r   c                 ór  — t         j                  j                  d«      }d}d}d}d}t        t	        |j                  |dz   «      t        ||z
  dz
  «      «      t	        |j                  |dz   «      t        ||z
  dz
  «      «      «      }|j                  |«      }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<   |j                  |«      j                  |«      }	|j                  |«      j                  |«      }
 |d«       |d«      }}t        d|¬«      \  } ||||||||	|
|¬«	      }||j                  |	«      z  ||
z  z   }t        ||«        ||||||||
|	|d¬«
      }||j                  j                  |
«      z  ||	z  z   }t        ||«       y )NéÒ  rZ   rW   rT   r   r$   )r   r   )r   rT   r‘   )r   r   r   )rT   r   rU   rm   r¡   )Úgbmv)	ÚmrÇ   ÚkuÚklÚalpharY   r—   r˜   Úbeta)
rû   rÇ   rü   rý   rþ   rY   r—   r˜   rÿ   Útrans)r&   ÚrandomÚdefault_rngr   r   r   Úastyper   r6   r   r×   )ra   r   ÚrngrÇ   rû   rý   rü   ÚAÚAbr—   r˜   rþ   rÿ   Úfuncrš   Úy2s                   r1   Ú	test_gbmvzTestFBLAS2Simple.test_gbmv…  sÍ  € ä�i‰i×#Ñ# DÓ)ˆØˆØˆØˆØˆä”V˜CŸJ™J r¨!¡tÓ,¬e°A°b±D¸±F«mÓ<Ü˜CŸJ™J r¨!¡tÓ,¬e°A°b±D¸±F«mÓ<ó>ˆà�H‰H�U‹OˆÜ�B�r‘E˜!‘G˜Q�< uÔ-ˆð �d‘Gˆˆ1ˆbˆqˆbˆ5‰	Ø�t‘Wˆˆ1ˆa�ˆcˆ6‰
Ø�t‘Wˆˆ1ˆa�ˆcˆ6‰
Ø�d‘Gˆˆ1ˆbˆqˆbˆ5‰	à�J‰J�q‹M× Ñ  Ó'ˆØ�J‰J�q‹M× Ñ  Ó'ˆÙ˜A“h¡ b£	ˆtˆä˜y°Ô6‰ˆÙ�A˜˜r b°¸Ø˜ ô'ˆà�Q—U‘U˜1“XÑ  q¡Ñ(ˆÜ! " bÔ)á�A˜˜r b°¸Ø˜ ¨Qô0ˆà�Q—S‘S—W‘W˜Q“ZÑ $¨¡(Ñ*ˆÜ! " bÕ)r3   c                 ór  — t         j                  j                  d«      }d}d}t        ||f|¬«      }t        |dz   |f|¬«      }|j                  |«      |t	        |«      t	        |«      f<   t        d|dz   «      D ]?  }|j                  ||z
  «      }||t	        ||z
  «      t	        ||«      f<   ||d|z
  |d …f<   ŒA |j                  |«      }|t        v r-||j                  «       j                  z  }t        d|¬«      \  }	n||j                  z  }t        d|¬«      \  }	t        |«      |dd d …f<   |j                  |«      j                  |«      }
|j                  |«      j                  |«      } |d	«       |d
«      }} |	||||
||¬«      }||j                  |
«      z  ||z  z   }t        ||«       y )Nrù   r‘   r   r$   rT   rV   )Úhbmv)Úsbmvç      ô?rU   )Úkrþ   rY   r—   r˜   rÿ   )r&   r  r  r   r   Úranger  r_   rã   r×   r   r   r6   r   )ra   r   r  rÇ   r  r  r  Úind2Útempr  r—   r˜   rþ   rÿ   rš   r  s                   r1   Útest_sbmv_hbmvzTestFBLAS2Simple.test_sbmv_hbmv§  sš  € ä�i‰i×#Ñ# DÓ)ˆØˆØˆÜ�1�a�& Ô&ˆÜ�A�a‘C˜�8 5Ô)ˆð #&§*¡*¨Q£-ˆŒ&�‹)”V˜A“YÐ
ÑÜ˜!˜Q˜q™S–MˆDØ—:‘:˜a ™fÓ%ˆDØ15ˆAŒf�Q�t‘V‹nœf T¨1›oÐ-Ñ.Ø!%ˆBˆr�$‰w˜™ˆ~Òð "ð �H‰H�U‹OˆØ”NÑ"Ø�—‘“—‘‰OˆAÜ" 9°EÔ:‰E‰Dà�—‘‰HˆAÜ" 9°EÔ:‰EˆDä˜“Gˆˆ2Šqˆ5‰	Ø�J‰J�q‹M× Ñ  Ó'ˆØ�J‰J�q‹M× Ñ  Ó'ˆÙ˜D“k¡5¨£8ˆtˆá�A˜U b¨A°¸Ô>ˆØ�Q—U‘U˜1“XÑ  q¡Ñ(ˆÜ! " bÕ)r3   zfname,dtypeÚspmvÚhpmvc                 ó¾  — t         j                  j                  d«      }d}|j                  ||f«      j                  |«      }|t        v r||j                  ||f«      dz  z  }||dk(  r|j
                  n|j                  «       j
                  z  }t        |«      \  }}|||f   }|j                  |«      j                  |«      }	|j                  |«      j                  |«      }
t        d|z  «      j                  |«      }t        d|z  «      j                  |«      } |d«       |d«      }}t        |f|¬«      \  } |||||	|
|¬«      }||j                  |	«      z  ||
z  z   }t        ||«        ||d	z
  |||||dd||¬
«
      }||d d…d d…f   z  j                  |dd d…   «      ||dd d…   z  z   }t        |dd d…   |«       t        |d   |d   «       y )Nrù   rU   r®   r  r   r  r$   )rÇ   rþ   Úapr—   r˜   rÿ   rT   )
rÇ   rþ   rÿ   r—   r˜   r  rÅ   rê   rÆ   rë   rV   rm   )r&   r  r  r  r_   r×   rã   r   r   r   r   r6   r   r   )ra   Úfnamer   r  rÇ   r  r%   ÚrÚApr—   r˜   ÚxlongÚylongrþ   rÿ   r  rš   r  s                     r1   Útest_spmv_hpmvzTestFBLAS2Simple.test_spmv_hpmvÆ  sà  € ô
 �i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓ×%Ñ% eÓ,ˆØ”NÑ"Ø�—‘˜Q ˜FÓ# BÑ&Ñ&ˆAØ	�E˜V’OˆQ�SŠS¨¯©«¯©Ñ3ˆÜ˜A‹‰ˆˆ1Øˆq�!ˆt‰WˆØ�J‰J�q‹M× Ñ  Ó'ˆØ�J‰J�q‹M× Ñ  Ó'ˆÜ�q˜‘s“×"Ñ" 5Ó)ˆÜ�Q�q‘S“	× Ñ  Ó'ˆÙ˜D“k¡5¨£8ˆtˆä ˜x¨uÔ5‰ˆÙ�A˜U r¨Q°!¸$Ô?ˆØ�Q—U‘U˜1“XÑ  q¡Ñ(ˆÜ! " bÔ)ñ �A�a‘C˜u¨4°5¸EÀbØ˜q q¨qô2ˆà�a˜˜˜˜S˜b˜S˜‘kÑ!×&Ñ& u¨Q¨T°¨T¡{Ó3°d¸UÀ1À4ÀaÀ4¹[Ñ6HÑHˆÜ! " Q T¨ T¡(¨BÔ/Ü˜B˜q™E 5¨¡8Õ,r3   ÚsprÚhprc                 óv  — t         j                  j                  d«      }d}|j                  ||f«      j                  |«      }|t        v r||j                  ||f«      dz  z  }||dk(  r|j
                  n|j                  «       j
                  z  }t        |«      \  }}|||f   }|j                  |«      j                  |«      }	t        j                  |«      j                  j                  d«      }
|dk(  rCt        d|¬«      \  }|
|	d d …d f   j                  |	d d d …f   j                  «       «      z  |z   }n4t        d	|¬«      \  }|
|	d d …d f   j                  |	d d d …f   «      z  |z   } |||
||	¬
«      }t        d|¬«      }||||f<   |dk(  r|j                  «       n||||f<   t        ||«       y )Nrù   rU   r®   r  g      @r  )r  r$   )r  )rÇ   rþ   r  r—   ©rU   rU   )r&   r  r  r  r_   r×   rã   r   rÕ   r   Útyper   r6   r   r   )ra   r  r   r  rÇ   r  r%   r  r  r—   rþ   r  r  rš   Úy1fs                  r1   Útest_spr_hprzTestFBLAS2Simple.test_spr_hprå  s–  € ô
 �i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓ×%Ñ% eÓ,ˆØ”NÑ"Ø�—‘˜Q ˜FÓ# BÑ&Ñ&ˆAØ	�E˜U’NˆQ�SŠS¨¯©«¯
©
Ñ2ˆÜ˜A‹‰ˆˆ1Øˆq�!ˆt‰WˆØ�J‰J�q‹M× Ñ  Ó'ˆä—‘˜“×%Ñ%×*Ñ*¨3Ó/ˆØ�EŠ>Ü" 8°5Ô9‰EˆDØ˜š1˜d˜7™Ÿ™¨¨$²¨'©
¯©Ó(9Ó:Ñ:¸QÑ>‰Bä" 8°5Ô9‰EˆDØ˜š1˜d˜7™Ÿ™¨¨$²¨'©
Ó3Ñ3°aÑ7ˆBá�A˜U r¨QÔ/ˆÜ�F %Ô(ˆØˆˆAˆqˆD‰	Ø!&¨%¢�B—G‘G”I°RˆˆAˆqˆD‰	Ü! # rÕ*r3   c                 ón  — t         j                  j                  d«      }d}|j                  ||f«      j                  |«      }|t        v rF||j                  ||f«      dz  z  }||j                  «       j                  z  }t        d|¬«      \  }n||j                  z  }t        d|¬«      \  }t        |«      \  }}|||f   }|j                  |«      j                  |«      }	|j                  |«      j                  |«      }
 |d«      }|j                  «       |	d d …d f   j                  |
d d d …f   j                  «       «      z  }||z   |j                  «       j                  z   } ||||	|
|¬«      }t        d	|¬«      }||||f<   |g d
¢   j                  «       |g d¢g d¢f<   t        ||«       y )Nrù   rU   r®   )Úhpr2r$   )Úspr2r   )rÇ   rþ   r—   r˜   r  r   )rT   rU   rm   )rT   r   r   )r   r   rT   )r&   r  r  r  r_   rã   r×   r   r   r6   r   r   )ra   r   r  rÇ   r  r  r%   r  r  r—   r˜   rþ   rõ   r  rš   r"  s                   r1   Útest_spr2_hpr2zTestFBLAS2Simple.test_spr2_hpr2  s„  € ä�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J˜˜1�vÓ×%Ñ% eÓ,ˆØ”NÑ"Ø�—‘˜Q ˜FÓ# BÑ&Ñ&ˆAØ�—‘“—‘‰OˆAÜ" 9°EÔ:‰E‰Dà�—‘‰HˆAÜ" 9°EÔ:‰EˆDä˜A‹‰ˆˆ1Øˆq�!ˆt‰WˆØ�J‰J�q‹M× Ñ  Ó'ˆØ�J‰J�q‹M× Ñ  Ó'ˆÙ�a“ˆà�J‰J‹L˜1šQ ˜W™:Ÿ>™>¨!¨D²!¨G©*¯/©/Ó*;Ó<Ñ<ˆØ�‰U�Q—V‘V“X—Z‘ZÑˆÙ�A˜U a¨1°Ô4ˆÜ�F %Ô(ˆØˆˆAˆqˆD‰	Ø$&¢y¡M×$6Ñ$6Ó$8ˆŠI’yÐ Ñ!Ü! # rÕ*r3   c           
      ó2  — t         j                  j                  d«      }d}d}|j                  |«      j                  |«      }t	        ||f|¬«      }t        |dz   «      D ]1  }|j                  ||z
  «      |t        ||z
  «      t        ||«      f<   Œ3 |t        v rI|t        |«      xx   d|j                  |dz   |z  ||dz   z  dz  z
  «      j                  |«      z  z  cc<   t	        |dz   |f|¬«      }t        |dz   «      D ]  }	t        ||	¬«      ||	 dz
  |	d …f<   Œ t        d	|¬«      \  }
 |
|||¬
«      }|j                  |«      }t        ||«        |
|||d¬«      } |d«      |t        |«      t        |«      f<   |j                  |«      }t        ||«        |
|||dd¬«      }|j                  j                  |«      }t        ||«        |
|||dd¬«      }|j                  «       j                  j                  |«      }t        ||«       y )Nrù   r’   rU   r$   rT   r®   r   ©r  )Útbmv©r  rY   r—   ©r  rY   r—   r   ©r  rY   r—   r   r   )r&   r  r  r  r   r  r   r_   r   r   r   r6   r   r×   rã   ©ra   r   r  rÇ   r  r—   r  Úsupr  Úrowr  rš   r  s                r1   Ú	test_tbmvzTestFBLAS2Simple.test_tbmv  sì  € ä�i‰i×#Ñ# DÓ)ˆØˆØˆØ�J‰J�q‹M× Ñ  Ó'ˆÜ�1�a�& Ô&ˆä˜˜1™–:ˆCØ/2¯z©z¸!¸C¹%Ó/@ˆAŒf�Q�s‘U‹mœV C¨›^Ð+Ò,ð ð ”NÑ"ØŒg�a‹j‹M˜R #§*¡*¨a°©c°1©W°a¸¸1¹±g¸q±jÑ-AÓ"B×"IÑ"IÈ%Ó"PÑPÑP‹Mô �A�a‘C˜�8 5Ô)ˆÜ˜˜1™–:ˆCÜ# A¨œ~ˆB�ˆt�A‰v�s‘tˆ|Òð ä˜y°Ô6‰ˆá�A˜˜qÔ!ˆØ�U‰U�1‹XˆÜ! " bÔ)á�A˜˜q qÔ)ˆÙ"'¨£(ˆŒ&�‹)”V˜A“YÐ
ÑØ�U‰U�1‹XˆÜ! " bÔ)á�A˜˜q q°Ô2ˆØ�S‰S�W‰W�Q‹ZˆÜ! " bÔ)á�A˜˜q q°Ô2ˆØ�V‰V‹X�Z‰Z�^‰^˜AÓˆÜ! " bÕ)r3   c           
      ó
  — t         j                  j                  d«      }d}d}|j                  |«      j                  |«      }t	        ||f|¬«      }t        |dz   «      D ]1  }|j                  ||z
  «      |t        ||z
  «      t        ||«      f<   Œ3 |t        v rI|t        |«      xx   d|j                  |dz   |z  ||dz   z  dz  z
  «      j                  |«      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                  «       j                  |«      }t        ||«       y )Ni90  r‘   rU   r$   rT   r®   r   r)  )Útbsvr+  r,  r-  )r&   r  r  r  r   r  r   r_   r   r   r   r   r   r×   rã   r.  s                r1   Ú	test_tbsvzTestFBLAS2Simple.test_tbsvC  sä  € ä�i‰i×#Ñ# EÓ*ˆØˆØˆØ�J‰J�q‹M× Ñ  Ó'ˆÜ�1�a�& Ô&ˆä˜˜1™–:ˆCØ/2¯z©z¸!¸C¹%Ó/@ˆAŒf�Q�s‘U‹mœV C¨›^Ð+Ò,ð ð ”NÑ"ØŒg�a‹j‹M˜R #§*¡*¨a°©c°1©W°a¸¸1¹±g¸q±jÑ-AÓ"B×"IÑ"IÈ%Ó"PÑPÑP‹Mô �A�a‘C˜�8 5Ô)ˆÜ˜˜1™–:ˆCÜ# A¨œ~ˆB�ˆt�A‰v�s‘tˆ|Òð ä˜y°Ô6‰ˆá�A˜˜qÔ!ˆÜ�1�a‹[ˆÜ! " bÔ)á�A˜˜q qÔ)ˆÙ"'¨£(ˆŒ&�‹)”V˜A“YÐ
ÑÜ�1�a‹[ˆÜ! " bÔ)á�A˜˜q q°Ô2ˆÜ�1—3‘3˜‹]ˆÜ! " bÔ)á�A˜˜q q°Ô2ˆÜ�1—6‘6“8—:‘:˜qÓ!ˆÜ! " bÕ)r3   c                 óJ  — t         j                  j                  d«      }d}|j                  |«      j                  |«      }|t        v r4t        |j                  ||f«      |j                  ||f«      dz  z   «      }nt        |j                  ||f«      «      }t        |«      \  }}|||f   }t        d|¬«      \  }	 |	|||¬«      }
|j                  |«      }t        |
|«        |	|||d¬«      }
 |d«      |t        |«      t        |«      f<   |j                  |«      }t        |
|«        |	|||dd¬	«      }
|j                  j                  |«      }t        |
|«        |	|||dd
¬	«      }
|j                  «       j                  j                  |«      }t        |
|«       y )Nrù   r’   r®   )Útpmvr$   ©rÇ   r  r—   rT   ©rÇ   r  r—   r   ©rÇ   r  r—   r   r   r   )r&   r  r  r  r_   r	   r   r   r6   r   r   r×   rã   ©ra   r   r  rÇ   r—   r  r%   r  r  r  rš   r  s               r1   Ú	test_tpmvzTestFBLAS2Simple.test_tpmvi  sr  € ä�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J�q‹M× Ñ  Ó'ˆà”NÑ"Ü�S—Z‘Z  A Ó'¨#¯*©*°a¸°VÓ*<¸RÑ*?Ñ?Ó@‰Aä�S—Z‘Z  A Ó'Ó(ˆAô ˜A‹‰ˆˆ1Øˆq�!ˆt‰WˆÜ˜y°Ô6‰ˆá�A˜" Ô"ˆØ�U‰U�1‹XˆÜ! " bÔ)á�A˜" ¨Ô*ˆÙ"'¨£(ˆŒ&�‹)”V˜A“YÐ
ÑØ�U‰U�1‹XˆÜ! " bÔ)á�A˜" ¨°Ô3ˆØ�S‰S�W‰W�Q‹ZˆÜ! " bÔ)á�A˜" ¨°Ô3ˆØ�V‰V‹X�Z‰Z�^‰^˜AÓˆÜ! " bÕ)r3   c                 ó>  — t         j                  j                  d«      }d}|j                  |«      j                  |«      }|t        v r4t        |j                  ||f«      |j                  ||f«      dz  z   «      }nt        |j                  ||f«      «      }|t        |«      z  }t        |«      \  }}|||f   }t        d|¬«      \  }	 |	|||¬«      }
t        ||«      }t        |
|«        |	|||d¬«      }
 |d«      |t        |«      t        |«      f<   t        ||«      }t        |
|«        |	|||dd¬	«      }
t        |j                  |«      }t        |
|«        |	|||dd
¬	«      }
t        |j                  «       j                  |«      }t        |
|«       y )Nrù   r’   r®   )Útpsvr$   r7  rT   r8  r9  r   )r&   r  r  r  r_   r	   r   r   r   r   r   r   r×   rã   r:  s               r1   Ú	test_tpsvzTestFBLAS2Simple.test_tpsvŠ  su  € ä�i‰i×#Ñ# DÓ)ˆØˆØ�J‰J�q‹M× Ñ  Ó'ˆà”NÑ"Ü�S—Z‘Z  A Ó'¨#¯*©*°a¸°VÓ*<¸RÑ*?Ñ?Ó@‰Aä�S—Z‘Z  A Ó'Ó(ˆAØ	ŒS�‹V‰ˆä˜A‹‰ˆˆ1Øˆq�!ˆt‰WˆÜ˜y°Ô6‰ˆá�A˜" Ô"ˆÜ�1�a‹[ˆÜ! " bÔ)á�A˜" ¨Ô*ˆÙ"'¨£(ˆŒ&�‹)”V˜A“YÐ
ÑÜ�1�a‹[ˆÜ! " bÔ)á�A˜" ¨°Ô3ˆÜ�1—3‘3˜‹]ˆÜ! " bÔ)á�A˜" ¨°Ô3ˆÜ�1—6‘6“8—:‘:˜qÓ!ˆÜ! " bÕ)r3   c                 ó  — t         j                  j                  d«      }d}|j                  ||f«      t        |«      z   j	                  |«      }|j                  d«      j	                  |«      }t        d|¬«      \  } |||¬«      }t        |«      j                  |«      }t        ||«        |||d¬«      } |d«      |t        |«      t        |«      f<   t        |«      j                  |«      }t        ||«        |||dd¬«      }t        |«      j                  j                  |«      }t        ||«        |||dd	¬«      }t        |«      j                  «       j                  j                  |«      }t        ||«       y )
Nrù   rU   )Útrmvr$   ©rY   r—   rT   ©rY   r—   r   ©rY   r—   r   r   r   )r&   r  r  r   r  r   r	   r6   r   r   r×   rã   ©	ra   r   r  rÇ   r  r—   r  rš   r  s	            r1   Ú	test_trmvzTestFBLAS2Simple.test_trmv«  s;  € ä�i‰i×#Ñ# DÓ)ˆØˆØ�Z‰Z˜˜A˜Ó¤ A£Ñ&×.Ñ.¨uÓ5ˆØ�J‰J�q‹M× Ñ  Ó'ˆÜ˜y°Ô6‰ˆá�A˜Œ^ˆÜ�!‹W�[‰[˜‹^ˆÜ! " bÔ)á�A˜ Ô#ˆÙ"'¨£(ˆŒ&�‹)”V˜A“YÐ
ÑÜ�!‹W�[‰[˜‹^ˆÜ! " bÔ)á�A˜ ¨!Ô,ˆÜ�!‹W�Y‰Y�]‰]˜1ÓˆÜ! " bÔ)á�A˜ ¨!Ô,ˆÜ�!‹W�\‰\‹^×Ñ×!Ñ! !Ó$ˆÜ! " bÕ)r3   c                 ó<  — t         j                  j                  d«      }d}|j                  ||f«      t        |«      z   j	                  |«      }|j                  |«      j	                  |«      }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                  «       j                  |«      }t        ||«       y )Nrù   é   )Útrsvr$   rA  rT   )rY   r—   rÃ   rB  rC  r   )r&   r  r  r   r  r   r   r	   r   r
   r   r×   rã   rD  s	            r1   Ú	test_trsvzTestFBLAS2Simple.test_trsvÄ  s[  € ä�i‰i×#Ñ# DÓ)ˆØˆØ�Z‰Z˜˜A˜Ó¤ A£Ñ&×.Ñ.¨uÓ5ˆØ�J‰J�q‹M× Ñ  Ó'ˆÜ˜y°Ô6‰ˆá�A˜Œ^ˆÜ”4˜“7˜AÓˆÜ! " bÔ)á�A˜ !Ô$ˆÜ”4˜“7˜AÓˆÜ! " bÔ)á�A˜ Ô#ˆÙ"'¨£(ˆŒ&�‹)”V˜A“YÐ
ÑÜ”4˜“7˜AÓˆÜ! " bÔ)á�A˜ ¨!Ô,ˆÜ”4˜“7—9‘9˜aÓ ˆÜ! " bÔ)á�A˜ ¨!Ô,ˆÜ”4˜“7—<‘<“>×#Ñ# QÓ'ˆÜ! " bÕ)r3   N)rd   re   rf   rM   r£   r©   r°   r´   r·   rà   ræ   rò   r÷   rA   rB   rG   ÚDTYPESr	  r  ÚREAL_DTYPESr_   r  r#  r'  r1  r4  r;  r>  rE  rI  )Ú.0r   s   00r1   r¥   r¥   ±   s+  „ Ù�e˜V VÓ,ñ1ó -ð1ñ �e˜U DÓ)ñ
Dó *ð
Dñ �e˜V TÓ*ñ@ó +ð@ñ �e˜V TÓ*ñ@ó +ð@ñ �e˜U FÓ+ñ0Jó ,ð0Jñd �e˜U DÓ)ñJó *ðJñ@ �e˜V TÓ*ñ'Mó +ð'MñR �e˜V TÓ*ñ.4ó +ð.4ð` ‡[�[×Ñ˜W fÓ-ñ*ó .ð*ðB ‡[�[×Ñ˜W fÓ-ñ*ó .ð*ð< ‡[�[×Ñ˜]ð -Ø'2°^Ò'CÔ	DÑ'C˜eˆ6�5Š/Ð'CÒ	Dð-á'5Ô	6¡~˜eˆ6�5Š/ ~Ò	6ð-ó ñ-ó	ð-ð6 ‡[�[×Ñ˜]ð -Ø&1°NÒ&BÔ	CÑ&B˜Uˆ5�%Š.Ð&BÒ	Cð-á&4Ô	5¡n˜Uˆ5�%Š. nÒ	5ð-ó ñ+ó	ð+ð2 ‡[�[×Ñ˜W fÓ-ñ+ó .ð+ð4 ‡[�[×Ñ˜W fÓ-ñ#*ó .ð#*ðJ ‡[�[×Ñ˜W fÓ-ñ#*ó .ð#*ðJ ‡[�[×Ñ˜W fÓ-ñ*ó .ð*ð@ ‡[�[×Ñ˜W fÓ-ñ*ó .ð*ð@ ‡[�[×Ñ˜W fÓ-ñ*ó .ð*ð0 ‡[�[×Ñ˜W fÓ-ñ*ó .ñ*ùó} 
EùÛ	6ùó< 
DùÛ	5s   Ã(IÃ<IÄ5IÅ	I$r¥   c                   ó,   — e Zd Z eedd«      d„ «       Zy)ÚTestFBLAS3Simpler#   rP   c           	      óÞ   — t         |ddgdg«      dgg«       t         |ddgdgddg«      dg«       |t        v r3t         |ddgdg«      dgg«       t         |ddgdgdd	g«      d
g«       y y r¨   r^   r`   s      r1   Ú	test_gemmzTestFBLAS3Simple.test_gemmã  s‚   € ä!¡! A¨ s¨R¨D£/°S°E°7Ô;Ü!¡! A¨ s¨R¨D°!°a°SÓ"9¸C¸5ÔAØ”NÑ"Ü%¡a¨¨T¨F°R°DÓ&9¸W¸I¸;ÔGÜ%¡a¨¨T¨F°R°D¸!¸b¸TÓ&BÀWÀIÕNð #r3   N)rd   re   rf   rM   r£   rP  rg   r3   r1   rN  rN  â  s   „ Ù�e˜V VÓ,ñOó -ñOr3   rN  c                   ór   — e Zd Zd„ Z eedd«      d„ «       Z eedd«      d„ «       Z eedd«      d„ «       Zy)Ú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«      | _        y )	Nr¿   rÌ   ç        )r¿   rT  ç      @)rT  ç      ð¿rÌ   )r   rU   )rÌ   rV  g       @)rU  rT  g      "@)r&   ÚarrayrY   rß   r   r%   Út©ra   s    r1   Úsetup_methodzTestBLAS3Symm.setup_methodî  sg   € Ü—‘˜B ˜8Ø ˜8ð%ó &ˆŒä—‘š<Ú(ð*ó +ˆŒä—‘˜“ˆŒÜ—‘š=Ú'ð)ó *ˆ�r3   ÚsymmrP   c                 óÞ  —  || 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
                  «       y )Nr¿   ©rY   rß   r%   rþ   rÿ   rT   ©rY   rß   rÃ   r%   rþ   rÿ   )rY   rß   Úsider%   rþ   rÿ   )rY   rß   r%   r   rX  r×   ©ra   r9   r   Úress       r1   Ú	test_symmzTestBLAS3Symm.test_symm÷  s�   € á�$—&‘&˜DŸF™F d§f¡f°B¸RÔ@ˆÜ! # t§v¡vÔ.á�$—&‘&—(‘(˜dŸf™f¨A°·±¸rÈÔKˆÜ! # t§v¡vÔ.á�$—&‘&˜DŸF™FŸH™H¨1°·±·±Ø˜rô#ˆä! # t§v¡v§x¡xÕ0r3   c                 ó    — t        j                  t        «      5   || j                  | j                  dd¬«       ddd«       y# 1 sw Y   yxY w)z|`side=1` means C <- B*A, hence shapes of A and B are to be
        compatible. Otherwise, f2py exception is raised.
        rT   )rY   rß   rþ   r_  N)rA   r   rÙ   rY   rß   r`   s      r1   Útest_symm_wrong_sidez"TestBLAS3Symm.test_symm_wrong_side  s2   € ô �]‰]œ9Õ%Ù�—‘˜$Ÿ&™&¨°Õ2÷ &×%Ñ%ús   š!AÁAc                 ó:  —  || j                   | j                  | j                  dd¬«      }t        j                  || j
                  «      sJ ‚ || j                   | j                  d| j                  dd¬«      }t        j                  || j
                  «      rJ ‚y)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.
        r¿   r]  rT   r^  N)rY   rß   r%   r&   ÚallcloserX  r`  s       r1   Útest_symm_wrong_uploz"TestBLAS3Symm.test_symm_wrong_uplo  su   € ñ �$—&‘&˜DŸF™F d§f¡f°B¸RÔ@ˆÜ�{‰{˜3 §¡Ô'Ð'Ð'Ù�$—&‘&˜DŸF™F¨!¨t¯v©v¸RÀbÔIˆÜ—;‘;˜s D§F¡FÔ+Ð+Ð+Ð+r3   N)	rd   re   rf   rZ  rM   r£   rb  rd  rg  rg   r3   r1   rR  rR  ì  s^   „ ò*ñ �e˜V VÓ,ñ	1ó -ð	1ñ �e˜V VÓ,ñ3ó -ð3ñ �e˜V VÓ,ñ,ó -ñ,r3   rR  c                   óR   — e Zd Zd„ Z eedd«      d„ «       Z eedd«      d„ «       Zy)Ú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«      | _        y )Nr¿   rT  ç       ÀrÌ   rU  )r¿   rT  rÌ   )rT  ç      @ç      À)rÌ   rm  ç      *@ç      @ç      @rn  )r&   rW  rY   rX  ÚttrY  s    r1   rZ  zTestBLAS3Syrk.setup_method  sn   € Ü—‘˜B ˜8Ø ˜9Ø ˜8ð%ó &ˆŒô —‘š<Ú(Ú)ð+ó ,ˆŒô —(‘(˜R ˜HØ ˜Ið'ó (ˆ�r3   ÚsyrkrP   c                 óä  —  || 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                  «      «       y )Nr¿   ©rY   rþ   rT   )rY   rþ   rÃ   )rY   rþ   rÿ   r%   )rY   rþ   r   )	rY   r   r&   r	   rX  r
   r   Úshaperq  ©ra   r9   r   r%   Úc0s        r1   Ú	test_syrkzTestBLAS3Syrk.test_syrk#  sÞ   € á�—‘˜bÔ!ˆÜ!¤"§'¡'¨!£*¬b¯g©g°d·f±f«oÔ>á�—‘˜b¨Ô*ˆÜ!¤"§'¡'¨!£*¬b¯g©g°d·f±f«oÔ>ä�W‰W�T—V‘V—\‘\Ó"ˆÙ�—‘˜b r¨RÔ0ˆÜ!¤"§'¡'¨!£*¬b¯g©g°d·f±f¸R±iÓ.@ÔAá�—‘˜b¨Ô*ˆÜ!¤"§'¡'¨!£*¬b¯g©g°d·g±gÓ.>Õ?r3   c                 ó°   — t        j                  t        «      5   || j                  dt	        j
                  d«      ¬«       d d d «       y # 1 sw Y   y xY w)Nr¿   )rW   rn   )rY   rþ   r%   )rA   r   rÙ   rY   r&   r   r`   s      r1   Útest_syrk_wrong_czTestBLAS3Syrk.test_syrk_wrong_c4  s4   € ô �]‰]œ9Õ%Ù�—‘˜b¤B§G¡G¨F£OÕ4÷ &×%Ñ%ús   š)AÁAN)rd   re   rf   rZ  rM   r£   rx  rz  rg   r3   r1   ri  ri    sC   „ ò(ñ �e˜V VÓ,ñ@ó -ð@ñ  �e˜V VÓ,ñ5ó -ñ5r3   ri  c                   óR   — e Zd Zd„ Z eedd«      d„ «       Z eedd«      d„ «       Zy)Ú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«      | _        y )Nr¿   rT  rk  rÌ   rU  r   )rT  rV  rU  )rV  rT  rT  )rU  rT  rp  r‘   )r&   rW  rY   rß   rX  rq  rY  s    r1   rZ  zTestBLAS3Syr2k.setup_method=  s™   € Ü—‘˜B ˜8Ø ˜9Ø ˜8ð%ó &ˆŒô —‘˜B ˜8Ø ˜8Ø˜r˜7ð$ó %ˆŒô —‘š=Ú(Ú'ð)ó *ˆŒô —(‘(˜R ˜HØ ˜Gð%ó &ˆ�r3   Úsyr2krP   c                 ó<  —  || 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                  «      «       y )Nr¿   ©rY   rß   rþ   rT   )rY   rß   rþ   rÃ   )rY   rß   rþ   rÿ   r%   )rY   rß   rþ   r   )
rY   rß   r   r&   r	   rX  r
   r   ru  rq  rv  s        r1   Ú
test_syr2kzTestBLAS3Syr2k.test_syr2kJ  sö   € á�—‘˜$Ÿ&™&¨Ô+ˆÜ!¤"§'¡'¨!£*¬b¯g©g°d·f±f«oÔ>á�—‘˜$Ÿ&™&¨°!Ô4ˆÜ!¤"§'¡'¨!£*¬b¯g©g°d·f±f«oÔ>ä�W‰W�T—V‘V—\‘\Ó"ˆÙ�—‘˜$Ÿ&™&¨°°rÔ:ˆÜ!¤"§'¡'¨!£*¬b¯g©g°d·f±f¸R±iÓ.@ÔAá�—‘˜$Ÿ&™&¨°!Ô4ˆÜ!¤"§'¡'¨!£*¬b¯g©g°d·g±gÓ.>Õ?r3   c           	      óÆ   — t        j                  t        «      5   || j                  | j                  dt        j                  d«      ¬«       d d d «       y # 1 sw Y   y xY w)Nr¿   )rG  rn   )rY   rß   rþ   r%   )rA   r   rÙ   rY   rß   r&   r   r`   s      r1   Útest_syr2k_wrong_cz!TestBLAS3Syr2k.test_syr2k_wrong_cZ  s9   € ä�]‰]œ9Õ%Ù�—‘˜$Ÿ&™&¨¬b¯h©h°wÓ.?Õ@÷ &×%Ñ%ús   š4AÁA N)rd   re   rf   rZ  rM   r£   r�  rƒ  rg   r3   r1   r|  r|  <  sE   „ ò&ñ �e˜W fÓ-ñ@ó .ð@ñ �e˜W fÓ-ñAó .ñAr3   r|  c                   óÖ   — e Zd ZdZd„ Z eedd«      d„ «       Z eedd«      d„ «       Z eedd«      d	„ «       Z	 eed
d«      d„ «       Z
 eedd«      d„ «       Z eedd«      d„ «       Zy)ÚTestSyHez2Quick and simple tests for (zc)-symm, syrk, syr2k.c                 óD   — t        j                  ddgddgg«      | _        y )NrT  y       €      ð¿r®   )r&   rW  Úsigma_yrY  s    r1   rZ  zTestSyHe.setup_methodd  s$   € Ü—x‘x " d Ø"% r ð!,ó -ˆ�r3   r[  Úzcc                 óª   —  || j                   | j                   d¬«      }t        t        j                  |«      t        j                  ddg«      «       y )Nr¿   r€  rT   rV   ©r‡  r   r&   r	   r   r`  s       r1   rb  zTestSyHe.test_symmh  s9   € ñ �$—,‘, $§,¡,°bÔ9ˆÜ!¤"§'¡'¨#£,´·±¸¸B¸Ó0@ÕAr3   Úhemmc                 óª   —  || j                   | j                   d¬«      }t        t        j                  |«      t        j                  ddg«      «       y )Nr¿   r€  rT   rŠ  r`  s       r1   Ú	test_hemmzTestSyHe.test_hemmn  s8   € ñ �$—,‘, $§,¡,°bÔ9ˆÜ!¤"§'¡'¨#£,´·±¸¸A¸³Õ@r3   rr  c                 ó”   —  || j                   d¬«      }t        t        j                  |«      t        j                  ddg«      «       y )Nr¿   rt  rV   rŠ  r`  s       r1   rx  zTestSyHe.test_syrkt  s1   € á�$—,‘, bÔ)ˆÜ!¤"§'¡'¨#£,´·±¸¸R¸Ó0AÕBr3   Úherkc                 ó”   —  || j                   d¬«      }t        t        j                  |«      t        j                  ddg«      «       y )Nr¿   rt  rT   rŠ  r`  s       r1   Ú	test_herkzTestSyHe.test_herky  s0   € á�$—,‘, bÔ)ˆÜ!¤"§'¡'¨#£,´·±¸¸A¸³Õ@r3   r~  c                 ó°   —  || j                   | j                   d¬«      }t        t        j                  |«      dt        j                  ddg«      z  «       y )Nr¿   r€  rÌ   rV   rŠ  r`  s       r1   Útest_syr2k_zrzTestSyHe.test_syr2k_zr~  s<   € á�$—,‘, $§,¡,°bÔ9ˆÜ!¤"§'¡'¨#£,°´2·7±7¸BÀ¸8Ó3DÑ0DÕEr3   Úher2kc                 ó°   —  || j                   | j                   d¬«      }t        t        j                  |«      dt        j                  ddg«      z  «       y )Nr¿   r€  rÌ   rT   rŠ  r`  s       r1   Útest_her2k_zrzTestSyHe.test_her2k_zrƒ  s;   € á�$—,‘, $§,¡,°bÔ9ˆÜ!¤"§'¡'¨#£,°´2·7±7¸A¸q¸6³?Ñ0BÕCr3   N)rd   re   rf   Ú__doc__rZ  rM   r£   rb  r�  rx  r‘  r“  r–  rg   r3   r1   r…  r…  a  sÄ   „ Ù<ò-ñ �e˜V TÓ*ñBó +ðBñ
 �e˜V TÓ*ñAó +ðAñ
 �e˜V TÓ*ñCó +ðCñ �e˜V TÓ*ñAó +ðAñ �e˜W dÓ+ñFó ,ðFñ �e˜W dÓ+ñDó ,ñDr3   r…  c                   óº   — e Zd ZdZd„ Zej                  j                  de«      d„ «       Z	 e
edd«      d„ «       Z e
edd«      d„ «       Z e
edd«      d	„ «       Zy
)ÚTestTRMMz!Quick and simple tests for *trmm.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
¬«      | _        y )Nr¿   rÌ   rk  ©rU  rl  rV  ©ro  rp  rk  )rT   rT   r   rU   )r   rT   rm   rW   )r   r   rT   r‘   )r   r   r   rT   r9   )r   rT   rm   r   rW   rU   r‘   rZ   rn   r[   r’   )r&   rW  rY   rß   Úa2Úb2rY  s    r1   rZ  zTestTRMM.setup_methodŒ  s›   € Ü—‘˜B ˜:Ø ˜9ð&ó 'ˆŒä—‘š=Ú(ð*ó +ˆŒô —(‘(šLÚ(Ú(Ú(ð*ð 25ô6ˆŒô —(‘(˜Q ˜F Q¨ F¨Q°¨F°Q¸°F¸QÀ¸GÐDØ!$ô&ˆ�r3   r   c           	      ó¸  — t        d|¬«      }t        t        |d| j                  | j                  «        |d| j                  j                  |«      | j                  j                  |«      d¬«      }| j                  j                  d   }t        || j                  | j                  d |…d |…f   z  ddt        j                  |«      j                  z  ¬«       y )	NÚtrmmr$   r¿   rT   )r_  rT  éd   )rÁ   Úatol)r   rØ   rÙ   r�  rž  r  ru  r   r&   rÕ   rÖ   )ra   r   r   ra  r  s        r1   Ú	test_sidezTestTRMM.test_side™  s¦   € ä˜f¨EÔ2ˆä”i  s¨D¯G©G°T·W±WÔ=Ù�3˜Ÿ™Ÿ™ uÓ-¨t¯w©w¯~©~¸eÓ/DØôˆà�G‰G�M‰M˜!ÑˆÜ˜˜TŸW™W t§w¡w¨r°¨r°2°A°2¨v¡Ñ6¸RØ ¤§¡¨%£×!4Ñ!4Ñ4ö	6r3   r   rP   c                 óŽ   —  |d| j                   | j                  «      }t        j                  g d¢g d¢g«      }t	        ||«       y )Nr¿   )rn  g      0@g      Àrœ  ©rY   rß   r&   rW  r   ©ra   r9   r   ÚresultÚexpecteds        r1   Útest_abzTestTRMM.test_ab¤  s:   € á�2�t—v‘v˜tŸv™vÓ&ˆä—8‘8š_Ú,ð.ó /ˆä! &¨(Õ3r3   c                 ó’   —  |d| j                   | j                  d¬«      }t        j                  g d¢g d¢g«      }t	        ||«       y )Nr¿   TrÂ   r›  )rV  rk  rT  r¥  r¦  s        r1   Útest_ab_lowerzTestTRMM.test_ab_lower¬  s<   € á�2�t—v‘v˜tŸv™v¨TÔ2ˆÜ—8‘8š_Ú,ð.ó /ˆä! &¨(Õ3r3   c                 óö  — | j                   j                  |«      }dD ]d  }|j                  «       } |d| j                  ||¬«      }|j                  j
                  rJ ‚t        j                  ||«      rJ ‚t        ||«       Œf t        j                  |j                  «       «      } |d| j                  |d¬«      }|j                  j
                  sJ ‚t        j                  ||«      sJ ‚t        ||«       y )N)TFr¿   )Úoverwrite_bT)rß   r  rk   rY   ÚflagsÚf_contiguousr&   Úmay_share_memoryr   Úasfortranarrayr   )ra   r9   r   rß   ÚoverwrÚbcopyr§  s          r1   Útest_b_overwriteszTestTRMM.test_b_overwrites³  sÑ   € ð �F‰F�M‰M˜%Ó ˆÛ#ˆFØ—F‘F“HˆEÙ�r˜4Ÿ6™6 5°fÔ=ˆFà—{‘{×/Ò/Ð/Ð/Ü×*Ñ*¨5°&Ô9Ð9Ð9Ü˜ Õ"ð $ô ×!Ñ! !§&¡&£(Ó+ˆÙ�2�t—v‘v˜u°$Ô7ˆØ�{‰{×'Ò'Ð'Ð'Ü×"Ñ" 5¨&Ô1Ð1Ð1Ü! %¨Õ0r3   N)rd   re   rf   r—  rZ  rA   rB   rG   rJ  r£  rM   r£   r©  r«  r´  rg   r3   r1   r™  r™  ‰  s†   „ Ù+ò&ð ‡[�[×Ñ˜W fÓ-ñ6ó .ð6ñ �e˜V VÓ,ñ4ó -ð4ñ �e˜V VÓ,ñ4ó -ð4ñ �e˜V VÓ,ñ1ó -ñ1r3   r™  r   c                 óN  — t         j                  j                  d«      }t        j                  | «      j                  dz  }t        d| ¬«      \  }|j                  d«      j                  | «      }|j                  d«      j                  | «      } | d«      }t        t        ||||«       t        t        |||j                  |«       d}d	} | d
«      }| t        v r7|j                  ||f«      |j                  ||f«      dz  z   t        |«      z   }n|j                  ||f«      t        |«      z   }|j                  | «      }t        |«      }	t        |«      }
|j                  ||f«      j                  | «      }|j                  ||f«      j                  | «      } ||||¬«      }t        |j                  |j                  «       t!        |	||z  «      }t#        |||¬«        ||||d¬«      }t!        |	j                  ||z  «      }t#        |||¬«        ||||d¬«      }t!        |	j%                  «       j                  ||z  «      }t#        |||¬«        ||||d¬«      } | d«      |	t'        |«      t'        |«      f<   t!        |	||z  «      }t#        |||¬«        ||||dd¬«      }t!        |	j%                  «       j                  ||j%                  «       j                  z  «      }t#        ||j%                  «       j                  |¬«        ||||ddd¬«      } | d«      |
t'        |«      t'        |«      f<   t!        |
j%                  «       j                  ||j%                  «       j                  z  «      }t#        ||j%                  «       j                  |¬«       y )Nrù   iè  )Útrsmr$   )rm   rW   rÉ   rT   rn   rZ   g      Àr®   )rþ   rY   rß   )r¢  )rþ   rY   rß   Útrans_ar   )rþ   rY   rß   r   )rþ   rY   rß   r   r_  )rþ   rY   rß   r   r_  rÃ   )r&   r  r  rÕ   rÖ   r   r  rØ   rÙ   r×   r_   r   r	   r
   r   ru  r   r   rã   r   )r   r  Útolr  r  ÚBrþ   rÇ   rû   ÚAuÚAlÚB1ÚB2r™   Úx2s                  r1   Ú	test_trsmr¿  Ç  sþ  € ä
�)‰)×
Ñ
 Ó
%€CÜ
�(‰(�5‹/×
Ñ
˜dÑ
"€CÜ˜9¨EÔ2�E€Dð 	�
‰
�6Ó×!Ñ! %Ó(€AØ�
‰
�6Ó×!Ñ! %Ó(€AÙ�!‹H€EÜ”)˜T 5¨!¨QÔ/Ü”)˜T 5¨!¯#©#¨qÔ1à	€AØ	€AÙ�$‹K€EØ”ÑØ�Z‰Z˜˜A˜Ó #§*¡*¨a°¨VÓ"4°RÑ"7Ñ7¼3¸q»6ÑA‰à�J‰J˜˜1�vÓ¤ Q£Ñ'ˆØ	�‰�‹€AÜ	ˆa‹€BÜ	ˆa‹€BØ	�‰�Q˜�FÓ	×	"Ñ	" 5Ó	)€BØ	�‰�Q˜�FÓ	×	"Ñ	" 5Ó	)€Bá	�E˜Q "Ô	%€BÜ�—‘˜2Ÿ8™8Ô$Ü	ˆr�5˜‘8Ó	€BÜ�B˜ Õ%á	�E˜Q "¨aÔ	0€BÜ	ˆr�t‰t�U˜2‘XÓ	€BÜ�B˜ Õ%á	�E˜Q "¨aÔ	0€BÜ	ˆr�w‰w‹y�{‰{˜E "™HÓ	%€BÜ�B˜ Õ%á	�E˜Q "¨1Ô	-€BÙ$ Q›x€B„vˆaƒy”&˜“)ÐÑÜ	ˆr�5˜‘8Ó	€BÜ�B˜ Õ%á	�E˜Q "¨1°1Ô	5€BÜ	ˆr�w‰w‹y�{‰{˜E "§'¡'£)§+¡+Ñ-Ó	.€BÜ�B˜Ÿ™›	Ÿ™¨#Õ.á	�E˜Q "¨1°1¸AÔ	>€BÙ$ Q›x€B„vˆaƒy”&˜“)ÐÑÜ	ˆr�w‰w‹y�{‰{˜E "§'¡'£)§+¡+Ñ-Ó	.€BÜ�B˜Ÿ™›	Ÿ™¨#Ö.r3   Fzgh-16930)Úrunr>   c                  óÊ   — t        j                  dd«      } t        j                  j                  j                  | ddd«      }t        j                  d«      }t        ||«       y )Nr’   r[   rW   rU   rV   iô  )	r&   ÚrepeatÚscipyÚlinalgÚblasÚdnrm2rŠ   r‹   r   )r—   Úactualr¨  s      r1   Útest_gh_169309rÈ  ý  sK   € ô 	�	‰	�"�aÓ€AÜ�\‰\×Ñ×$Ñ$ Q¨¨1¨bÓ1€FÜ�y‰y˜‹~€HÜ�F˜HÕ%r3   c                  óè   — t        j                  dd«      } d}t        t        j                  «      5  t
        j                  j                  j                  | dd|«       d d d «       y # 1 sw Y   y xY w)Nr’   r[   rV   rW   rU   )	r&   rÂ  rØ   r£   Ú__fblas_errorrÃ  rÄ  rÅ  rÆ  )r—   rÅ   s     r1   Útest_dnrm2_neg_incxrË    sQ   € ô 	�	‰	�"�aÓ€AØ€DÜ	”u×*Ñ*Õ	+Ü�‰×Ñ×Ñ  1 a¨Ô.÷ 
,×	+Ñ	+ús   ²-A(Á(A1)8rŠ   rA   Únumpyr&   Únumpy.testingr   r   r   r   r   rØ   r   r	   r
   r   r   r   r   r   r   r   rÃ  Úscipy.linalgr   r£   r   r   r   r   r    ÚImportErrorrD   r-   rK  r(   r)   r_   rJ  r2   r<   rM   rO   ri   r¥   rN  rR  ri  r|  r…  r™  rB   rG   r¿  ÚxfailrÈ  rË  rg   r3   r1   Ú<module>rÑ     sY  ðó
 Û Û ÷Gó Gå *÷/÷ /÷ /ó ß IÓ IðÝ,ð �z‰z˜2Ÿ:™:Ð&€Ø—,‘, §¡Ð.€Ø	�~Ñ	%€ò$#òNò6÷*6ñ 6÷?.ñ ?.÷Hn*ñ n*÷bOñ O÷),ñ ),÷X 5ñ  5÷H!Añ !A÷J%Dñ %D÷P;1ñ ;1ð| ‡�×Ñ˜ &Ó)ñ2/ó *ð2/ðj ‡�×Ñ�uØ$ð ó &ñ&ó&ð&ó/øðe ò Ø‚Eðús   ÁD/ Ä/D9Ä8D9