+
    LV-jèH  ã                   óž  € ^ RI Ht ^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
HtHtHtHtHtHt ^ RIHt ^ RIHtHtHtHt ^ RIt^tR t ! R R4      t  ! R	 R
]4      t ! R R]4      t  ! R R]4      t  ! R R]4      t! ! R R4      t"  ! R R]"4      t# ! R R]"4      t$  ! R R]"4      t% ! R R]"4      t& ! R R 4      t'  ! R! R"]'4      t( ! R$ R%]'4      t)  ! R& R']'4      t* ! R) R*]'4      t+ ! R+ R,4      t,  ! R- R.],4      t- ! R0 R1],4      t.  ! R2 R3],4      t/ ! R5 R6],4      t0 ! R7 R84      t1  ! R9 R:]14      t2 ! R< R=]14      t3  ! R> R?]14      t4 ! RA RB]14      t5 R#   ] d     ! R R
4      t ELi ; i  ] d     ! R R4      t  ELi ; i  ] d     ! R R4      t# ELi ; i  ] d     ! R R4      t% ELi ; i  ] d     ! R# R"4      t( EL	i ; i  ] d     ! R( R'4      t* EL
i ; i  ] d     ! R/ R.4      t- ELi ; i  ] d     ! R4 R34      t/ ELi ; i  ] d     ! R; R:4      t2 Løi ; i  ] d     ! R@ R?4      t4 Løi ; i)Cé    )ÚproductN)Úfloat32Úfloat64Ú	complex64Ú
complex128ÚarangeÚarrayÚzerosÚshapeÚ	transposeÚnewaxisÚcommon_typeÚ	conjugate)Ú_fblas)Úassert_array_equalÚassert_allcloseÚassert_array_almost_equalÚassert_c                 ó¨  € \        VP                  4      ^8X  d   RpVR\        3,          pMRp\        V P                  ^,          VP                  ^ ,          8H  4       \	        V P                  ^ ,          VP                  ^,          3\        W4      4      p\        V P                  ^ ,          4       Fo  p\        VP                  ^,          4       FL  p^ p\        V P                  ^,          4       F"  pW`WG3,          WV3,          ,          ,          pK$  	  WcWE3&   KN  	  Kq  	  V'       d$   VP                  V P                  ^ ,          34      pV# )é   TºNNNF)Úlenr   r   r   r
   r   ÚrangeÚreshape)ÚaÚbÚb_is_vectorÚcÚiÚjÚsÚks   &&      Ún/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/linalg/tests/test_fblas.pyÚmatrixmultiplyr$      sú   € Ü
ˆ1�7‰7ƒ|�qÔØˆØˆa”ˆj�M‰àˆÜˆA�G‰G�A�J˜!Ÿ'™' !�*Ñ$Ô%Üˆq�w‰w�q�z˜1Ÿ7™7 1�:Ð&¬°AÓ(9Ó:€AÜ�1—7‘7˜1•:ÖˆÜ�q—w‘w˜q•zÖ"ˆAØˆAÜ˜1Ÿ7™7 1�:Ö&�Ø�q�t•W˜q A �wÕ&Õ&’ñ 'àˆaˆd‹Gó	 #ñ ÷ Ø�I‰I�q—w‘w˜q•z�mÓ$ˆØ€Hó    c                   óN   a € ] tR t^3t o RtR tR tR tR tR t	R t
R tR	tV tR
# )ÚBaseAxpyzMixin class for axpy tests c                óº   € \        R V P                  R7      p\        R VP                  R7      pVR,          V,           pV P                  W4      p\        W24       R# )ç      @©Údtypeç      ð?N©r   r+   Ú	blas_funcr   ©ÚselfÚxÚyÚreal_ys   &   r#   Útest_default_aÚBaseAxpy.test_default_a6   sE   € Ü�2˜TŸZ™ZÔ(ˆÜ�2˜QŸW™WÔ%ˆØ�2•�a•ˆØ�N‰N˜1Ó ˆÜ˜6Ö%r%   c                ó¾   € \        R V P                  R7      p\        R VP                  R7      pVR ,          V,           pV P                  WR R7      p\        W24       R# )r)   r*   )r   Nr-   r/   s   &   r#   Útest_simpleÚBaseAxpy.test_simple=   sI   € Ü�2˜TŸZ™ZÔ(ˆÜ�2˜QŸW™WÔ%ˆØ�2•�a•ˆØ�N‰N˜1 2ˆNÓ&ˆÜ˜6Ö%r%   c                óü   € \        R V P                  R7      p\        ^VP                  4      p\        RVP                  R7      pVR,          R,          V,           pV P                  WR^^R7      p\	        W24       R# )ç      @r*   r)   ºNNé   )r   ÚnÚincxN©r   r+   r
   r.   r   r/   s   &   r#   Útest_x_strideÚBaseAxpy.test_x_strideD   sa   € Ü�2˜TŸZ™ZÔ(ˆÜ�!�Q—W‘WÓˆÜ�2˜QŸW™WÔ%ˆØ�3•˜•˜1•ˆØ�N‰N˜1 2¨°ˆNÓ3ˆÜ˜6Ö%r%   c                óÜ   € \        R V P                  R7      p\        ^VP                  4      pVR ,          VR,          ,           pV P                  WR ^^R7      p\	        W2R,          4       R# )r)   r*   r;   )r   r=   ÚincyNr?   r/   s   &   r#   Útest_y_strideÚBaseAxpy.test_y_strideL   sU   € Ü�2˜TŸZ™ZÔ(ˆÜ�!�Q—W‘WÓˆØ�2•�a˜•f•ˆØ�N‰N˜1 2¨°ˆNÓ3ˆÜ˜6 S¥6Ö*r%   c           	     óì   € \        R V P                  R7      p\        ^VP                  4      pVR,          R,          VR,          ,           pV P                  WR^^^R7      p\	        W2R,          4       R# )ç      (@r*   ºNNé   r)   r;   )r   r=   r>   rC   Nr?   r/   s   &   r#   Útest_x_and_y_strideÚBaseAxpy.test_x_and_y_strideS   s\   € Ü�3˜dŸj™jÔ)ˆÜ�!�Q—W‘WÓˆØ�3•˜•˜1˜S�6Õ!ˆØ�N‰N˜1 2¨°¸ˆNÓ;ˆÜ˜6 S¥6Ö*r%   c           	     ó
  € \        R V P                  R7      p\        ^VP                  4      p\        P                  ! \
        RR7      ;_uu_ 4        V P                  W^^R7       RRR4       R#   + '       g   i     R# ; i©rG   r*   úfailed for 1st keyword©Úmatch©r=   r>   N©r   r+   r
   ÚpytestÚraisesÚ	Exceptionr.   ©r0   r1   r2   s   &  r#   Útest_x_bad_sizeÚBaseAxpy.test_x_bad_sizeZ   óV   € Ü�3˜dŸj™jÔ)ˆÜ�!�Q—W‘WÓˆÜ�]Š]œ9Ð,D×EÖEØ�N‰N˜1 1¨1ˆNÔ-÷ F×E×EÒEúó   ÁA1Á1B	c           	     ó
  € \        R V P                  R7      p\        ^VP                  4      p\        P                  ! \
        RR7      ;_uu_ 4        V P                  W^^R7       RRR4       R#   + '       g   i     R# ; i©rG   r*   rN   rO   ©r=   rC   NrR   rV   s   &  r#   Útest_y_bad_sizeÚBaseAxpy.test_y_bad_size`   rY   rZ   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r4   r7   r@   rD   rJ   rW   r^   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r#   r'   r'   3   s0   ø‡ € Ù&ò&ò&ò&ò+ò+ò.÷.ð .r%   r'   c                   ó2   € ] tR t^ht]P
                  t]tRt	R# ©Ú	TestSaxpyr`   N)
ra   rb   rc   rd   ÚfblasÚsaxpyr.   r   r+   rf   r`   r%   r#   rl   rl   h   ó   † Ø—K‘Kˆ	ØŒr%   rl   c                   ó   € ] tR t^ltRtR# rk   ©ra   rb   rc   rd   rf   r`   r%   r#   rl   rl   l   ó   † Ûr%   c                   ó2   € ] tR t^pt]P
                  t]tRt	R# )Ú	TestDaxpyr`   N)
ra   rb   rc   rd   rm   Údaxpyr.   r   r+   rf   r`   r%   r#   rt   rt   p   ó   † Ø—‘€IØ„Er%   rt   c                   ó2   € ] tR t^vt]P
                  t]tRt	R# ©Ú	TestCaxpyr`   N)
ra   rb   rc   rd   rm   Úcaxpyr.   r   r+   rf   r`   r%   r#   ry   ry   v   ó   † Ø—K‘Kˆ	ØŒr%   ry   c                   ó   € ] tR t^ztRtR# rx   rq   r`   r%   r#   ry   ry   z   rr   r%   c                   ó2   € ] tR t^~t]P
                  t]tRt	R# )Ú	TestZaxpyr`   N)
ra   rb   rc   rd   rm   Úzaxpyr.   r   r+   rf   r`   r%   r#   r~   r~   ~   ó   † Ø—‘€IØ„Er%   r~   c                   ó6   a € ] tR t^†t o RtR tR tR tRtV t	R# )ÚBaseScalzMixin class for scal testing c                ó€   € \        R V P                  R7      pVR ,          pV P                  R V4      p\        W!4       R# ©r)   r*   Nr-   ©r0   r1   Úreal_xs   &  r#   r7   ÚBaseScal.test_simple‰   s3   € Ü�2˜TŸZ™ZÔ(ˆØ�2•ˆØ�N‰N˜2˜qÓ!ˆÜ˜6Ö%r%   c                óâ   € \        R V P                  R7      pVP                  4       pVR,          \        RV P                  4      ,          VR&   V P	                  RV^^R7      p\        W!4       R# )r:   r*   r;   r)   rQ   N)r   r+   Úcopyr	   r.   r   r…   s   &  r#   r@   ÚBaseScal.test_x_stride�   sX   € Ü�2˜TŸZ™ZÔ(ˆØ—‘“ˆØ˜•fœU 2 t§z¡zÓ2Õ2ˆˆs‰Ø�N‰N˜2˜q A¨AˆNÓ.ˆÜ˜6Ö%r%   c           	     óà   € \        R V P                  R7      p\        P                  ! \        RR7      ;_uu_ 4        V P                  RV^^R7       RRR4       R#   + '       g   i     R# ; i)rG   r*   rN   rO   g       @rQ   N)r   r+   rS   rT   rU   r.   )r0   r1   s   & r#   rW   ÚBaseScal.test_x_bad_size–   sH   € Ü�3˜dŸj™jÔ)ˆÜ�]Š]œ9Ð,D×EÖEØ�N‰N˜2˜q A¨AˆNÔ.÷ F×E×EÒEús   ¼AÁA-	r`   N)
ra   rb   rc   rd   re   r7   r@   rW   rf   rg   rh   s   @r#   r‚   r‚   †   s   ø‡ € Ù(ò&ò&÷/ð /r%   r‚   c                   ó2   € ] tR t^�t]P
                  t]tRt	R# ©Ú	TestSscalr`   N)
ra   rb   rc   rd   rm   Ússcalr.   r   r+   rf   r`   r%   r#   r�   r�   �   ro   r%   r�   c                   ó   € ] tR t^¡tRtR# rŽ   rq   r`   r%   r#   r�   r�   ¡   rr   r%   c                   ó2   € ] tR t^¥t]P
                  t]tRt	R# )Ú	TestDscalr`   N)
ra   rb   rc   rd   rm   Údscalr.   r   r+   rf   r`   r%   r#   r“   r“   ¥   rv   r%   r“   c                   ó2   € ] tR t^«t]P
                  t]tRt	R# ©Ú	TestCscalr`   N)
ra   rb   rc   rd   rm   Úcscalr.   r   r+   rf   r`   r%   r#   r—   r—   «   r{   r%   r—   c                   ó   € ] tR t^¯tRtR# r–   rq   r`   r%   r#   r—   r—   ¯   rr   r%   c                   ó2   € ] tR t^³t]P
                  t]tRt	R# )Ú	TestZscalr`   N)
ra   rb   rc   rd   rm   Úzscalr.   r   r+   rf   r`   r%   r#   r›   r›   ³   r€   r%   r›   c                   óH   a € ] tR t^»t o RtR tR tR tR tR t	R t
RtV tR	# )
ÚBaseCopyzMixin class for copy testing c                óª   € \        R V P                  R7      p\        \        V4      VP                  4      pV P	                  W4      p\        W4       R# r„   )r   r+   r
   r   r.   r   rV   s   &  r#   r7   ÚBaseCopy.test_simple¾   s<   € Ü�2˜TŸZ™ZÔ(ˆÜ”%˜“(˜AŸG™GÓ$ˆØ�N‰N˜1Ó ˆÜ˜1Ö r%   c                ó®   € \        R V P                  R7      p\        ^VP                  4      pV P                  W^^R7      p\	        VR,          V4       R# )r:   r*   rQ   r;   Nr?   rV   s   &  r#   r@   ÚBaseCopy.test_x_strideÄ   sD   € Ü�2˜TŸZ™ZÔ(ˆÜ�!�Q—W‘WÓˆØ�N‰N˜1 1¨1ˆNÓ-ˆÜ˜1˜S�6 1Ö%r%   c                ó¬   € \        R V P                  R7      p\        ^VP                  4      pV P                  W^^R7      p\	        WR,          4       R# )r)   r*   r]   r;   Nr?   rV   s   &  r#   rD   ÚBaseCopy.test_y_strideÊ   sB   € Ü�2˜TŸZ™ZÔ(ˆÜ�!�Q—W‘WÓˆØ�N‰N˜1 1¨1ˆNÓ-ˆÜ˜1 �fÖ%r%   c                ó¾   € \        R V P                  R7      p\        ^VP                  4      pV P                  W^^^R7      p\	        VR,          VR,          4       R# )rG   r*   ©r=   r>   rC   rH   r;   Nr?   rV   s   &  r#   rJ   ÚBaseCopy.test_x_and_y_strideÐ   sJ   € Ü�3˜dŸj™jÔ)ˆÜ�!�Q—W‘WÓˆØ�N‰N˜1 1¨1°1ˆNÓ5ˆÜ˜1˜S�6 1 S¥6Ö*r%   c           	     ó
  € \        R V P                  R7      p\        ^VP                  4      p\        P                  ! \
        RR7      ;_uu_ 4        V P                  W^^R7       RRR4       R#   + '       g   i     R# ; irM   rR   rV   s   &  r#   rW   ÚBaseCopy.test_x_bad_sizeÖ   rY   rZ   c           	     ó
  € \        R V P                  R7      p\        ^VP                  4      p\        P                  ! \
        RR7      ;_uu_ 4        V P                  W^^R7       RRR4       R#   + '       g   i     R# ; ir\   rR   rV   s   &  r#   r^   ÚBaseCopy.test_y_bad_sizeÜ   rY   rZ   r`   N©ra   rb   rc   rd   re   r7   r@   rD   rJ   rW   r^   rf   rg   rh   s   @r#   rž   rž   »   s+   ø‡ € Ù(ò!ò&ò&ò+ò.÷.ð .r%   rž   c                   ó2   € ] tR t^ët]P
                  t]tRt	R# ©Ú	TestScopyr`   N)
ra   rb   rc   rd   rm   Úscopyr.   r   r+   rf   r`   r%   r#   r¯   r¯   ë   ro   r%   r¯   c                   ó   € ] tR t^ïtRtR# r®   rq   r`   r%   r#   r¯   r¯   ï   rr   r%   c                   ó2   € ] tR t^ót]P
                  t]tRt	R# )Ú	TestDcopyr`   N)
ra   rb   rc   rd   rm   Údcopyr.   r   r+   rf   r`   r%   r#   r³   r³   ó   rv   r%   r³   c                   ó2   € ] tR t^ùt]P
                  t]tRt	R# ©Ú	TestCcopyr`   N)
ra   rb   rc   rd   rm   Úccopyr.   r   r+   rf   r`   r%   r#   r·   r·   ù   r{   r%   r·   c                   ó   € ] tR t^ýtRtR# r¶   rq   r`   r%   r#   r·   r·   ý   rr   r%   c                   ó2   € ] tR tRt]P
                  t]tRt	R# )Ú	TestZcopyi  r`   N)
ra   rb   rc   rd   rm   Úzcopyr.   r   r+   rf   r`   r%   r#   r»   r»     r€   r%   r»   c                   óH   a € ] tR tRt o RtR tR tR tR tR t	R t
R	tV tR
# )ÚBaseSwapi	  zMixin class for swap tests c                ó  € \        R V P                  R7      p\        \        V4      VP                  4      pVP	                  4       pVP	                  4       pV P                  W4      w  r\        W14       \        WB4       R# r„   )r   r+   r
   r   r‰   r.   r   ©r0   r1   r2   Ú	desired_xÚ	desired_ys   &    r#   r7   ÚBaseSwap.test_simple  s\   € Ü�2˜TŸZ™ZÔ(ˆÜ”%˜“(˜AŸG™GÓ$ˆØ—F‘F“Hˆ	Ø—F‘F“Hˆ	Ø�~‰~˜aÓ#‰ˆÜ˜9Ô(Ü˜9Ö(r%   c                ó  € \        R V P                  R7      p\        ^VP                  4      pVP                  4       pVP                  4       R,          pV P	                  W^^R7      w  r\        W1R,          4       \        WB4       R# )r:   r*   r;   rQ   N©r   r+   r
   r‰   r.   r   rÀ   s   &    r#   r@   ÚBaseSwap.test_x_stride  sf   € Ü�2˜TŸZ™ZÔ(ˆÜ�!�Q—W‘WÓˆØ—F‘F“Hˆ	Ø—F‘F“H˜S•Mˆ	Ø�~‰~˜a a¨aˆ~Ó0‰ˆÜ˜9¨¥fÔ-Ü˜9Ö(r%   c                ó  € \        R V P                  R7      p\        ^VP                  4      pVP                  4       R,          pVP                  4       pV P	                  W^^R7      w  r\        W14       \        WBR,          4       R# )r)   r*   r;   r]   NrÅ   rÀ   s   &    r#   rD   ÚBaseSwap.test_y_stride  sf   € Ü�2˜TŸZ™ZÔ(ˆÜ�!�Q—W‘WÓˆØ—F‘F“H˜S•Mˆ	Ø—F‘F“Hˆ	Ø�~‰~˜a a¨aˆ~Ó0‰ˆÜ˜9Ô(Ü˜9¨¥fÖ-r%   c                ó2  € \        R V P                  R7      p\        ^VP                  4      pVP                  4       R,          pVP                  4       R,          pV P	                  W^^^R7      w  r\        W1R,          4       \        WBR,          4       R# )rG   r*   r;   rH   r¦   NrÅ   rÀ   s   &    r#   rJ   ÚBaseSwap.test_x_and_y_stride'  sp   € Ü�3˜dŸj™jÔ)ˆÜ�!�Q—W‘WÓˆØ—F‘F“H˜S•Mˆ	Ø—F‘F“H˜S•Mˆ	Ø�~‰~˜a a¨a°aˆ~Ó8‰ˆÜ˜9¨¥fÔ-Ü˜9¨¥fÖ-r%   c           	     ó
  € \        R V P                  R7      p\        ^VP                  4      p\        P                  ! \
        RR7      ;_uu_ 4        V P                  W^^R7       RRR4       R#   + '       g   i     R# ; irM   rR   rV   s   &  r#   rW   ÚBaseSwap.test_x_bad_size0  rY   rZ   c           	     ó
  € \        R V P                  R7      p\        ^VP                  4      p\        P                  ! \
        RR7      ;_uu_ 4        V P                  W^^R7       RRR4       R#   + '       g   i     R# ; ir\   rR   rV   s   &  r#   r^   ÚBaseSwap.test_y_bad_size6  rY   rZ   r`   Nr¬   rh   s   @r#   r¾   r¾   	  s+   ø‡ € Ù&ò)ò)ò.ò.ò.÷.ð .r%   r¾   c                   ó2   € ] tR tRt]P
                  t]tRt	R# )Ú	TestSswapi>  r`   N)
ra   rb   rc   rd   rm   Ússwapr.   r   r+   rf   r`   r%   r#   rÐ   rÐ   >  ro   r%   rÐ   c                   ó   € ] tR tRtRtR# )rÐ   iB  r`   Nrq   r`   r%   r#   rÐ   rÐ   B  rr   r%   c                   ó2   € ] tR tRt]P
                  t]tRt	R# )Ú	TestDswapiF  r`   N)
ra   rb   rc   rd   rm   Údswapr.   r   r+   rf   r`   r%   r#   rÔ   rÔ   F  rv   r%   rÔ   c                   ó2   € ] tR tRt]P
                  t]tRt	R# )Ú	TestCswapiL  r`   N)
ra   rb   rc   rd   rm   Úcswapr.   r   r+   rf   r`   r%   r#   r×   r×   L  r{   r%   r×   c                   ó   € ] tR tRtRtR# )r×   iP  r`   Nrq   r`   r%   r#   r×   r×   P  rr   r%   c                   ó2   € ] tR tRt]P
                  t]tRt	R# )Ú	TestZswapiT  r`   N)
ra   rb   rc   rd   rm   Úzswapr.   r   r+   rf   r`   r%   r#   rÛ   rÛ   T  r€   r%   rÛ   c                   ój   a € ] tR tRt o RtRR ltR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )ÚBaseGemvi]  zMixin class for gemv tests c                óŽ  € \         P                  P                  R 4      p\        ^V P                  R7      pV P                  \
        \        39   d   \        RV P                  R7      p\        RV P                  R7      V,          p\        RV P                  R7      V,          pVP                  RRR4      P                  V P                  4      V,          p\        \        V4      ^ ,          V,          V P                  R7      V,          p\        \        V4      ^,          V,          V P                  R7      V,          p	WVWxV	3# )éÒ  r*   r,   g        y      ð?      ð?)é   rá   )ÚnpÚrandomÚdefault_rngr	   r+   r   r   ÚnormalÚastyper   r   )
r0   Úx_strideÚy_strideÚrngÚmultÚalphaÚbetar   r1   r2   s
   &&&       r#   Úget_dataÚBaseGemv.get_data`  sè   € Ü�i‰i×#Ñ# DÓ)ˆÜ�Q˜dŸj™jÔ)ˆØ�:‰:œ)¤ZÐ0Ô0Ü˜ T§Z¡ZÔ0ˆDÜ�b §
¡
Ô+¨dÕ2ˆÜ�R˜tŸz™zÔ*¨TÕ1ˆØ�J‰J�r˜2˜vÓ&×-Ñ-¨d¯j©jÓ9¸DÕ@ˆÜ”5˜“8˜A•;˜xÕ'¨t¯z©zÔ:¸TÕAˆÜ”5˜“8˜A•;˜xÕ'¨t¯z©zÔ:¸TÕAˆØ˜A !Ð#Ð#r%   c                ó¨   € V P                  4       w  rr4pV\        W44      ,          W%,          ,           pV P                  WWBV4      p\        We4       R # )N©rí   r$   r.   r   ©r0   rë   rì   r   r1   r2   rÂ   s   &      r#   r7   ÚBaseGemv.test_simplel  sD   € Ø#Ÿ}™}›Ñˆ�Q˜1Øœ.¨Ó.Õ.¨t­vÕ5ˆ	Ø�N‰N˜5 Q¨aÓ0ˆÜ! )Ö/r%   c                ó~   € V P                  4       w  rr4p\        W44      pV P                  ^W44      p\        We4       R# )r   Nrð   rñ   s   &      r#   Útest_default_beta_yÚBaseGemv.test_default_beta_yr  s6   € Ø#Ÿ}™}›Ñˆ�Q˜1Ü" 1Ó(ˆ	Ø�N‰N˜1˜aÓ#ˆÜ! )Ö/r%   c           	     óÀ   € V P                  4       w  rr4pV\        \        V4      V4      ,          W%,          ,           pV P                  WWBV^R7      p\	        We4       R# )r   ©ÚtransN©rí   r$   r   r.   r   rñ   s   &      r#   Útest_simple_transposeÚBaseGemv.test_simple_transposex  sN   € Ø#Ÿ}™}›Ñˆ�Q˜1Øœ.¬°1«°qÓ9Õ9¸$½&Õ@ˆ	Ø�N‰N˜5 Q¨a°qˆNÓ9ˆÜ! )Ö/r%   c           	     óÒ   € V P                  4       w  rr4pV\        \        \        V4      4      V4      ,          W%,          ,           pV P	                  WWBV^R7      p\        We4       R# )r<   r÷   N)rí   r$   r   r   r.   r   rñ   s   &      r#   Útest_simple_transpose_conjÚ#BaseGemv.test_simple_transpose_conj~  sS   € Ø#Ÿ}™}›Ñˆ�Q˜1Øœ.¬´9¸Q³<Ó)@À!ÓDÕDÀTÅVÕKˆ	Ø�N‰N˜5 Q¨a°qˆNÓ9ˆÜ! )Ö/r%   c           	     ó¾   € V P                  ^R7      w  rr4pV\        W4R,          4      ,          W%,          ,           pV P                  WWBV^R7      p\        We4       R# )r<   ©rç   r;   )r>   Nrð   rñ   s   &      r#   r@   ÚBaseGemv.test_x_stride„  sQ   € Ø#Ÿ}™}°a˜}Ó8Ñˆ�Q˜1Øœ.¨¨c­FÓ3Õ3°DµFÕ:ˆ	Ø�N‰N˜5 Q¨a°aˆNÓ8ˆÜ! )Ö/r%   c           
     óÔ   € V P                  ^R7      w  rr4pV\        \        V4      VR,          4      ,          W%,          ,           pV P                  WWBV^^R7      p\	        We4       R# )r<   r   r;   ©rø   r>   Nrù   rñ   s   &      r#   Útest_x_stride_transposeÚ BaseGemv.test_x_stride_transposeŠ  sY   € Ø#Ÿ}™}°a˜}Ó8Ñˆ�Q˜1Øœ.¬°1«°q¸µvÓ>Õ>¸t½vÕEˆ	Ø�N‰N˜5 Q¨a°q¸qˆNÓAˆÜ! )Ö/r%   c                ó�  € V P                  ^R7      w  rr4p\        P                  ! \        RR7      ;_uu_ 4        V P	                  ^W4^V^ ^R7      pRRR4       \        P                  ! \        RR7      ;_uu_ 4        V P	                  ^W4^V^^R7      pRRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)r<   r   zfailed for 3rd argumentrO   r  N©rí   rS   rT   rU   r.   ©r0   rë   rì   r   r1   r2   s   &     r#   Útest_x_stride_assertÚBaseGemv.test_x_stride_assert�  s”   € à#Ÿ}™}°a˜}Ó8Ñˆ�Q˜1Ü�]Š]œ9Ð,E×FÖFØ—‘˜q !¨¨1°A¸A�Ó>ˆA÷ Gä�]Š]œ9Ð,E×FÖFØ—‘˜q !¨¨1°A¸A�Ó>ˆA÷ GÑF÷ G×FúçF×FÐFúó   »B!Á?B4Â!B1	Â4C	c           	     óä   € V P                  ^R7      w  rr4pVP                  4       pV\        W44      ,          W%R,          ,          ,           VR&   V P                  WWBV^R7      p\	        We4       R# )r<   ©rè   r;   )rC   N)rí   r‰   r$   r.   r   rñ   s   &      r#   rD   ÚBaseGemv.test_y_stride˜  s`   € Ø#Ÿ}™}°a˜}Ó8Ñˆ�Q˜1Ø—F‘F“Hˆ	Øœ~¨aÓ3Õ3°D¸3½µKÕ?ˆ	�#‰Ø�N‰N˜5 Q¨a°aˆNÓ8ˆÜ! )Ö/r%   c           
     óú   € V P                  ^R7      w  rr4pVP                  4       pV\        \        V4      V4      ,          W%R,          ,          ,           VR&   V P	                  WWBV^^R7      p\        We4       R# )r<   r  r;   ©rø   rC   N)rí   r‰   r$   r   r.   r   rñ   s   &      r#   Útest_y_stride_transposeÚ BaseGemv.test_y_stride_transposeŸ  sh   € Ø#Ÿ}™}°a˜}Ó8Ñˆ�Q˜1Ø—F‘F“Hˆ	Øœ~¬i¸«l¸AÓ>Õ>¸tÀcÅF½{ÕJˆ	�#‰Ø�N‰N˜5 Q¨a°q¸qˆNÓAˆÜ! )Ö/r%   c                ó�  € V P                  ^R7      w  rr4p\        P                  ! \        RR7      ;_uu_ 4        V P	                  ^W4^V^ ^R7      pRRR4       \        P                  ! \        RR7      ;_uu_ 4        V P	                  ^W4^V^^R7      pRRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)r<   r  zfailed for 2nd keywordrO   r  Nr  r  s   &     r#   Útest_y_stride_assertÚBaseGemv.test_y_stride_assert¦  s”   € à#Ÿ}™}°a˜}Ó8Ñˆ�Q˜1Ü�]Š]œ9Ð,D×EÖEØ—‘˜q !¨¨1°A¸A�Ó>ˆA÷ Fä�]Š]œ9Ð,D×EÖEØ—‘˜q !¨¨1°A¸A�Ó>ˆA÷ FÑE÷ F×EúçE×EÐEúr  r`   N)r   r   )ra   rb   rc   rd   re   rí   r7   rô   rú   rý   r@   r  r	  rD   r  r  rf   rg   rh   s   @r#   rÞ   rÞ   ]  sD   ø‡ € Ù&ô
$ò0ò0ò0ò0ò0ò0ò?ò0ò0÷?ð ?r%   rÞ   c                   óœ   a € ] tR tRt o ]P
                  t]t]	P                  P                  ]P                  R8g  RR7      R 4       tRtV tR# )Ú	TestSgemvi°  ÚdarwinzMacOS specific test)Úreasonc                óŠ  a a€ RR loRV3R llpV 3R lp\        RR	R
R4      p\        P                  P                  R4      pV Fz  w  rVrxVP                  Wg34      p	VP                  V4      p
\        P                  ! Wš4      pV! W•\        P
                  VR7      pV! W¥\        P
                  VR7      pV! WÍV4       K|  	  R# )ÚCc                 ó¶  € V! 4       p\         P                  ! V 4      p\         P                  ! WTP                  ,          V,           \         P                  R 7      pVP
                  R,          ^ ,          p\        V4       F  pWx,           V,          ^ 8X  g   K   M	  VXW…VP                  ,          ,            P                  VR 7      pVP                  WR7      # )r*   Údata©Úorder)	râ   Úprodr
   ÚnbytesÚuint8Ú__array_interface__r   Úviewr   )	r   Úalignr+   r  ÚdÚNÚtmpÚaddressÚoffsets	   &&&&     r#   Úaligned_arrayÚ2TestSgemv.test_sgemv_on_osx.<locals>.aligned_array¶  s£   € á“G�ä—G’G˜E“N�Ü—h’h˜q§8¡8�|¨eÕ3¼2¿8¹8ÔD�Ø×1Ñ1°&Õ9¸!Õ<�ä# Ežl�FØÕ(¨EÕ1°QÖ6Ùñ +ð ˜& ¨!¯(©(­
Õ!2Ð3×8Ñ8¸uÐ8ÓE�Ø—{‘{ 5�{Ó6Ð6r%   c                 óH   <€ S! V P                   WV4      pV R ,          VR &   V# )r   )r   )Úarrr%  r+   r  Úalignedr+  s   &&&& €r#   Ú
as_alignedÚ/TestSgemv.test_sgemv_on_osx.<locals>.as_alignedÄ  s'   ø€ á'¨¯	©	°5ÀÓG�Ø  �V�˜‘
Ø�r%   c                 óF   <€ \        SP                  R W4      VRRR7       R# )r,   gñhãˆµøä>gH¯¼šò×z>)ÚrtolÚatolN)r   r.   )ÚAÚXÚdesiredr0   s   &&&€r#   Úassert_dot_closeÚ5TestSgemv.test_sgemv_on_osx.<locals>.assert_dot_closeÊ  s   ø€ Ü §¡¨s°AÓ 9¸7Ø%)°÷6r%   rà   r  N)r  )é   é    )i'  )éÈ   éY   )r  ÚF)r   râ   rã   rä   Údotr   )r0   r0  r8  Útestdataré   r%  Úmr=   Úa_orderÚA_dÚX_dr7  ÚA_fÚX_fr+  s   f             @r#   Útest_sgemv_on_osxÚTestSgemv.test_sgemv_on_osx´  s    ù€ ô7÷õ6ô ˜x¨°9¸jÓIˆHÜ—)‘)×'Ñ'¨Ó-ˆCÛ(0Ñ$�˜!Ø—j‘j ! Ó(�Ø—j‘j “m�ÜŸ&š& Ó*�á  ¬R¯Z©Z¸wÔG�Ù  ¬R¯Z©Z¸wÔG�Ù  ¨7Ö3ó )1r%   r`   N)ra   rb   rc   rd   rm   Úsgemvr.   r   r+   rS   ÚmarkÚskipifÚsysÚplatformrG  rf   rg   rh   s   @r#   r  r  °  sD   ø‡ € Ø—K‘Kˆ	Øˆà	�‰×	Ñ	˜CŸL™L¨HÑ4Ð=RÐ	Ó	Sñ"	4ó 
Tö"	4r%   r  c                   ó   € ] tR tRtRtR# )r  iÚ  r`   Nrq   r`   r%   r#   r  r  Ú  rr   r%   c                   ó2   € ] tR tRt]P
                  t]tRt	R# )Ú	TestDgemviÞ  r`   N)
ra   rb   rc   rd   rm   Údgemvr.   r   r+   rf   r`   r%   r#   rP  rP  Þ  rv   r%   rP  c                   ó2   € ] tR tRt]P
                  t]tRt	R# )Ú	TestCgemviä  r`   N)
ra   rb   rc   rd   rm   Úcgemvr.   r   r+   rf   r`   r%   r#   rS  rS  ä  r{   r%   rS  c                   ó   € ] tR tRtRtR# )rS  iè  r`   Nrq   r`   r%   r#   rS  rS  è  rr   r%   c                   ó2   € ] tR tRt]P
                  t]tRt	R# )Ú	TestZgemviì  r`   N)
ra   rb   rc   rd   rm   Úzgemvr.   r   r+   rf   r`   r%   r#   rW  rW  ì  r€   r%   rW  )6Ú	itertoolsr   rL  Únumpyrâ   r   r   r   r   r   r	   r
   r   r   r   r   r   Úscipy.linalgr   rm   Únumpy.testingr   r   r   r   rS   Úaccuracyr$   r'   rl   ÚAttributeErrorrt   ry   r~   r‚   r�   r“   r—   r›   rž   r¯   r³   r·   r»   r¾   rÐ   rÔ   r×   rÛ   rÞ   r  rP  rS  rW  r`   r%   r#   Ú<module>r_     s¸  ðõ Û 
ã ÷K÷ K÷ Kó Kõ )÷8ó 8ó ð €ò÷,1.ñ 1.ðhô�Hô ô�ô ð
ô�Hô ô�ô ÷/ñ /ð,ô�Hô ô�ô ð
ô�Hô ô�ô ÷%.ñ %.ð^ô�Hô ô�ô ð
ô�Hô ô�ô ÷1.ñ 1.ðhô�Hô ô�ô ð
ô�Hô ô�ô ÷O?ñ O?ðd,ô'4�Hô '4ô\�ô ð
ô�Hô ô�ô ð
-ñd7øðq ô ÷ô ðûð ô ÷ô ðûðN ô ÷ô ðûð ô ÷ô ðûð@ ô ÷ô ðûð ô ÷ô ðûðJ ô ÷ô ðûð ô ÷ô ðûðT ô ÷ó ðûð ô ÷ó ðús´   ÁE! Á(E9 Â	F Â F) ÃG ÃG Ã9G1 ÄH	 Ä1H! ÅH8 Å!E6Å5E6Å9FÆFÆF&Æ%F&Æ)F>Æ=F>ÇGÇGÇG.Ç-G.Ç1HÈHÈ	HÈHÈ!H5È4H5È8IÉI