L iHPddlmZmZmZmZmZmZmZmZm Z m Z m Z m Z ddl mZddlmZmZmZmZddlZdZdZGddZ Gd d eZGd d eZ GddeZGddeZGddZ GddeZGddeZ GddeZ!GddeZ"Gdd Z# Gd!d"e#Z$Gd$d%e#Z% Gd&d'e#Z&Gd)d*e#Z'Gd+d,Z( Gd-d.e(Z)Gd0d1e(Z* Gd2d3e(Z+Gd5d6e(Z,Gd7d8Z- Gd9d:e-Z.Gd<d=e-Z/ Gd>d?e-Z0GdAdBe-Z1 y#e$rGd d ZYwxYw#e$rGddZYwxYw#e$rGddZY wxYw#e$rGddZ!Y wxYw#e$r Gd#d"Z$YwxYw#e$r Gd(d'Z&YwxYw#e$r Gd/d.Z)YwxYw#e$r Gd4d3Z+YwxYw#e$r Gd;d:Z.YwxYw#e$r Gd@d?Z0YwxYw)C) float32float64 complex64 complex128arangearrayzerosshape transposenewaxis common_type conjugate)_fblas)assert_array_equalassert_allcloseassert_array_almost_equalassert_Nc4t|jdk(rd}|ddtf}nd}t|jd|jdk(t |jd|jdft ||}t |jdD]W}t |jdD]:}d}t |jdD]}||||f|||fzz }||||f<<Y|r|j|jdf}|S)NTFr)lenr r rr r rangereshape)ab b_is_vectorcijsks c/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_fblas.pymatrixmultiplyr#s 177|q ajM  AGGAJ!''!* $% qwwqz1771:& Aq(9:A 1771: qwwqz" AA1771:& 'Qq!tWqAw&& 'AadG    IIqwwqzm $ Hc:eZdZdZdZdZdZdZdZdZ dZ y ) BaseAxpyz Mixin class for axpy tests ctd|j}td|j}|dz|z}|j||}t||y)N@dtype?rr* blas_funcrselfxyreal_ys r"test_default_azBaseAxpy.test_default_a3sI 2TZZ ( 2QWW %2a NN1a 61%r$ctd|j}td|j}|dz|z}|j||d}t||y)Nr(r))rr,r.s r" test_simplezBaseAxpy.test_simple:sM 2TZZ ( 2QWW %2a NN1a2N &61%r$ctd|j}td|j}td|j}|ddddz|z}|j||ddd}t ||y)N@r)r()rnincxrr*r r-rr.s r" test_x_stridezBaseAxpy.test_x_strideAsi 2TZZ ( !QWW  2QWW %3Q31 NN1a2N 361%r$ctd|j}td|j}|dz|dddz}|j||ddd}t ||dddy)Nr(r)r9r8)rr:incyr<r.s r" test_y_stridezBaseAxpy.test_y_strideIsa 2TZZ ( !QWW 2a!f NN1a2N 361SqS6*r$ctd|j}td|j}|ddddz|dddz}|j||dddd}t ||dddy) N(@r)r?r(r9r8)rr:r;r@r<r.s r"test_x_and_y_stridezBaseAxpy.test_x_and_y_stridePsl 3djj ) !QWW 3Q31SqS6! NN1a2N ;61SqS6*r$ctd|j}td|j}tjt d5|j ||dddddy#1swYyxYw NrCr)r?failed for 1st keywordmatchrDrr:r;rr*r pytestraises Exceptionr-r/r0r1s r"test_x_bad_sizezBaseAxpy.test_x_bad_sizeWZ 3djj ) !QWW  ]]9,D E . NN1a11N - . . . A((A1ctd|j}td|j}tjt d5|j ||dddddy#1swYyxYw NrCr)r?rHrIr8rr:r@rLrPs r"test_y_bad_sizezBaseAxpy.test_y_bad_size]rRrSN) __name__ __module__ __qualname____doc__r3r5r=rArErQrWr$r"r&r&0s(&&&&++. .r$r&c(eZdZejZeZy TestSaxpyN)rXrYrZfblassaxpyr-rr*r\r$r"r_r_eKK r$r_c eZdZyr^rXrYrZr\r$r"r_r_i r$c(eZdZejZeZy) TestDaxpyN)rXrYrZr`daxpyr-rr*r\r$r"rgrgm I Er$rgc(eZdZejZeZy TestCaxpyN)rXrYrZr`caxpyr-rr*r\r$r"rlrlsKK r$rlc eZdZyrkrdr\r$r"rlrlwrer$c(eZdZejZeZy) TestZaxpyN)rXrYrZr`zaxpyr-rr*r\r$r"rqrq{ I Er$rqc"eZdZdZdZdZdZy)BaseScalz Mixin class for scal testing cxtd|j}|dz}|jd|}t||yNr(r)r,r/r0real_xs r"r5zBaseScal.test_simples5 2TZZ (2 NN2q !61%r$ctd|j}|j}|dddtd|jz|ddd<|j d|dd}t ||y)Nr7r)r9r(r8rK)rr*copyrr-rrxs r"r=zBaseScal.test_x_stridesb 2TZZ (!fU2tzz22ss NN2qAAN .61%r$ctd|j}tjtd5|j d|dddddy#1swYyxYw) NrCr)rHrIg@rDrrK)rr*rMrNrOr-)r/r0s r"rQzBaseScal.test_x_bad_sizesJ 3djj ) ]]9,D E / NN2qAAN . / / /s AAN)rXrYrZr[r5r=rQr\r$r"rurus(& &/r$ruc(eZdZejZeZy TestSscalN)rXrYrZr`sscalr-rr*r\r$r"rrrbr$rc eZdZyr~rdr\r$r"rrrer$c(eZdZejZeZy) TestDscalN)rXrYrZr`dscalr-rr*r\r$r"rrrir$rc(eZdZejZeZy TestCscalN)rXrYrZr`cscalr-rr*r\r$r"rrrnr$rc eZdZyrrdr\r$r"rrrer$c(eZdZejZeZy) TestZscalN)rXrYrZr`zscalr-rr*r\r$r"rrrsr$rc4eZdZdZdZdZdZdZdZdZ y) BaseCopyz Mixin class for copy testing ctd|j}tt||j}|j ||}t ||yrw)rr*r r r-rrPs r"r5zBaseCopy.test_simples@ 2TZZ ( %(AGG $ NN1a 1a r$ctd|j}td|j}|j||dd}t |ddd|yNr7r)r8r9rKr<rPs r"r=zBaseCopy.test_x_stridesJ 2TZZ ( !QWW  NN1a11N -1SqS61%r$ctd|j}td|j}|j||dd}t ||dddy)Nr(r)r?r8r9rVr<rPs r"rAzBaseCopy.test_y_stridesJ 2TZZ ( !QWW  NN1a11N -1a!f%r$ctd|j}td|j}|j||ddd}t |ddd|dddy)NrCr)r?r8rDr9r:r;r@r<rPs r"rEzBaseCopy.test_x_and_y_stridesT 3djj ) !QWW  NN1a111N 51SqS61SqS6*r$ctd|j}td|j}tjt d5|j ||dddddy#1swYyxYwrGrLrPs r"rQzBaseCopy.test_x_bad_sizerRrSctd|j}td|j}tjt d5|j ||dddddy#1swYyxYwrUrLrPs r"rWzBaseCopy.test_y_bad_sizerRrSN rXrYrZr[r5r=rArErQrWr\r$r"rrs#(! & & + . .r$rc(eZdZejZeZy TestScopyN)rXrYrZr`scopyr-rr*r\r$r"rrrbr$rc eZdZyrrdr\r$r"rrrer$c(eZdZejZeZy) TestDcopyN)rXrYrZr`dcopyr-rr*r\r$r"rrrir$rc(eZdZejZeZy TestCcopyN)rXrYrZr`ccopyr-rr*r\r$r"rrrnr$rc eZdZyrrdr\r$r"rrrer$c(eZdZejZeZy) TestZcopyN)rXrYrZr`zcopyr-rr*r\r$r"rrrsr$rc4eZdZdZdZdZdZdZdZdZ y) BaseSwapz Mixin class for swap tests c td|j}tt||j}|j }|j }|j ||\}}t ||t ||yrw)rr*r r r{r-rr/r0r1 desired_x desired_ys r"r5zBaseSwap.test_simple sd 2TZZ ( %(AGG $FFH FFH ~~a#19a(9a(r$ctd|j}td|j}|j}|jddd}|j ||dd\}}t ||dddt ||yrrr*r r{r-rrs r"r=zBaseSwap.test_x_stridesv 2TZZ ( !QWW FFH FFHSqSM ~~aaa~019a!f-9a(r$ctd|j}td|j}|jddd}|j}|j ||dd\}}t ||t ||dddy)Nr(r)r?r9r8rVrrs r"rAzBaseSwap.test_y_stridesv 2TZZ ( !QWW FFHSqSM FFH ~~aaa~019a(9a!f-r$c0td|j}td|j}|jddd}|jddd}|j ||ddd\}}t ||dddt ||dddy)NrCr)r?r9rDr8rrrs r"rEzBaseSwap.test_x_and_y_stride$s 3djj ) !QWW FFHSqSM FFHSqSM ~~aaaa~819a!f-9a!f-r$ctd|j}td|j}tjt d5|j ||dddddy#1swYyxYwrGrLrPs r"rQzBaseSwap.test_x_bad_size-rRrSctd|j}td|j}tjt d5|j ||dddddy#1swYyxYwrUrLrPs r"rWzBaseSwap.test_y_bad_size3rRrSNrr\r$r"rrs#&))... .r$rc(eZdZejZeZy TestSswapN)rXrYrZr`sswapr-rr*r\r$r"rr;rbr$rc eZdZyrrdr\r$r"rr?rer$c(eZdZejZeZy) TestDswapN)rXrYrZr`dswapr-rr*r\r$r"rrCrir$rc(eZdZejZeZy TestCswapN)rXrYrZr`cswapr-rr*r\r$r"rrIrnr$rc eZdZyrrdr\r$r"rrMrer$c(eZdZejZeZy) TestZswapN)rXrYrZr`zswapr-rr*r\r$r"rrQrsr$rcTeZdZdZddZdZdZdZdZdZ dZ d Z d Z d Z d Zy )BaseGemvz Mixin class for gemv tests ctd|j}|jttfvrtd|j}ddlm}m}|dtd|j|z}td|j|z}|ddd j|j|z}tt|d|z|j|z} tt|d|z|j|z} |||| | fS) Nrr)y??r)normalseedir+g)r8r8) rr*rr numpy.randomrrastyperr ) r/x_stridey_stridemultrralphabetarr0r1s r"get_datazBaseGemv.get_data]sQdjj) ::)Z0 0TZZ0D- T b +d2Rtzz*T1 2r6 " ) )$** 5 < 58A;x'tzz :T A 58A;x'tzz :T AdAq!##r$c|j\}}}}}|t||z||zz}|j|||||}t||yNrr#r-rr/rrrr0r1rs r"r5zBaseGemv.test_simplejsR#}}tQ1.A..tAv5 NN5!Qa 0!)Q/r$c|j\}}}}}t||}|jd||}t||y)Nrrrs r"test_default_beta_yzBaseGemv.test_default_beta_yps@#}}tQ1"1a( NN1a #!)Q/r$c|j\}}}}}|tt||z||zz}|j|||||d}t ||y)Nrtransrr#r r-rrs r"test_simple_transposezBaseGemv.test_simple_transposevsZ#}}tQ1.1q99$q&@ NN5!QaqN 9!)Q/r$c|j\}}}}}|ttt||z||zz}|j |||||d}t ||y)Nr9r)rr#r rr-rrs r"test_simple_transpose_conjz#BaseGemv.test_simple_transpose_conj|s_#}}tQ1.9Q<)@!DDT!VK NN5!QaqN 9!)Q/r$c|jd\}}}}}|t||dddz||zz}|j|||||d}t||y)Nr9r)r;rrs r"r=zBaseGemv.test_x_stridesc#}}a}8tQ1.AccF33DF: NN5!QaaN 8!)Q/r$c |jd\}}}}}|tt||dddz||zz}|j|||||dd}t ||y)Nr9rrrr;rrs r"test_x_stride_transposez BaseGemv.test_x_stride_transposesi#}}a}8tQ1.1q1v>>tAvE NN5!QaqqN A!)Q/r$c T|jd\}}}}}tjtd5|j d||d|dd}dddtjtd5|j d||d|dd}dddy#1swYFxYw#1swYyxYw) Nr9rzfailed for 3rd argumentrIrrr8rrrMrNrOr-r/rrrr0r1s r"test_x_stride_assertzBaseGemv.test_x_stride_asserts#}}a}8tQ1 ]]9,E F ?q!Q1AA>A ? ]]9,E F ?q!Q1AA>A ? ? ? ? ? ?B0BBB'c|jd\}}}}}|j}|t||z||dddzz|ddd<|j|||||d}t ||y)Nr9r)r@)rr{r#r-rrs r"rAzBaseGemv.test_y_stridesv#}}a}8tQ1FFH ~a33D3Q3K? #A# NN5!QaaN 8!)Q/r$c |jd\}}}}}|j}|tt||z||dddzz|ddd<|j |||||dd}t ||y)Nr9rrrr@)rr{r#r r-rrs r"test_y_stride_transposez BaseGemv.test_y_stride_transposes|#}}a}8tQ1FFH ~ilA>>tAccF{J #A# NN5!QaqqN A!)Q/r$c T|jd\}}}}}tjtd5|j d||d|dd}dddtjtd5|j d||d|dd}dddy#1swYFxYw#1swYyxYw) Nr9rzfailed for 2nd keywordrIrrr8rrrs r"test_y_stride_assertzBaseGemv.test_y_stride_asserts#}}a}8tQ1 ]]9,D E ?q!Q1AA>A ? ]]9,D E ?q!Q1AA>A ? ? ? ? ? ?rN)rr)rXrYrZr[rr5rrrr=rrrArrr\r$r"rrZs<& $0 0 0 0 0 0 ?00?r$rc.eZdZejZeZdZy) TestSgemvcddlm}ddl}ddl|jdk7ryd fd d fd }fd}|ddd d }|D]\}}}} j j ||} j j |} j| | } || |j| } || |j| }|| || y) Nr)productdarwinc\|} j|} j||jz|z j}|jdd}t |D]}||z|zdk(sn||||jzzj |}|j||S)Nr)datarorder)prodr nbytesuint8__array_interface__rviewr) r alignr*rdNtmpaddressoffsetnps r" aligned_arrayz2TestSgemv.test_sgemv_on_osx..aligned_arraysGGGENhhq188|e3288hD11&9!<#ElF&(E1Q6&!(( !2388u8E{{5{66r$cB|j|||}|dd|dd|Sr)r )arrrr*ralignedrs r" as_alignedz/TestSgemv.test_sgemv_on_osx..as_aligneds)' 5%G V r$cFtjd|||ddy)Nr+gh㈵>gHz>)rtolatol)rr-)AXdesiredr/s r"assert_dot_closez5TestSgemv.test_sgemv_on_osx..assert_dot_closes!sAq 97%)6r$) )i')Y)CFr)r) itertoolsrsysnumpyplatformrandomranddotr)r/rrrrtestdatarmr:a_orderA_dX_drA_fX_frrs` @@r"test_sgemv_on_osxzTestSgemv.test_sgemv_on_osxs )  ||x' 7   6x9jIH(0 4$q!WiinnQ*iinnQ'&&c* eRZZwG eRZZwG c73 4r$N) rXrYrZr`sgemvr-rr*r$r\r$r"rrsKK ( 4r$rc eZdZy)rNrdr\r$r"rrrer$c(eZdZejZeZy) TestDgemvN)rXrYrZr`dgemvr-rr*r\r$r"r(r(rir$r(c(eZdZejZeZy TestCgemvN)rXrYrZr`cgemvr-rr*r\r$r"r,r,rnr$r,c eZdZyr+rdr\r$r"r,r,rer$c(eZdZejZeZy) TestZgemvN)rXrYrZr`zgemvr-rr*r\r$r"r0r0rsr$r0)2rrrrrrrr r r r r r scipy.linalgrr` numpy.testingrrrrrMaccuracyr#r&r_AttributeErrorrgrlrqrurrrrrrrrrrrrrrrrr(r,r0r\r$r"r6sKKKK)88   ,1.1.h H  H//, H  H%.%.^ H  H1.1.h H  HP?P?f1 ,4H,4f  H .f8         N        @        J        `        s E E(; E> F3 F* F?+ G G)# G>: HE%$E%(E;:E;>FFF'&F'*F<;F<?GGG&%G&)G;:G;>HHH%$H%