L io< DdZddlZddlZddlmZmZddlmZddl m Z m Z m Z m Z mZmZmZddlmZmZej(j+Zej/eeeegZej2ej4ej6gZej:dZej:dZej@jCd e e e e gd Z"ej@jCd eee e e e gd Z#ej@jCd eGd d Z$y)z*Test of 1D aspects of sparse array classesN) assert_equalassert_allclose)ComplexWarning) bsr_array csc_array dia_array lil_array coo_array csr_array dok_array)supported_dtypesmatrixc2tjgddS)N)rrd)nparrayf/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/sparse/tests/test_common1d.pydat1drs 88L# &&rctDcic]}||j|}}tDcic]/}||jDcgc]\}}||||fc}}1c}}}Scc}wcc}}wcc}}}wN) math_dtypesastype spcreatorsitems)rdtype dat_dtypes spcreatordats rdatsp_math_dtypesr#s{:EF%e,,FJF$    :CSCSCUVZUCUC30VV GV sA'A2A,A2,A2r!cxtjtd5|gddddy#1swYyxYw)Nzarrays don't support 1D inputmatchrrrpytestraises ValueErrorr!s rtest_no_1d_support_in_initr.(s. z)H I ,   s 09ctjtd5|tjddddy#1swYyxYw)Nzarrays don't.*support 3Dr%)rr()r*r+r,ronesr-s rtest_no_nd_support_in_initr20s9 z)C D&"'')$%&&&s AA c~eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZej,j.edZej,j.edZej,j.edZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%d Z&y!)" TestCommon1Dz5test common functionality shared by 1D sparse formatsct|djtjdt|djdt|dj dy)Nrrr)rtoarrayrzerosnnz count_nonzeroselfr!s rtest_create_emptyzTestCommon1D.test_create_empty=sLYt_,,. <Yt_((!,Yt_224a8rcttjtd5|ddddy#1swYyxYw)Nzelements cannot be negativer%)r)r;s rtest_invalid_shapesz TestCommon1D.test_invalid_shapesBs. ]]:-J K  e    s .7c&t||yr)reprr<r!rs r test_reprzTestCommon1D.test_reprFs Yu rc&t||yr)strrCs rtest_strzTestCommon1D.test_strIs Ie rcxtjgdd}t| || jy)N) rrrrrrrrrrrrr7r<r!As rtest_negzTestCommon1D.test_negLs. HH=s CaR9Q<-0023rc:|gd}|jdk(sJy)Nr'r)ndimrNs rtest_1d_supported_initz#TestCommon1D.test_1d_supported_initPs l #vv{{rc|gd}|jdd}gdg}t|j|||}|jd}t|j|d|jd}|j|jk(sJ|jjd}t|j|dy)N rrrrrrr?rrrr rrX)reshaperr7shapeT)r<r!xydesiredy2s r$test_reshape_1d_tofrom_row_or_columnz1TestCommon1D.test_reshape_1d_tofrom_row_or_columnTs ; < IIa 89QYY['* g  IIbMQYY['!*- YYu ww"((""" CCKKOQYY['!*-rc*|gd}|jd}gdgdgdgdg}t|j||jd}||usJ|jd}t|j|jy) NrU)r0r)rrrVrrr)rr?r)rrrWrYrX)rZrr7)r<r!r]r^r_s r test_reshapezTestCommon1D.test_reshapefsu ; < IIf iY?QYY['* IIe Av v IIbMQYY[!))+.rcrtjjdtjgd}tjj d}tjg}tj d}||||g}|D]}||}tj d5tj|jsJt|j|jt|jd|jdt|jd|jdt|jd |jd dddjdtj d  y#1swY.xYw) Ni) rrr(rrLrWrV rW)(ignore)overaxisrrIrrlout) rrandomseedrrandr8errstateisscalarsumr) r<r!dat_1dat_2dat_3dat_4arraysr"datsps rtest_sumzTestCommon1D.test_sumrsG t67 q! u- FCcNE(+ F{{599;/// 599;7T 2EII4I4HIQ1BCR 0%)))2DE  F F F  qbhhrl + F Fs )CF,,F6 c~tjd}tjgd}||}tjt d5|j ddddtjt d5|j ddddtjtd5|j d dddtjt d 5|j d | dddy#1swYxYw#1swYxYw#1swYYxYw#1swYyxYw) Nr6rrr(axis out of ranger%rrkrraxis must be an integer?z"output parameter.*wrong.*dimensionrrm)rr8rr*r+r,rt TypeErrorr<r!rnr"rzs rtest_sum_invalid_paramsz$TestCommon1D.test_sum_invalid_paramsshhtnhhy!# ]]:-@ A  II1I   ]]:-@ A # II6I " # ]]9,E F II3I  ]]:-Q R ' II1#I & ' '    # #   ' 's0DD<D'2D3DD$'D03D<ctjgd}||}tj|}tj|}t||yNr})rrrtr)r<r!r"rzdat_sum datsp_sums rtest_numpy_sumzTestCommon1D.test_numpy_sums=hhy!#&&+FF5M +rctjgd}||}t|j|jtj|jdsJt|jd|jdt|jd|jdt|jd|jdt j td5|jddddt j td5|jddddy#1swY@xYw#1swYyxYw) Nr}rkrrIrlr%r)rrrmeanrsr*r+r,)r<r!r"rzs r test_meanzTestCommon1D.test_meanshhy!# EJJL1{{5::4:0111d+UZZTZ-BCa(%**!**<=b)5::2:+>? ]]:V 4  JJAJ   ]]:V 4 JJBJ       sE E, E),E5ctjtjd}tjgdgdgdg}||}t j t d5|jddddt j t d5|jd dddt j td 5|jd dddt j t d 5|jd |dddy#1swYxYw#1swYxYw#1swYYxYw#1swYyxYw)N)rrr})rrLrW)rfrVrgr~r%rrkrrrzout.*not match shaperrm) rasarrayr8rr*r+r,rrrs rtest_mean_invalid_paramsz%TestCommon1D.test_mean_invalid_paramssjj&)*hh :z:;# ]]:-@ A  JJAJ   ]]:-@ A $ JJFJ # $ ]]9,E F ! JJCJ  ! ]]:-C D ( JJA3J ' ( (    $ $ ! ! ( (s0*D) D5E E )D25D>E  Ectjgd}||}tD]R}|j|}|j|}t ||t |j |j TyNr}r)rrr rtrrr)r<r!r"rzrrrs rtest_sum_dtypezTestCommon1D.test_sum_dtypesdhhy!#% 9EggEg*G  .I GY /   8  9rctjgd}||}tD]R}|j|}|j|}t ||t |j |j Tyr)rrr rrrr)r<r!r"rzrdat_mean datsp_means rtest_mean_dtypezTestCommon1D.test_mean_dtypesfhhy!#% ;Exxex,H%0J Hj 1 )9)9 :  ;rctjgd}||}tjd}tjd}|j||j|t|||jd||jd|t||t j t d5|jtjdgdddt j t d5|jtjdggdddy#1swYUxYw#1swYyxYw)Nr}rrnrmzoutput parameter.*dimensionr%)rrrrr*r+r,)r<r!r"rzdat_out datsp_outs r test_mean_outzTestCommon1D.test_mean_outshhy!#((1+HHQK  W y !+ aW% y )+ ]]:-J K * JJ288QC=J ) * ]]:-J K , JJ288aSE?J + , , * * , ,s'E(EE Ectjgd}||}tj|}tj|}t||t |j |j yr)rrrrrr)r<r!r"rzrrs rtest_numpy_meanzTestCommon1D.test_numpy_meansQhhy!#773<WWU^ *-X^^Z%5%56rcBtjgd}t||j|tjgd}t||j|t||dj|j dyN)r(rr0y?@rrIint16r)rrrr7rrNs rtest_from_arrayzTestCommon1D.test_from_arraysr HHY Yq\))+Q/ HH& 'Yq\))+Q/Yq088:AHHW>># { 3 5 55rzzBBBHHaV$bhh|&RS Az1EF a    VVCKKM95 bhhy11:>sQC!o-z||<  s HH c||}tgd|ztjgd|jtjgdg}t||z||jzy)Nr)rrrr7r)r<r!rMrows r test_rmatveczTestCommon1D.test_rmatvecsU e  q("&&qyy{*KLhh ~&aqyy{!23rc|tjgfD]l}||}t|j|t|j j|t|j |j nyr)rrrr7 transposer)r<r!rrOBs rtest_transposezTestCommon1D.test_transposesb"& +A! A a ( ..0! 4 !'' *  +rcp||D].\}}}||z}t|||z||z}t|||z0yr)r)r<r!r#rr"rzsum1sum2s rtest_add_dense_to_sparsez%TestCommon1D.test_add_dense_to_sparsesK!29!= * E3;D sSy )3;D sSy )  *rctjd}||}|jdvr!t||D]\}}t ||yy)NrW)coodiabsr)rarangeformatzipr)r<r!rrOr]r^s r test_iteratorzTestCommon1D.test_iteratorsM IIaL aL 880 0Aq  #1Q" # 1rctjgd}||}|jdJt|j gd|jdt|j gdy)N)rrrr0r6r)rW)rrrrr)rrresizerr7rs r test_resizezTestCommon1D.test_resizesX HH\ " aLxx~%%%QYY[), QYY[/2rN)'__name__ __module__ __qualname____doc__r=r@rDrGrPrSrardr{rrrrrrrrr*mark thread_unsafe sup_complexrrrrrrrrrrrrrrrrrr4r49s?9 4.$ /,( ',   ( 9 ;,(7 [[OO [[   [[ O O,0\ 0-9&%*=64 +*#3rr4)%rr*numpyr numpy.testingrrnumpy.exceptionsr scipy.sparserrrr r r r scipy.sparse._sputilsr rtestingsuppress_warningsrfilterrint64float64 complex128rfixturerr#r parametrizer.r2r4rrrrs10 7+;jj**, >"I . xxR]]3 ''y)Y &RS T )Y 9iS&& j1E3E32E3r