a :jg@sddlmZddlZddlZddlZddlmmZddl mm Z ddl m Z m Z mZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;mZ>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZej[Z[dfddZ\Gdd d Z]Gd d d Z^Gd d d Z_ddZ`dS))reduceN)assert_ assert_raises assert_equal)KMaskType MaskedArrayabsoluteaddallallcloseallequalalltruearangearccosarcsinarctanarctan2arrayaveragechoose concatenate conjugatecoscoshcountdivideequalexpfilledgetmaskgreater greater_equalinner isMaskedArrayless less_equalloglog10 make_maskmasked masked_array masked_equalmasked_greatermasked_greater_equal masked_inside masked_lessmasked_less_equalmasked_not_equalmasked_outsidemasked_print_option masked_values masked_wheremaximumminimummultiplynomasknonzero not_equalonesouterproductputravelrepeatresizeshapesinsinhsometruesortsqrtsubtractsumtaketantanh transposewherezeroscCs,t||}|s(td|d|d||S)NzNot eq: z ----)r print)vwmsgresultrXD/usr/local/lib/python3.9/site-packages/numpy/ma/tests/test_old_ma.pyeqs rZc@seZdZddZddZejdddgdd Zd d Z d d Z ddZ ddZ ddZ ddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Z d:d;Z!dd?Z#d@S)ATestMac Cstddddtddddddddg }tgd }d}gd }gd }t||d }t||d }tgd }t|gdd } t|d|} |j} |d||||||||| | | f |_dS)N?g@@@$$@@) r_rbr]grcr`rar\rcrb) rrrrrrerrrrr) rrrerrrererrrrremask)grc?g?rrerr@xD)nprpirOrCZset_fill_valued selfxya10m1m2xmymzzmxfsrXrXrY setup_method&s&   zTestMa.setup_methodc Cs|j\ }}}}}}}}} } } tt| tt|tt|| t|j| t|j|jt|jtdd| tt|t |tdd|tt || tt t |d| tt ||dS)NcSs||SNrXrprqrXrXrY=z)TestMa.test_testBasic1d..cSs||Sr|rXr}rXrXrYr~>rrj) rmrr#rrCdtypesizerrlenrZrrnrXrXrYtest_testBasic1d5s   zTestMa.test_testBasic1drz)c Cs|j\ }}}}}}}} } } }||_||_||_||_|| _tt| tt|tt||t|j|t|jtdd|tt|t|tdd|tt || tt t |d| tt ||dS)NcSs||Sr|rXr}rXrXrYr~Qrz)TestMa.test_testBasic2d..cSs||Sr|rXr}rXrXrYr~Rrrj) rmrCrr#rrrrrrZr) rorzrprqrrrsrtrurvrwrxryrXrXrYtest_testBasic2dCs   zTestMa.test_testBasic2dc Cs.|j\ }}}}}}}}} } } tddgddgg} t| ddgddgg} tt| | | | tt| | | | tt| | | | dD]} || }|| }|| }|| }| | } tt| | tt||||tt||||tt||||tjddd&tt||||Wdn1sT0Ytt||||tt||||tt||||tjddd&tt||||Wdn1s0Ytt||||tt||||tt||||tt||||tt|d|dttt|dt|dtt||||ttt ||t ||ttt ||t ||ttt ||t ||tjddd,ttt ||t ||Wdq1s0YqdS) Nrerrr)) r)rrignorerinvalid@) rmrr*rrZreshaperkerrstateabsr rIr8r)rorprqrrrsrtrurvrwrxryrza2da2dmrXrXrYtest_testArithmeticWsF      66zTestMa.test_testArithmeticcCs>tdg}tdg}tt||ttt||tdS)Nre)rkrr isinstancer)ronamarXrXrYtest_testMixedArithmetic}s  zTestMa.test_testMixedArithmeticc Cs |j\ }}}}}}}}} } } ttt|t|ttt|t|ttt|t|ttt|t|ttt|t|ttt |t |tj ddddttt t |t |ttt t |t |tttt |t|Wdn1s&0Yttt|t|ttt|t| ttt|t| ttt|t| ttt||t||ttt|t|ttt||t||ttt||t||ttt||t||ttt||t||ttt||t||ttt||t||ttt|t|ttt||ft||fttt||ft||fttt||ft||fttt|||ft|||fdS)Nrr)rmrrZrkrrrDrErLrMrrHrr&r'rrrrrrrr;r$r r%r!rrrnrXrXrYtest_testUfuncs1s8<   zTestMa.test_testUfuncs1cCstgdgdd}tt|jjtjutdt|tdtdttdtddgd| d}tt|jjtjutt t|dtj tt|jjtjuttdt|tt t|dt uttddgt|ddS) Nrcr\r]rbrerrrrfrrer)rrr)rrrrtyperkZintprrZrrndarrayrr9)roottrXrXrYtest_xtestCounts zTestMa.test_xtestCountc Csb|j\ }}}}}}}}} } } t|} t|} ttt| t| ttt| t | dSr|) rmrkr@rrZmaxr6rminr7)rorprqrrrsrtrurvrwrxryrzZxrZxmrrXrXrYtest_testMinMaxs  zTestMa.test_testMinMaxc Cs|j\ }}}}}}}}} } } tttj|t|tttj|t|ttdttdddttdttdddtttj|ddt|ddtttjt |dddt|ddttt|dt|dtttj |ddt |ddttt |dt |dtttj t |dddt |ddt | dkrttt ||fdt ||fdtttj|dt|dttt|dt|dttt |dt |ddS)Nrraxisre)rmrrZrkr r accumulaterJrrprodr>rrrnrXrXrYtest_testAddSumProds( &    zTestMa.test_testAddSumProdcCstgd}t|gdd}t|gdd}t|}t|t|ttt|t|ddtt|dt|dut|d|dkt|dtutt|d|dtt|dd |dd tt|dd|ddtt|dd|ddd |d<d |d<tt||d |dd <d |dd <tt||t|d<tt||t|dd <tt||||dd<t|d<tt t |tgd t gdgd|dd<tt t |tgdt gdgd|dd<tt t |tgdtt |tgdt d d}t |d}tt||tt tgdt|jttd|jtgdt}tgdt}|d}|d}tt|ttt|tt||t|ddjdkdS)N)rerrrrrf)rrerrer) fill_valuerer crrirerrr)rrererr\rb)rrrrer)reZhellorr)r)rkrstrreprrrZrGrr)r rr*rr4rrgrobjectrrC)rox1Zx2Zx3x4s1s2rXrXrY test_testCIsZ      zTestMa.test_testCIcCsgd}t|}t|}t||ut|dd}t||utd}t||d}t|j|utt||jt|j|ut|dd}t|jj|jjkt||dd}t|j|ut|dt ud |d<t|dt ut|j|utt|j dt||d d} t| j|ut| dt ud | d<t| dt ut| j|utt| j dt|d |d} tt | j |d j utd } t | d<t | d } ttt| | g| ttt| gdt| ddd} tt| gdt| ddd}tt| |dS)N)rrrerrT)copyrrfrrgrrrrer\r))rrrerrrrer)rrrrr)rrrererrrr)r(rrkrr_datar _maskZ__array_interface__r)rgrrrBrZrrrA)ronmrtm3ry1Zy1ay2Zy2aZy3rZy4Zy5Zy6rXrXrYtest_testCopySizesP       zTestMa.test_testCopySizecCstd}gd}t|}|}t||d}t|dtut|dtuddg|ddg<t|j|ut|dtut|dtutt|gd t||d d }|gd gd t|j|ut|dtut|dtutt|gddS)Nr)rrrrererfrr (re)rrrrTr)rrer)rd)rrrrr) rr(rrrr)rrZr?)rormrrrtrprXrXrY test_testPut5s$ zTestMa.test_testPutcCsVtd}t|gdd}tddgddgd}t|dtut|d tu||dd <t|dtut|d tutt|gd td}t|gdd}|dd }tddgddgd}t|dtut|d tu||dd<t|dtut|dtutt|ddgt|dtut|d tutt|gd dS) Nr)rrrrrrfrrrerrrr)rrerrr)rrrr)rZ)rormrprwrqrXrXrY test_testPut2Ks,   zTestMa.test_testPut2c Cs\|j\ }}}}}}}}} } } gd} t| d} t|| | ttt|| dd| kdS)N) rerrrrrrerrrerrerr)rmrkr:r?rr rK)rorprqrrrsrtrurvrwrxryrzrirXrXrYtest_testMaPutes  zTestMa.test_testMaPutc Cs*td}|dd}d|jd<t|ddk|d|}tt|j|tt|jd|tt|t|jd||d |jd <td}t|d <tt |d t tk|d k}tt t |ttd ktt t |tt|j kt ||t}t|j |j ut|d tut|dtut|dtut|d tut|dtutt||t |t|}t|j |j ut|d tut|dtut|dtut|d tut|dtut||}t|j |j ut|d tut|dtut|dtut|d tut|dtutt||tgd}tgd}t|d<t ||| }tt|gdt|d <t ||| }tt|gdt|d tut|dtut|dtutttt|d|t|dtttt|d|t|dtttt|d|t|dtttt|d|t|dtttt|d|t|dtttt|d|t|dtttt|d|t|dtttttddd gdtttttddd gdttttttdgdddd j gdttttttdgdddd j gdttttttdgdddj gdttttgdgdddj gdtttgdgd gd!t!d"t"j#d#}t$|j t%}t||}tt||t&|| |f}tt|gdt|d tut|dtut|dtutd$}t|d<td$d}t|d<tgd%gd&d}|'d}t |||}t |||} tt|| tt(| t)utt| gd't |td}tt|gd(t |dt}tt|gd)dS)*Nrrr)rery$@rerc.rrrr)r\r]rbr^r_)rerererrr)r\r]rcrdre)rrrr)rrerrr)rerrrrrf)rerererer)rrerrr)rererrre)rerrerr)rrrerre)rerrerre)rererrr)rerrrr)rrrrr)rrr)rr)rerererrr)rerrrrr)rrerr2)rrrrerere)rrererrr)*rrZflatrrZrealimagrr)rrrOrCrr5rr r,r!r-r$r/r%r0r;r1rr+r.listranger2rgr<rkfloat32rPrrrrr9) rorprwcZatestZbtestZctestrqcmrxrXrXrYtest_testOddFeaturesls                ""        zTestMa.test_testOddFeaturescCstttgdgdgdtttgdgdgdtd}tdd}t|d<t|d<ttt||tt||||ttt||tt||||tt |dktt |d kdS) N)rerr)rrr)rerr)rrrrrrrr) rrZr7r6rr)rOr$r r)rorprqrXrXrYtest_testMinMax2s   ""zTestMa.test_testMinMax2cCstd}td}t|dd<|ddd}|ddd}ttt|dt|dttt|ddt|ddtttt |d t |d t||ttt t |d t |d t ||t gd t }t|d<t|gd }t|d d kt|ddkt|ddkdS) Nrrrrr)rrrerer)abcredefrr)rrrr) rrkr)rrrZrNrKr"rr=rr)rorprqtrXrXrY test_testTakeTransposeInnerOuters&   z'TestMa.test_testTakeTransposeInnerOutercCstd}td}td}t|d<|d7}tt||d|d7}tt||dtd}td}t|d<|d8}tt||d|d8}tt||dtdd}tdd}t|d<|d9}tt||d|d9}tt||dtdd}td}t|d<|d}tt|||d}tt||tdd}tdd}t|d<|d}tt||d|td}tt|tdtdtj}td}t|d<|d7}tt||ddS)Nrrrer\r])r)rr)rrZr<Zastyperkr)rorqrprurXrXrYtest_testInplacesR      zTestMa.test_testInplacecCsbtd}t|ddd<|dd}tdtjdD]*}tj||d}t|}tt ||q2dS)Nrrrrrre)protocol) rr)rrpickleHIGHEST_PROTOCOLdumpsloadsrrZ)rorpprotorzrqrXrXrYtest_testPickle$s  zTestMa.test_testPicklecCsHtd}t|d<tttdkt|dtutt|ddddS)Nrrez--r)rr)rrrr)roxxrXrXrYtest_testMasked.s zTestMa.test_testMaskedcCs8tgdgdd}ttdt|ddttdt|gddt|gdd d \}}ttd|t|d kt|dd<tt|ddtutgdgdd}|d d }t|ddd f<ttt|ddddgtt|d ddtuttddgt|ddt|dd d\}}tt|ddgdS)Nrrrfr]rr)r\r\r]r\weightsTrreturnedr^rrercrrr\)rrrZrr)r)rorrWZwtsrXrXrYtest_testAverage16s    zTestMa.test_testAverage1cCsgd}gdgdg}td}ttt|dddttt|d|ddttddtdg}ttt|dtjtdd d ttt|ddtdd dttt|d dt|ddt|dddgttt|d|d d ttt|d|dgdttt|d dt|ddt|dddgtd}gd}gdgdg}t d}gd} tttt ||dddtttt ||dddttt ||ddt ut tt || dddt t tt ||dddt ||} ttt| dd ttt| ddgdttt| d dddgttt| d|dgdtd} tdd} t| | g| | ggd dd\} }t t| t|t | j|jtt dddd gdd\}}t t|t|tt ddd\}}t t|t|tt dt ddd\}}tt|t|ktd dgddggt}t |ddgd dgg}t|dd}tt|dd gt|dd}tt|dd gt|dd}tt|d t|d d}tt|d!d"gdS)#N)rrerererer)rerrrrrerrrr)rrr]rbg(@rerg @)rcr\r]rbr^ra)rrrererr)rrerererererc)rcr\X@rr^g@r_)rcr\rrr^rarTr)rrr)rrr)rrrrrhr\g@g?r^)rrr rrrkr rrPr<r*r)rrrCfloatrZ)roZw1Zw2rprqrsrtrZm4Zm5rwabr1r2rrZa2daZa2dmarXrXrYtest_testAverage2Isx $      zTestMa.test_testAverage2cCstdttdtdttdtdttdgggtdttdggttttddgttttddgttttddgddgddS)Nrer\rrf)rintrrr TypeError ValueErrorboolrorXrXrYtest_testToPythonszTestMa.test_testToPythoncCstddd}tjdd"tdtdjWdn1s@0Ytd|jt| jt| jtt||jtt||jt|j|j jutddd}t||j kt t |t t dS)Nrrerfrr) rrkrrrgr6r7rrrrrr3)rorurprXrXrYtest_testScalarArithmetics 0   z TestMa.test_testScalarArithmeticc Csptgd}tt||jtt||jtt||jtt||jtt|ddddd|jdddddtt| gd|j gdtt| |j tt| |j tddgddgg}tt| |j tt| |j tt|ddg|jddgtt||jdS)Nrerrrrerrrrerre)rrrZanyrr ZargmaxZargminrcompressZconjrdiagonalrJrKrN)rorrrXrXrYtest_testArrayMethodss  $$zTestMa.test_testArrayMethodscCstgd}t|jddS)Nrre)rrndimrorrXrXrYtest_testArrayAttributess zTestMa.test_testArrayAttributescCstddttjD dS)NcSs&g|]}|ttvr|ds|qS)_)dirr startswith).0rrXrXrY s  z'TestMa.test_testAPI..)rrrkrrrXrXrY test_testAPIszTestMa.test_testAPIcCsTtgd}tgdgdd}t|djdt|djdt|djddS)NrrrfrrXre)rrrC)rorrrXrXrYtest_testSingleElementSubscripts  z&TestMa.test_testSingleElementSubscriptcCs8tgdgdd}|dk}d||<t|dtudS)Nr)rerrerrfrrr)rrr))rorrrXrXrYtest_assignment_by_conditionsz#TestMa.test_assignment_by_conditioncCsTtddgddgd}tddgddgd}|dk}||||<ddg}t|j|dS)NrreFrfT)r*rrg)rorrrgZ expected_maskrXrXrYtest_assignment_by_condition_2s  z%TestMa.test_assignment_by_condition_2N)$__name__ __module__ __qualname__r{rpytestmarkZ parametrizerrrrrrrrrrrrrrrrrrrrrrrrr r r rrXrXrXrYr[$s> & 23e 2 : r[c@s4eZdZddZddZddZddZd d Zd S) TestUfuncscCsZtdddtdgdddgdgddtdddtdgdddgdgddf|_dS)Nr\rrrrerrf)rrlrmrrXrXrYr{s((zTestUfuncs.setup_methodc Csgd}dD]}ztt|}Wnty:tt|}Yn0ttj|}|jd|j}tH||vrvtj dd|dvrtj dd||}||}Wdn1s0Yt t | d| d|t t |j|jq dS)N) rHarctanhrrarccoshrr&r'r true_divide floor_divide remainderfmod)*rHr&r'rrrDrrLrrrrErrMZarcsinhrrrfabsnegativefloorceilZ logical_notr rIr8rrrrrhypotrrr;r%r!r$r logical_and logical_or logical_xorr)r)rr&r'rr)getattrumathAttributeError fromnumericrkrrmZninrZseterrrrZreqmaskrg)roZf_invalid_ignorefZufmfargsurmrrXrXrYtest_testUfuncRegressions"     &z#TestUfuncs.test_testUfuncRegressioncCs\|jd}tt|dd tt|ddtt|dddddtt|ddddS)Nrrr)rmrr rFrrJr>rrXrXrY test_reduces  zTestUfuncs.test_reducecCstdddd}t|dk|}t||t|dt|d|dkt|dgdkt|ddjt|ddjdS)Nre rrrr)rrrr) rrr5rrrrr rg)rorZamaskrXrXrY test_minmaxszTestUfuncs.test_minmaxcCs6dD],}tgdgdd}ttt|dgqdS)Nz?bhilqpBHILQPfdgFDGO)rerrr)rrrererfr)rrrZr:)rorrprXrXrY test_nonzeroszTestUfuncs.test_nonzeroN)rrrr{r-r.r0r1rXrXrXrYrs % rc@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)TestArrayMethodscCstgd}|dd}|dddd}tgd}t||d}t|||jd}t|||jd}|||||||f|_dS)N)$g @gGz.@g-!@g!@g&1?gʡE@g\( @gQ@g{G#@gPn@gh|?!@g!rh@gjt@gJ +@gzGa@g!rh@gʡE@g-@g)\(@g(\B#@g +@guV @g~j@g"~@gK7@g ףp=J#@gGz@gMb@g}?5^#@g/$@g!rhm@g-#@gJ +@gMb@gʡ@g-?rrr)$rrerrerrrerrererrerrrrerrerrrrererererrrerrrrrerrer)datarg)rkrrrCrm)rorpXXXrmxmXmXXrXrXrYr{s  zTestArrayMethods.setup_methodc Csf|j\}}}}}}}|}t||tt||t|j|dddS)Nrr) rmrrtrace compressedrJrrZrg) rorpr4r5rr6r7r8ZmXdiagrXrXrY test_trace&s zTestArrayMethods.test_tracec Csh|j\}}}}}}}|dd}tt|j|jtt|j|ddtt|j|jdddS)Nrr)rmZcliprrZrgr) rorpr4r5rr6r7r8ZclippedrXrXrY test_clip.s  zTestArrayMethods.test_clipc Cs|j\}}}}}}}|j\}}t|t|t|tj} t|tj} t|D]"} t|dd| f| | <qZt|D]} t|| | | <qt t |d| t t |d| dSNrre) rmrCrZptprkr:rPZfloat64rrrZ) rorpr4r5rr6r7r8rrowscolskrXrXrYtest_ptp5s    zTestArrayMethods.test_ptpc CsZ|j\}}}}}}}|dd}tt|d|dddf|dd} t| jddS)Nrrerr)rrrr)rmZswapaxesrrZrrC) rorpr4r5rr6r7r8Z mXswappedZ mXXswappedrXrXrY test_swapaxesDs   zTestArrayMethods.test_swapaxesc Csd|j\}}}}}}}|d}tt|j|dd|d}tt|j|dddSr=)rmZcumprodrrZrr rorpr4r5rr6r7r8ZmXcprXrXrY test_cumprodKs   zTestArrayMethods.test_cumprodc Csd|j\}}}}}}}|d}tt|j|dd|d}tt|j|dddSr=)rmZcumsumrrZrrrCrXrXrY test_cumsumRs   zTestArrayMethods.test_cumsumc Cs(|j\}}}}}}}tt|jdd|tt|jdd|tt|jddj|jddjtt|j|j|jdd|jdd}} tdD]t} tt| | || tt|| |dd| fttt || |dd| fqdS)Nrrrrer) rmrrZvarr:ZstdrCrrkrH) rorpr4r5rr6r7r8ZmXvar0ZmXvar1r@rXrXrY test_varstdYs" &zTestArrayMethods.test_varstdN) rrrr{r;r<rArBrDrErGrXrXrXrYr2sr2cCs,|tur|tuS|tur |tuS||kSr|)r9r )rsrtrXrXrYr'gs r')a functoolsrrrnumpyrkZnumpy._core.umathZ_corer$Znumpy._core.fromnumericr&Z numpy.testingrrrZnumpy.marrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrlrZr[rr2r'rXrXrXrYs& 5 .AY