L iQddlZddlZddlZddlmZmZddlmZm Z m Z ddl m Z ee gZ ejdZej j#de Gdd Zej j#de Gd d Zy) N)assert_allclose assert_equal) csr_array dok_arraySparseEfficiencyWarning)toarrayc#Kdt|dr |jsy|jj}d|_|j t ||jdyw)zDChecks that sorted indices property is retained through an operationNhas_sorted_indicesFz'Expected sorted indices, found unsorted)hasattrr indicescopy sort_indicesr)Xr s h/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/sparse/tests/test_indexing1d.pycheck_remains_sortedr sT 1* +13G3GiinnG ANN!))%NOsA'A) spcreatorc$eZdZdZdZdZdZy) TestGetSet1Dc`tjgd}||}|jd}t| |D]p}t ||dfj ||dft |d|fj |d|ft |dd|fj |dd|fry)Nrr)nparrayshaperangerr )selfrDANjs rtest_None_indexzTestGetSet1D.test_None_indexs HHY  aL GGAJr1 GA 1d7++-qDz : 47++-qqz : 4q=)113QtT1}5E F Gc|tjdjdd}|djdk(sJ|dddfjdk(sJ|ddddfjd k(sJ|d jdk(sJ|d jd k(sJ|d jd k(sJ|djd k(sJ|ddddfjd k(sJ|ddddfjd k(sJ|ddddfjdk(sJt j td5|ddddt j td5|dddddfdddt j td5|dddddfdddt j td5|dddddfdddy#1swYxYw#1swYuxYw#1swYQxYw#1swYyxYw)N rr)rrrr'r)rr)Nrr')Nrr'N)Nr)rr)rN)rrzOnly 1D or 2D arraysmatch)Nr'rNN)rarangereshapendimrpytestraises IndexErrorrrr s rtest_getitem_shapezTestGetSet1D.test_getitem_shape%s bii&..q!4 5w||q   AaCy$&&&q!A#$$...}""d***!"((F222z6)))z6)))q!}""f,,,D!}""f,,,At}""f,,, ]]:-C D & $ % & ]]:-C D " dAaCq ! " ]]:-C D  ac12tm   ]]:-C D ! ab!T4  ! !  & & " "   ! !s0'G G? G/ G(G GG%(G1ctjgd}||}|jd}t| |D]}t ||||dD]7}t j td5|j|ddd9|ddk(sJt j td5|jddddy#1swYxYw#1swYyxYw) Nrr)rz index (.*) out of (range|bounds)r))rrr) rrrrrr.r/r0 __getitem__)rrrr r!r"ijs rtest_getelementzTestGetSet1D.test_getelement=s HHY  aL GGAJr1 %A 1qt $ % "Bz1ST " b! " " " w!|| ]]:-O P MM$    " "   s3C4CC C$ctj}|d|}tjj5}|j t d|d|d<|d|d<|d|d<|d |d <d |d <|d|d <|d |d<dD]8}t jtd5|j|dddd: dddy#1swYNxYw#1swYyxYw)Nr&dtype2Changing the sparsity structure of .* is expensiverrrg"@ )ir() rC)zout of (range|bounds)r)^@) rfloat64testingsuppress_warningsfilterrr.r/r0 __setitem__)rrr<r supr7s rtest_setelementzTestGetSet1D.test_setelementOs  e5 ) ZZ ) ) + -s JJ'D 8AaD8AaD:AaD!HAbEAaD1XAcF!HAbE- -]]:5LM-MM"e,-- - - --- - -s$A>C*7C C*C' #C**C3N)__name__ __module__ __qualname__r#r2r8rNr$rrrsG!0 $-r$rceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZy)TestSlicingAndFancy1Dctjgd}||}t|dj|ddD]7}t j t d5|j|ddd9y#1swYDxYw)NrrR)rrrz"out of (range|bounds)|many indicesr))rrrr r.r/r0r6)rrrr r7s rtest_get_array_indexz*TestSlicingAndFancy1D.test_get_array_indexjsu HHY  aLQrU]]_ae,  "Bz1UV " b! " " " " "s A==B ctj}|d|}tjj5}|j t d|d|tj d<|d|tj d<t|jgddD]8}tjtd 5|j|d ddd:d d gdtj gdfD]:}d}tjt| 5|jd|ddd< dddy#1swYxYw#1swY\xYw#1swYyxYw)Nr:r;r=g@g@) rrrrrrr'rrrrr)rE)rDzindex .* out of (range|bounds)r)rGrRrV)rr'r&Trying to assign a sequence to an itemr)rrHrIrJrKrrrr r.r/r0rL ValueError)rrr<r rMr7vmsgs rtest_set_array_indexz*TestSlicingAndFancy1D.test_set_array_indexss6  e5 ) ZZ ) ) + (s JJ'D #3ZAbhhqkN"3ZAbhhqkN &J K% -]]:5UV-MM"e,-- -&)RXXi-@A (>]]:S9(MM!Q'(( ( ( (-- (( ( (s=BE!E AE!"E5 E! E E!E E!!E*cxt|dtjddjtjt|dtjdddjtjt|dtj ddjtj y)N r;rrB)rZrr')rrint16r<int32int64)rrs rtest_dtype_preservationz-TestSlicingAndFancy1D.test_dtype_preservationsvYuBHH5a:@@"((KYt2884QqU;AA288LYt2884Q7==rxxHr$ctjd}||}t|dd|ddjt|dd|ddjtjgd}||}t|dd|ddjtjgd}||}t|dd|ddjt|dd|ddjt|dd|ddjt|t d|t djy) NgI@r'rB) rrrZrrrrrrrr)rrrrrr@)rr+rr rslice)rrBr CrEFs rtest_get_1d_slicez'TestSlicingAndFancy1D.test_get_1d_slices IIcN aLQqT1Q4<<>*QqVQqV^^-. HH0 1 aLQqVQqV^^-. HH_ % aLQqVQqV^^-.QrsVQrsV^^-.QqT1Q4<<>*QuT{^QuT{^%;%;%=>r$c<tjd}||}t|d|dt|d|dt|tjd|dt|ddj |ddt|ddj |ddt|dddj |dddt tj dtj dd}t||j |ddtj}|dd|d d|dd|ddd|d d |dd|d dd|ddd|dddd d |dd|d ddddtjdtj dg}t|D]x\}}||} ||} | jdk(rt| | t|6| jd k(r| jd k(rUt| j | t|zy)N2r'r@rBr&rrrr>rrR) rr+rrr rhint8s_ enumeraterreprsize) rrrir srvslicesr"axys rtest_slicing_idx_slicez,TestSlicingAndFancy1D.test_slicing_idx_slices IIbM aL QqT1Q4 QrUAbE"Qrxx|_ae, QqT\\^QqT*QqW__&!B0QqAvY&&(!AbF)4 "''!*bggaj$ /QqT\\^QqV,UURa&"Qq'2ab62add8R)R!WQqV*bBiEQrEQ1r!AwB((2, - f% :DAq!A!Aww"}Q47+66Q;166Q; aa9 :r$ctjd}||}t|dj|dt|dj|dy)Nro.).)rr+rr rrrir s rtest_ellipsis_1d_slicingz.TestSlicingAndFancy1D.test_ellipsis_1d_slicingsJ IIbM aLQsV^^%qv.QtW__&$0r$cP|d}tjd}tjj5}|j t d||fD]}d|ddd|ddd|ddd|ddd|ddd <  dddt |j|y#1swY$xYw) NrBr=rrrr'rArrp)rzerosrIrJrKrrr )rrr rirMrjs rtest_slice_scalar_assignz.TestSlicingAndFancy1D.test_slice_scalar_assigns dO HHTN ZZ ) ) + s JJ'D V !A!A!A!"!%R%    QYY[!$  s rprr@rrsrtr=rbdr[r)zcould not be broadcast together)rrfloatrvrrurIrJrKrrwrr rxrlistr.r/r\rLrh) rrr rirvr{rMr"r|toobigs rtest_set_slicez$TestSlicingAndFancy1D.test_set_slices dO HHQ  UURa&"Qq'2ab62add8QqV*bBiEQrEQ1r!AwB((2, - ZZ ) ) + )s JJ'D "&) 61!!QYY[!T!W5 6 aAAa1fIaAAa1fI a ( )eCj! ]]:-U V % MM!V $ % ]]:-N O / MM%+v . / /% ) )  % % / /s%0BG?G&5G2G#&G/2G;c|tjd}|d}||ddt|jgdy)Nrr'r')rrr)ronesrr )rrr ris rtest_assign_emptyz'TestSlicingAndFancy1D.test_assign_empty9s8 bggaj ! dO"1QYY[),r$c|dtj}t|ddgjtjt|gjtjy)Nrr;F)rrcrr<r1s r#test_dtype_preservation_empty_indexz9TestSlicingAndFancy1D.test_dtype_preservation_empty_indexBsE d"(( +Qu~&,,bhh7QrU[["((+r$cj|tjd}tjtt t fd5|jddddtjtt t fd5|jddddy#1swYJxYw#1swYyxYw)NrB,Index dimension must be 1 or 2|only integersr)foo&tuple index out of range|only integers)r'r)rrr.r/r0r\ TypeErrorr6r1s rtest_bad_indexz$TestSlicingAndFancy1D.test_bad_indexGs bhhqk " ]] Y /@  ! MM%  ! ]] Y /:  & MM* %  & &  ! !  & &sBB)B&)B2c tjdjd}||}t|ddgj |ddgt|dddgfj |dddgft|dddgfj |dddgft|tj dddgfj |dddgft|dtj ddgfj |dddgft|tj dtj ddgfj |dddgft|ddgdfj |ddgdft|dd d gfj |dd d gft|dd ddgfj |dd ddgft|dd tj ddgfj |dd ddgft|ddgdfj |ddgdft|ddgd fj |ddgd ft|tj ddgd fj |ddgd ft|ddgtj d fj |ddgd ft|tj ddgtj d fj |ddgd ft|ddgddfj |ddgddft|ddgd dfj |ddgd dft|tj ddgd dfj |ddgd dftt |ddgdd gf|ddgdd gftt |dd gdd gf|dd gdd gftt |tj dd gdd gf|dd gdd gftt |dd gtj dd gf|dd gdd gftt |tj dd gtj dd gf|dd gdd gft|dgdggdd gfj |dgdggdd gft|dgd gdggdd gfj |dgd gdggdd gft|tj dgd gdggdd gfj |dgd gdggdd gft|dgd gdggtj dd gfj |dgd gdggdd gft|tj dgd gdggtj dd gfj |dgd gdggdd gft|ddgj |ddgt|dd gj |dd gt|tj dd gj |dd gt|ddgddfdddd gfj |ddgddfdddd gft|dd gddfdddd gfj |dd gddfdddd gft|tj dd gddfddtj dd gfj |dd gddfdddd gft|ddddgfdd gddfj |ddddgfdd gddft|dddd gfdd gddfj |dddd gfdd gddft|ddtj dd gftj dd gddfj |dddd gfdd gddfy)Nro)rBrbrrrpr'rs)r'r>rrprrAr4r>rtr@)rr+r,rr rrs rtest_fancy_indexing_2darrayz1TestSlicingAndFancy1D.test_fancy_indexing_2darrayTs IIbM ! !' * aL Q1vY&&(!QF)4 Qq1a&y\))+Qq1a&y\:QrAr7{^++-qaW~>Qrxx|aW,-55722w;HQr288QG,,-55722w;HQrxx|RXXq"g%667??A1R!R[>R Qq-'(002Aa6F4GHQqsQCx[((*AacA3hK8QqsRH}%--/1Q3R=1ABQqsBHHb"X../7791QqS2r(];KL Q1vqy\))+Q1vqy\:Q2w{^++-q!R"~>QrxxB(",-557Ar7B;HQ2w ,-557Ar7B;HQrxxB("((2,67??A1aWb[>R Q1vqy\))+Q1vqy\:Q2w"}%--/Ar7AbD=1ABQrxxB(!B$./7791aWad];KL WQ1v1v~./Aq6Aq6>1BCWQBx!R012Ar2hB6G4HI AbhhBx(1b'12 3QBx!R7H5I   Ar2h!R 112 3QBx!R7H5I   AbhhBx("((Ar7*;;< =q"bAr7AR?S QaSzAq6)*224a!qc QF8J6KL tbTB4 1b') * 2 2 4 tbTB4 1b') *   bhhrdRD)*QG3 4 < < > tbTB4 1b') *   tbTB4 "((Ar7"33 4 < < > tbTB4 1b') *   bhhrdRD)*BHHaW,== > F F H tbTB4 1b') * Q1vY&&(!QF)4QBx[((*Ar2hK8QrxxR)*224aRkB  q!faiLQF # + + -q!Q|A1vI/F   r2hkN1q"g: & . . 0!RHaK.QG2L   bhhBx !# $Q!R(9%9 : B B D r2hkN1q"g: &  a!QiL!Q # + + -qQF|QFAI/F   a"bkNAr7A: & . . 0!ABxK.!R!2L   a2r(## $RXXq"g%6%9 : B B D a"bkNAr7A: & r$ctjd}||}t|dgj|dgt|ddgj|ddgt|ddgj|ddgt|tjd|dt|tjddgj|ddgt|tjd|tjdtjdgdgg}t||j||tjdgdgd gg}t||j||t|ddgj|ddgt|ddgj|ddgt|tjddgj|ddgt|gd ddgj|gd ddgt|gd dd gj|gd dd gy) Nrorrr'rsrprBrtr@)rrBr'r>)rprsr'r>r4)rr+rr r)rrrir inds rtest_fancy_indexingz)TestSlicingAndFancy1D.test_fancy_indexings& IIbM aL QsV^^%q!v. Q1vY&&(!QF)4Q2wZ'')1aW:6Qrxx|_ae,QrxxQ()113QAwZ@Qrxx{^Qrxx{^4hhaSz"QsV^^%qv.hhrdRD)*QsV^^%qv. Q1vY&&(!QF)4QBx[((*Ar2hK8QrxxR)*224aRkB Q|_aV,446|_aV, .Q~&2w/779~&2w/ 1r$ctjjdtjd}||}tjtjj dddt }tt||||tt||dkD||dkDtjdt }tjdt }d |d <tjdt }d |d<d }tjt| 5|j|dddtjt| 5|j|dddtjt| 5|j|dddy#1swYtxYw#1swYKxYw#1swYyxYw) Nrorr'ryr;rA3Trpz3bool index .* has shape|boolean index did not matchr))rrandomseedr+rrandintboolrr rr.r/r0r6) rrrir IZ1Z2Z3r^s rtest_fancy_indexing_booleanz1TestSlicingAndFancy1D.test_fancy_indexing_booleans\ t IIbM aL HHRYY&&q!"&5T BWQqT]AaD)WQq1uX&!a%1 XXb % XXb %2 XXb %1C ]]:S 1  MM"   ]]:S 1  MM"   ]]:S 1  MM"          s$,F1!F=G 1F:=G Gctjjdtjd}||}tjtjj dddt }t|}tt||||tt||dkD||dkDtjtjj dddt }t|}tjtd 5|j|dddtjtd 5|j|d fdddy#1swYAxYw#1swYyxYw) Nrrrrr'rr;rA<z%bool index .* has shape|only integersr)rr)rrrr+rrrrrr r.r/r0r6)rrrir rXspYYsps r"test_fancy_indexing_sparse_booleanz8TestSlicingAndFancy1D.test_fancy_indexing_sparse_booleans$ t IIbM aL HHRYY&&q!"&5T BlWQsV_ad+WQq1uX&!a%1 HHRYY&&q!"&5T Bl ]]:-T U  MM#   ]]:-U V $ MM3( # $ $   $ $s E2E>2E;>Fc|tjddg}tjtd5|j dtjddgdddy#1swYyxYw)Nrrr[r)r')rrr.r/r\rL)rrmats rtest_fancy_indexing_seq_assignz4TestSlicingAndFancy1D.test_fancy_indexing_seq_assignsX!Q() ]]:-U V 1 OOArxxA/ 0 1 1 1s (A**A3ctjd}d|ddd|d<||}tjdgdz}tt ||||tjgt }tt ||||tjgdt }tt ||||y) NrorrrAFr;)rrr'rrrr+rrr int)rrrir KJs rtest_fancy_indexing_emptyz/TestSlicingAndFancy1D.test_fancy_indexing_emptys IIbM!A" aL HHeWr\ "WQqT]AaD) HHRs #WQqT]AaD) HH_C 0WQqT]AaD)r$c|tjd}d}tjtt t f|5|jdddddy#1swYyxYw)NrBrr)rr')rrr.r/r0r\rrL)rrr r^s rtest_bad_index_assignz+TestSlicingAndFancy1D.test_bad_index_assignsQ bhhqk "< ]]J I>c J $ MM% # $ $ $s A  A)cd}gdtdddtjdtddtddfD]}||}tj|}tjj 5}|j td d ||<t|5d ||<ddddddt|j|y#1swY.xYw#1swY2xYw) Nr)r'rrrbrrrBr@r'r=r) rhrr+rrIrJrKrrrr )rrMr"r rirMs rtest_fancy_indexing_setz-TestSlicingAndFancy1D.test_fancy_indexing_sets U4Q/11b\5A;0 ,A! A A--/ 3 +H!)!,AaD   AIIK + ,   s$<'C"#C)C"C C""C+ c|d}|d}gd}d}tj|}tjj5}|j t dt |5||||<d}tjt|5|j|ddd||||<dddt|ddj|j|jdk(sJ|d}t |5dd g|d ddddt|jgd |d}tjd }t |5||fD] } gd | gd<  dddt|j|dddy#1swYxYw#1swYxYw#1swYxYw#1swYPxYw#1swYyxYw)Nr5rW)rrr'r=z3too many indices for array|tuple index out of ranger)rrbrrr)rrbrrrr)rrBrZ)rrrIrJrKrrr.r/r0r6rr rr) rrr rii0i1i2rMr^rjs rtest_sequence_assignmentz.TestSlicingAndFancy1D.test_sequence_assignment+s dO dO   XXb\ ZZ ) ) + )s JJ'D &a( ""K]]:S9&MM"%&""   2A!))+ 677d? "?$A%a( "b!A " n 5$A A%a( -Q-A#,AiL- - a (5 ) )&&   " " - -/ ) )sn "G,&F*F$F*4AG F6A GG3"GF' #F**F3 /G6F? ;GG GGc:tjd}d|d<d|ddg<||}tjdgdz}d||<t|j |tjgt }d||<t|j |y) Nrorr'rrZF*r;r)rrrir rs rtest_fancy_assign_emptyz-TestSlicingAndFancy1D.test_fancy_assign_emptyOs IIbM!1a& aL HHeWr\ "!QYY[!$ HHRs #!QYY[!$r$N)rOrPrQrXr_rfrmrrrrrrrrrrrrrrrrrrrrrRr$rrTrTes "(0I ?$#:J1% 9 <21$/<-, &[ z1>2$*1 * $ ,$")H %r$rT) contextlibr.numpyr numpy.testingrr scipy.sparserrrtest_arithmetic1dr formats_for_index1dcontextmanagerrmark parametrizerrTrRr$rrs 7FF&!), PP&9:H-H-;H-V&9:u%u%;u%r$