_d-1"0jdZdZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl Z ddl Z ddlmcmZddlmcmZddlmZmZmZmZddlmZddl mZddlmZdd lmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%dd l 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@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZdd lmZe jZeZee jjjd d dDZdeDZGddZGddZGddZGddZGddZGddZGddZGddZGd d!ZGd"d#ZGd$d%ZGd&d'ZGd(d)ZGd*d+ZGd,d-ZGd.d/Zd0Zd1Zd2Zd3Zd4Zd5Zd6Zd7Zejd8ee9ejd:ee9ejd;d<Zd=Zd>Zejejjd?kd@AdBZdCZdDZdEZdFZdS)GznTests suite for MaskedArray & subclassing. :author: Pierre Gerard-Marchant :contact: pierregm_at_uga_dot_edu zPierre GF Gerard-MarchantN)reduce) assert_raises assert_warnssuppress_warningsIS_WASM)requires_memory)ndarray)asbytes)assert_assert_array_equal assert_equalassert_almost_equalassert_equal_records fail_if_equalassert_not_equalassert_mask_equal)iMAError MaskErrorMaskType MaskedArrayabsabsoluteaddallallcloseallequalalltrueangleanomarangearccosarccosharctan2arcsinarctanargsortarrayasarraychoose concatenate conjugatecoscoshcountdefault_fill_valuediagdividedoc_noteempty empty_likeequalexp flatten_maskfilled fix_invalidflatten_structured_arrayfromflexgetmask getmaskarraygreater greater_equalidentityinner isMaskedArrayless less_equalloglog10 make_maskmake_mask_descrmask_ormasked masked_array masked_equalmasked_greatermasked_greater_equal masked_inside masked_lessmasked_less_equalmasked_not_equalmasked_outsidemasked_print_option masked_values masked_wheremaxmaximummaximum_fill_valueminminimumminimum_fill_valuemodmultiplymvoidnomask not_equalones ones_likeouterpowerproductputputmaskravelrepeatreshaperesizeshapesinsinhsometruesortsqrtsubtractsumtaketantanh transposewherezeros zeros_like)picklezGsetting an item on a masked array which has a shared mask will not copyc6g|]}tj|S)npdtype.0dt_s l/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/numpy/ma/tests/test_core.py r@s 8 8 8S28C== 8 8 8z?bhilqBHILQefdgFDcg|] }|j Sr~)charrs rrrAs ' ' '38 ' ' 'rceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZedZdZdZdZdZ dZ!dZ"d Z#d!Z$d"Z%d#Z&d$Z'd%Z(d&Z)d'Z*d(Z+d)Z,d*Z-ed+Z.d,Z/d-Z0d.Z1d/Z2d0Z3d1Z4d2Z5d3Z6d4Z7d5Z8d6Z9d7Z:d8Z;d9Zz.TestMaskedArray.test_basic1d..xs Qrc ||zSrr~rs rrz.TestMaskedArray.test_basic1d..ys QUrr)rr rBr8anyrrastypeintrmr rrrrr.lenr rrrrrrrrrrrss r test_basic1dzTestMaskedArray.test_basic1dls15.AsBBAr2M!$$$%%% b!!"""b  ##''))***bgnnS))27>>#+>+>??? GRXb\\1%%%RXq!!!RXqw'''RXqw'''RWf%6%6::;;;U2YYB&1B1BB*G*G GHHH2r"""6"e,,b1111b!!!!!rc |j\ }}}}}}}}} } dD]/} | |_| |_| |_| |_| | _tt| tt|t t|| t |j| t |jt d| t t|t|t d|z t || t t|d| t ||1dS)N)r)rc ||zSrr~rs rrz.TestMaskedArray.test_basic2d..s QUrc ||zSrr~rs rrz.TestMaskedArray.test_basic2d..s Qrr) rrmr rBr rrr.rr8rs r test_basic2dzTestMaskedArray.test_basic2d~s=15.AsBBAr2!  AAGAGBHBHBH  a((( ) ) ) M"%% & & & rA & & & 1 % % % &):):A">"> ? ? ? rCGGf5F5F.K.K$K L L L R E**B / / / B      rc |j\ }}}}}}}}} } ttj||ft||fttj||ft||fttj||ft||fttj|||ft|||fdSr)rr rr*rs rtest_concatenate_basicz&TestMaskedArray.test_concatenate_basics15.AsBBAr2R^QF++["b-B-BCCCR^QF++[!Q-@-@AAAR^QF++["a-A-ABBBR^Q1I.. QAJ0G0GHHHHHrc "|j\ }}}}}}}}} } d} | x|_x|_x|_|_t|jt j|| t|jt j|| t ||fd} tt j||fd| tt j|j|jfd| jtd}ttdddg}t ||f}t|gdt|jgdt ||f}t|gd t|jgd dS) NrrrrFTr)rrrr)FFFTrrrr)FTFF) rrmr rrrkr*_maskrzr'rbr ) rrrrrrrrrrrrxmyms rtest_concatenate_alongaxisz*TestMaskedArray.test_concatenate_alongaxiss~15.AsBBAr2 2333!'3BHrxRWbjQ//000RWbjQ//000B8Q''R^QFA..555R^RWbg$6::DJGGG !HH $q'' . . . A  1lll+++16#>#>#>??? A  1lll+++16#>#>#>?????rc >ttttjdtjddtfdtfg}t|dd|ddg}t||dS)N rrr) rKlistziprrandomrandr floatrr*r)rdatatests rtest_concatenate_flexiblez)TestMaskedArray.test_concatenate_flexiblesDRY^^B%7%7%'Yr]]"4"455$'<#s"<>>>D!Hd122h/00T4(((((rctgdgdd}t|jdt|jgdgt|jgdgdS)Nrrrrrrr)rndminrr)r'r rmrrrs rtest_creation_ndminz#TestMaskedArray.test_creation_ndminsf ))))))1 5 5 5QWf%%%QWyyyk***QWyyyk*****rctgd}t|d<t|dt}t|j|jjt|j|jjdS)Nrr)rr)r'rJrr rmrrrxxs r$test_creation_ndmin_from_maskedarrayz4TestMaskedArray.test_creation_ndmin_from_maskedarraysb )))  " 1AU + + +QWagm,,,RXrx~.....rc`tdt}t|gd<t|}t |j|jt|}t |j|jt|gddz}t |j|jtgdd}t |jgd tgdd }t |jgd tgd|jd }ttj |j|jtgd|jd }ttj |j|j tgdd}t |jgd dS) Nr)rrrrrrrrrTTTTFFFFrcopy) r rrJrr rrr'rr rmay_share_memory)rrdma_1dma_2dma_3rrs rtest_creation_maskcreationz*TestMaskedArray.test_creation_maskcreationsb&&&!ZZZD!!UZ+++E""UZ,,,E q(8999ej%*--- )))$ ' ' 'QW000111 )))% ( ( (QW333444 )))!' 6 6 6#AFAF33444 )))!' 5 5 5B'777888 )))$ ' ' 'QW33344444rctjtjjt jt 5tjdtjjgddddS#1swxYwYdS)Nr)rr'marJpytestwarns UserWarningrs r*test_masked_singleton_array_creation_warnsz:TestMaskedArray.test_masked_singleton_array_creation_warnss  \+ & & ) ) Hb"%,' ( ( (  ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s&A00A47A4cttjdgd}t||dddf}t|gdgdgt|jgdgdgt |_t||dddf}t|gdgdgt|jt udS)Nrrrrrrrrrrrrr)rrrrrrrrrr)r'rr r rr`rr )rrrs r'test_creation_with_list_of_maskedarraysz7TestMaskedArray.test_creation_with_list_of_maskedarrayss ")A,,___ 5 5 5a44R4\""TOOO___=>>>TZ///???!CDDDa44R4\""TOOO___=>>> V#$$$$$rc~tjddgddg}tjd}tj||gd}t |jddgddggGd d }tj|dgddg}tjtd 5tj|gtdddn #1swxYwYtj||g}t |jddgddggdS) NrrTFrrU21rceZdZdZdS)UTestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_cast..NotBoolc td)N not a bool!) ValueErrorr s r__bool__z^TestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_cast..NotBool.__bool__s ///rN)__name__ __module__ __qualname__rr~rrNotBoolrs# 0 0 0 0 0rrrmatch) rrrKr r(r rrraisesrbool)r masked_str normal_intresr masked_objs r4test_creation_with_list_of_maskedarrays_no_bool_castzDTestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_castsU''c $'GG Yq\\ emmZ4EmBB38tUmeU^%DEEE 0 0 0 0 0 0 0 0U''C(8e}'MM ]:] ; ; ; 1 1 J |4 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1emmZ45538tUmeU^%DEEEEEs C66C:=C:cftjdgddgddgddgd }t|dS) N)Arf0f1S4i8r)namesformatsoffsetsr)rr'rs r'test_creation_from_ndarray_with_paddingz7TestMaskedArray.test_creation_from_ndarray_with_padding sK HhZd 37+34Q%(9(9 : : : arctjtd5tgdgdddddS#1swxYwYdS)Nzunexpected keyword argumentrrrrr)maks)rr TypeErrorrr s rtest_unknown_keyword_parameterz.TestMaskedArray.test_unknown_keyword_parameters ]9,I J J J 3 3  2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s?AAc 4|j\ }}}}}}}}} } d|_d|_t|} t | j|jt | j|jt | j|jt | j|jdS)NT)r fill_value _hardmaskr(r rr) rrrrrrrrrrrxmms r test_asarrayzTestMaskedArray.test_asarrays15.AsBBAr2  bkkSY)))SY)))S^R]333S]BL11111rctjdj}t|jj t |}t|jjdS)NrreyeTr flags c_contiguousr(rmnew_ms rtest_asarray_default_orderz*TestMaskedArray.test_asarray_default_ordersK F1IIKAG(()))  ()))))rctjdj}t|jj t |d}t|jjdS)NrCorderr<rAs rtest_asarray_enforce_orderz*TestMaskedArray.test_asarray_enforce_order%sR F1IIKAG(()))%%% ()))))rc(tjd5ttjddggd}t |}t |j|jddgt |jgdddddS#1swxYwYdS)Nignoreinvalidrrrrrr)rrr) rerrstaterKnanr9r rr7r)rr data_fixeds rtest_fix_invalidz TestMaskedArray.test_fix_invalid-s [ * * * 9 9R 0yyyAAAD$T**J )DOR+D E E E )<<< 8 8 8  9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9sA$BB B ctd}t|d<tttdkt|dtut t |ddddS)Nrr--r)r rJr rr r8rs rtest_maskedelementz"TestMaskedArray.test_maskedelement5sg 1II!F t#$$$!VAaD!__a(((((rc tdt}d}||d<t|d|t|d|uddl}|j}||d<t|d|udS)Nrrrrrrrr)r3objectr r datetimenow)rrrrYdts rtest_set_element_as_objectz*TestMaskedArray.test_set_element_as_object=s !6 " " " !QqT1!    " " $ $!! rc tjgd}t|gd}t|gd}t|}t|t|t tj|t |dt t|dt|dut |d|dkt |dtut |d |d t |d d |d d t |dd|ddt |dd|ddd |d <d |d <t ||d |dd <d |dd <t ||t|d<t ||t|dd <t ||||dd<t|d<t tt|tgdtgdgd|dd<t tt|tgdtgdgd|dd<t tt|tgdt t|tgdtj d dz}t|d}t ||t ttgdt|jt d|jtgdt"}tjgdt"}|d}|d}t t|tt t|tt ||t |ddjdkdS)N)rrrrrrrrrrFendwithrrrr crrrrrr)rrrrrrrrrrr)rhellorrr)rr'rreprr rqr typerJrr<rKr rUrrr7rXrm)rx1x2x3x4s1s2s r test_indexingzTestMaskedArray.test_indexingJs Xlll # # 2LLL ) ) ) 2LLL ) ) ) 2YY B RRWR[[$r5"9"9"9:::RU tBqE{{*+++1A1   RUBqE"""R!Wb1g&&&RUBqqqE"""RVRV$$$11R1Q31Q3R1R1Q3R1111eLLL&9&9::;;;\\\<<<88111eLLL&9&9::;;;\\\<<<88111eLLL&9&9::;;;U<<<0011222 Yq\\C  2s # #R9927CCDDDS"-((( %%%v . . X(((& 1 1 U UT"XXs###T"XXs###R1Q3 %&&&&&rctjdd}t dddddgf}tjd}tj|jd<|||<tjj|d<tjd tj }tj gd gd  }||d<||gd<dS)N<)rrrrrrr.rr)gCD prrTFFrrrr) rrr rkslice masked_allinfrrJfloat32r')rrindexvalues rtest_setitem_no_warningz'TestMaskedArray.test_setitem_no_warning|s ELL   $ $W - -q!Q!Q(  ((6 C%# ELL2:L . . MMM0D0D0D EE#))) rc gd}t|}t|}t||ut|d}t||utjd}t ||}t |jj|jtt||j t |j j|jt |}t|jj|jjkt|j j|j jkt ||}t|jj|jkt|j j|jkt|dtud|d<t|dtut|j j|jktt|j dt ||d } t| jj|jkt| j j|jkt| dtud| d<t| dtut| j j|jktt| j dt |d z|} tt| j|d zjutd } t| d<t| d } t t!| | g| t t#| gdt%| dd} t | gdt%| dd}t | || dd}t | || dd}t | || }t |j| jt |j | j t)gdgd}t)|}t |jjj |jjj t |j jj |j jj t)|d}t-|jjj |jjj t-|j jj |j jj dS)NrrrrrTrrrrrarrrrr)r+)rrrrrrrr)rrrraxis)rrrrrrrrrr1)rGr rr r'r r__array_interface__rrrrJrr8rrlr*r<rjrrKctypesr)rnrBrm3riy1y1ay2y2ay3rly4y5y6y7y8y9rrs r test_copyzTestMaskedArray.test_copys OO aLL q\\R qt $ $ $  Yq\\ 2A   RX123IJJJRW%%&&&RX113HIIIBii -45 6 6 6 -45 6 6 62B   ,0FFGGG,0FFGGG1   11V#$$$,0FFGGG!$$%%%BQQ''' -1GGHHH -1FFGGGA& !!!AAf$%%% -1FFGGG1%%&&& 28! $ $ $r  R#X$44555 AYY1 B  ["b**B///WR[[":":":;;; B 1 - - -R111222 B " " "R YY|!Y , ,R YYq!__R WWYYRXrx(((RXrx(((  3 3 3 OOQW^(!'.*=>>>QW^(!'.*=>>>  & & &,agn.ABBB,agn.ABBBBBrctjdd}|}t |jddS)N+Tr)rrr'rr r)rrxcs r test_copy_0dzTestMaskedArray.test_copy_0ds> EKKK & & VVXXRWd#####rctttjgdtttjddS)Nr)r rBrrrr s rtest_copy_on_python_builtinsz,TestMaskedArray.test_copy_on_python_builtinssT bejj1122333 bejj112233333rctjgd}tjgd}|j}|jt |gddS)Nrrrr)rrr'rr )rrr a_copy_methods rtest_copy_immutablez#TestMaskedArray.test_copy_immutables^ EKK " " EKK " "  ]]__iii00000rcddlm}tgdgd}||}t|j|jt t |jt |jd|d<t|jgdt|jgd||}t|j|jd |jd<t|jgdt|jgddS) Nr)deepcopyruFTFrrrrrr1F)rrr'r rridr)rrrcopieds r test_deepcopyzTestMaskedArray.test_deepcopys!!!!!! )))"6"6"6 7 7 7!V[!&)))AGb&6&6777q V[))),,,QVYYY'''!V[!&))) AV[))),,,QVYYY'''''rctgdgd}tt|dtttdtttddt t 5ttd}dddn #1swxYwYt|ddS)Nrurr[0 -- 2]rTz >5)r'r formatrJr FutureWarning)rrwith_format_strings r test_formatzTestMaskedArray.test_formats )))"6"6"6 7 7 7VAYY +++VF^^T***VFB''...- ( ( 7 7!'!6!6  7 7 7 7 7 7 7 7 7 7 7 7 7 7 7'.....s B..B25B2ctgdgd}tt|dtt|t jdt jd}t jj |dd<tt|t jd t jd }tt|t jd tgd gd gt j }t jj |d<tt|t jdtt|ddt jdtt| tt jddS)Nrurrrz masked_array(data=[0, --, 2], mask=[False, True, False], fill_value=999999)r2z masked_array(data=[0, --, --, ..., 1997, 1998, 1999], mask=[False, True, True, ..., False, False, False], fill_value=999999)z masked_array(data=[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], mask=False, fill_value=999999)rrrrrz masked_array( data=[[1, 2, 3], [4, --, 6]], mask=[[False, False, False], [False, True, False]], fill_value=999999, dtype=int8)z masked_array(data=[[1, 2, 3]], mask=[[False, False, False]], fill_value=999999, dtype=int8)z masked_array( data=[[1, 2, 3], [4, --, 6]], mask=[[False, False, False], [False, True, False]], fill_value=999999)) r'r rrgtextwrapdedentrrr rJint8rrrrs r test_str_reprzTestMaskedArray.test_str_repr s )))"6"6"6 7 7 7SVVZ((( GG O) * *    ELL  %,!B$ GG O) * *    ELL   GG O) * *    999iii( 8 8 8# GG O     2A2KK O' ( (     #   O$ % % rctj}tjd tgdgd}t t |dt t |dtjd}tjj |d d <t t |d tjd i|dS#tjd i|wxYw) Nz1.13)legacyrurrrzcmasked_array(data = [0 -- 2], mask = [False True False], fill_value = 999999) rrrzmasked_array(data = [0 -- -- ..., 1997 1998 1999], mask = [False True True ..., False False False], fill_value = 999999) r~) rget_printoptionsset_printoptionsr'r rrgrr rJ)roldoptsrs rtest_str_repr_legacyz$TestMaskedArray.test_str_repr_legacyPs%'' 6**** +iii&:&:&:;;;A Q , , , a#B C C C T""AelAadG Q0      * *' * * * * *B  * *' * * * *s B!CC1c d}t|}tj|}tj|d}t |||t ||ddS)NucaféTrrT)rhrrr'r )ruutype arr_nomask arr_maskeds rtest_0d_unicodezTestMaskedArray.test_0d_unicodeest QU[[^^ U[[[.. UU:&&***UU:&&-----rc fttttfD]}t d|}d|_gdddf}tdtj dzD]}|D]}||_ tj tj ||}t|j|jt|j|j|ttfvrt|jdnt|j|dt!|j |ĐdS) Nr) rrrrrrrrrrTFrrprotocol)rrrrXr rr7ranger|HIGHEST_PROTOCOLrloadsdumpsr rrr )rrrmasksprotor a_pickleds r test_picklingzTestMaskedArray.test_picklingos85#v. = =Er !!%((AAL333Eq&"9A"=>> = =! = =D!AF & V\!e-L-L-L M MI !'::: !'::: --$Y%93????$Y%955::FFF&y~t<<<< = = = =rctjddgdtfdtfgtj}t |ddg}td tj d zD]}tj tj || }t|j |j t||tt|jtjdS) N)rr)rrrrrTFFTrrrr)rr'rrviewrecarrayrKrr|rrrr rr isinstancer)rrrrrs rtest_pickling_subbaseclassz*TestMaskedArray.test_pickling_subbaseclasss Hh) %L3*5 7 7 77;tBK7H7H -!? @ @ @1f59:: > >E V\!e%D%D%DEEI !' 2 2 2 A & & & Jy << = = = =  > >rcTtjj}tdtjdzD]x}t jt j||}t|j |j t|j |j t|j |j ydS)Nrrr) rrrJrr|rrrr _baseclassrr)rmcr mc_pickleds rtest_pickling_maskedconstantz,TestMaskedArray.test_pickling_maskedconstants U\1f59:: 5 5Efl2&F&F&FGGJ . > > > )28 4 4 4 )28 4 4 4 4  5 5rc6tddgddgdtfdtfg}tdtjd zD]T}t jt j|| }t|j |j t||UdS) Nrrrrrrrrrrrrrrr) r'rrrr|rrrr r)rrrrs rtest_pickling_wstructuredz)TestMaskedArray.test_pickling_wstructureds 7G$FF+;sc5\2 4 4 41f59:: ' 'E V\!e%D%D%DEEI !' 2 2 2 A & & & & ' 'rctd}d|_|j}tdtjdzD]:}t jt j||}t||;dS)Nr)rrrrr) r rmr>rr|rrrr )rrrrrs rtest_pickling_keepalignmentz+TestMaskedArray.test_pickling_keepalignmentsw 2JJ C1f59:: " "E< Q ? ? ?@@D q ! ! ! ! " "rctgd}tgdgd}t|djdt|djdt|djddS)Nrrrrr~r)r'r rmrs rtest_single_element_subscriptz-TestMaskedArray.test_single_element_subscriptsu )))   )))))) , , ,QqTZ$$$QqTZ$$$QqTZ$$$$$rc jtdttdtdttdtdttdgggtdttdggt t ttddgt 5}|tdttj ttdgdgtgdgdt t fdttdd ttj td dddn #1swxYwYt t tttdd t tfd dS) Nrrz$Warning: converting a masked elementrrrc"tSr)rrsrrz/TestMaskedArray.test_topython..s U1XXrrrrrc.tdSNr)rrsrrz/TestMaskedArray.test_topython..sc!A$iir) r rr'rrr3rfilterrr risnanrrsuprs @r test_topythonzTestMaskedArray.test_topythonsQE!HH &&&S%a//***QEQC5'NN++,,,S%se --...iq!f 666   +C JJ{$J K K K BHU5!A3#7#7#78899 : : :iiiiii000A )%5%5%5%5 6 6 6 qur * * * BHU1Q4[[)) * * * + + + + + + + + + + + + + + + ia(((S2ZZ###g////00000s'CGGGc td}|dd}d|jd<t|ddk|d|zz}t |j|t |jd|zt |t|zjd|z|zd |jd <td}t|d <tt|d ttk|d k}ttt|ttd kttt|tt|j kt||}t|j|jut|d tut|dtut|dtut|d tut|dtut ||dS)Nrrr rry$@rer.rr+rrrra)r rkflatr r realimagr+rJrr.ryrmrVr)rrrcs rtest_oddfeatures_1z"TestMaskedArray.test_oddfeatures_1s 2JJ IIaOOq $2  aKQVQQVR!V$$$a)A,,&,cAgk:::s 2JJ!AaD S[[())) FeAvv..//14555eAvv..//17:;;; A  17"###!!F"###!F"###!!Qrctgd}tgd}t|d<t||| }t|gdt|d<t||| }t|gdt |dtut |dtut |dtudS)Nrrrrrrrrrrrrrrrrr)r'rJryr r rrrrs rtest_oddfeatures_2z"TestMaskedArray.test_oddfeatures_2s &&& ' ' /// " "! !QOOQ---...! !QOOQ---...!!F"###!rctdgd}tdg}|j}||||<t|dgdS)NrTrr)r'rr )ratestbtestidxs rtest_oddfeatures_3z"TestMaskedArray.test_oddfeatures_3sQrd&&&rd j3Zc URD!!!!!rctjdd}t|ddddS)NrOrrr)rrrwr r8rs rtest_filled_with_object_dtypez-TestMaskedArray.test_filled_with_object_dtypesA E  Qc  * *QXXc]]1%s+++++rc tdgdtfddtfg}t|d<t |t jtdtdtdfg|jt|d<t |d t jd g|jdS) Nrrrir|S8frrrrr)r1r) r'rrrJr r8rr/r)rflexis rtest_filled_with_flexible_dtypez/TestMaskedArray.test_filled_with_flexible_dtypesyk!3ZU|DFFFaU\\^^X 21 5 5 23 7 7 22 6 6 9:AFNNN O O OaU\\!__X|nEK@@@ B B B B Brcdtfdtfg}tddg|}|}t t |dt df|d}t t |d d |_t t |d dS) Nrrrrrrrrrr)rrr)rr)rrr_r8r tupler/r7)rndtyperrs rtest_filled_with_mvoidz&TestMaskedArray.test_filled_with_mvoid s*sEl+ ' 7 7 7xxzzU4[[1&8&<&<"=>>>xx!!U4[['***# U188::&& 22222rcdtfddtfdtfgfg}tddgddg| }|d }tjd d g| }t |||dd }tjddg|dj }t ||t jdt jdg}t |j jt jdddgdfgt |j jt jdddgdfgdS)Nr&BBABBrrrrsrrrrrrrr)rrrrrrr)r&z(2,2)i1,(2,2)i1rs)r'i1rs)r(r rsrs)r'?rs)r(r!rs) rr'r8rr rnumpyrrzrr)rrrrcontrolZs rtest_filled_with_nested_dtypez-TestMaskedArray.test_filled_with_nested_dtypes*sdC[4+$>?@ ; ,#[1 A A Axx{{(K5VDDDT7###v}}Q(FF+1S6<@@@T7### HNN1ek+J*KLL M MQV\5;7K*>7@AG1I0J$K$K L L LQV\5;7J*=7?@F1H0I$J$J K K K K Krcttjddgdtjddgdd}t|jdt|d jddS) NrurFrGrNr)rrH F_CONTIGUOUSr)r'rr r?r8rs rtest_filled_with_f_orderz(TestMaskedArray.test_filled_with_f_order-s "(Iy1===xI 6cBBB    '((( !.122222rctgdt}d|jd<|}t |jddd|jd<t |jdddS)Nrr???infoz!!!)r'r_optinforr rrrs rtest_optinfo_propagationz(TestMaskedArray.test_optinfo_propagation5sq +++U + + +" 6 FFHHQZ'///" 6QZ'/////rctgd}d|jd<t|jd|dkjdt|jd|dkjdt|jd|dkjdt|jd|dkjdt|jd|dkjdt|jd|dzjdt|jd|dz jdt|jd|dzjdt|jd|dz jdt|jd|ddjdt|jd|gdjdt|jdtj|jdt|jdtj|jdt|jdt|djdt|jdtj|jddS)N)rrrrr{keyr)rrrTr)r'r-r rr6rr{rs r test_optinfo_forward_propagationz0TestMaskedArray.test_optinfo_forward_propagation>sP )))  # 5QZ&a(9%(@AAAQZ&a(9%(@AAAQZ&Q(8(?@@@QZ&a(9%(@AAAQZ&a(9%(@AAAQZ&Q(8(?@@@QZ&Q(8(?@@@QZ&Q(8(?@@@QZ&Q(8(?@@@QZ&"1"u(=>>>QZ&''' (;E(BCCCQZ&q (:5(ABBBQZ&q (:5(ABBBQZ&ad(;(;(;(DU(KLLLQZ& a(8(8(A%(HIIIIIrcTtjdtfddtfdtfgfg}t ddgddg| }d }t t ||td gd gd gd fdgdgdgdfd}d}t t ||dS)Nrrtr)r)rr)r)r@rrrz[(--, (2, --)) (4, (--, 6.0))]r)rrrrF)TFTFFTint, (2,3)float, floatrrrz)(0, [[--, 0.0, --], [0.0, 0.0, --]], 0.0))rrrrr'r rrK)r fancydtyperr#t_2d0s rtest_fancy_printoptionsz'TestMaskedArray.test_fancy_printoptionsQsXSzC3*sEl1K+LMNN m]3& 4%'''3SYY(((Q(7)9$'%)&+-@-@-@-A-A-A-C%*%,&> ???>SZZ)))))rcdtfdtfg}tjddg|}t |}tjddgddggt}t ||t |j|jtddgdd g| }t |}tddgddggd d gd d ggt }t ||t |j|jt |j|jdtfdd tfdtfgfg}tddgddg| }t |}tgdgdggdgdgt }t ||t |j|jt |j|jdtfdtfg}tjdgdgg|}t |}tjddggddgggt}t ||t |j|jdS)Nrrrrsrrrrrrrrbabb)r)r皙?)r)r皙@rr)rrr?)rrr@r1r)rrrr'r:r rr)rrrrr#s rtest_flatten_structured_arrayz-TestMaskedArray.test_flatten_structured_arrayesi*sEl+ Hff%V 4 4 4'**(RHr2h/u===T7###TZ/// 66"&&)9 H H H'**"bB8, !fq!f-U<<<T7###TZ///TY ---*sdC[4-$@AB =-0#[1 A A A'** 6'ii35BBBT7###TZ///TY ---*sEl+ Hvj6*-V < < <'**(b"XLB8,7uEEET7###TZ/////rcdtfdtfg}tjdg|d}t|}t t |tt dgdg|d}t t |tt ddgddg|}t|jd|jd}t t |tdS) Nrrrrrrrrr) rrr'r_r rrKrr)rrrr s r test_void0dzTestMaskedArray.test_void0ds*sCj) HgYf - - -a 0 !HH 1e$$%%% & ? ? ? B 1e$$%%% &&)0@ O O O !'!*agaj ) ) 1e$$%%%%%rcdtfdtfg}tddgddg|}|d}tt|tt |d|dfd t |dd |d }tt|tt|dt ut|dt ut |d d tdd gfgd dgfgdg}t |dd|ddt |ddtdd gd dgddS)NrrrCrrrrrrrrrTF)r&>i2rr8r&rF)rrKr rr_r rJ)rrrr r&s rtest_mvoid_getitemz"TestMaskedArray.test_mvoid_getitems*sCj) '6*&&1A% ' ' ' aD 1e$$%%%adAcF^V,,,QsVQ aD 1e$$%%%!#& !!!QqT1 1xj!%u /0 23 5 5 5 QqT#Y#q ***QqT#Y 1a&#Um5!:!:!: ; ; ; ; ;rcdtfdtfg}tddgddg|}tt|dd d gtt|d td gdS) NrrrCrrrrrrrr)rrKr rrJ)rrrs rtest_mvoid_iterzTestMaskedArray.test_mvoid_iters}*sCj) '6*&&1A% ' ' ' T!A$ZZ!Q(((T!A$ZZ&!-----rcJtddgdtfdtfg}tt|ddt|dd<t j}t jd tt|dd tt|dd t j|n#t j|wxYwtd d gd g}tt|dd dS)Nrrsrrrrz(1, 1)z-X-z(1, -X-)rrG)rrz(1,)) r'rr rrJrT_display set_displayrg)rmx ini_displays rtest_mvoid_printz TestMaskedArray.test_mvoid_prints FF#S#Jc +C D D DSAZZ***3 )2 '... 9 RUZ 0 0 0 bej 1 1 1  +K 8 8 8 8  +K 8 8 8 8D$< | 4 4 4SAZZ(((((s 8ACC)c4tgdfggdfggdfdg}tt|ddktt|ddktdd gd d ggfgd d gd d ggfgdg}tt|ddktt|ddktdgdgddg}tt|ddktt|ddktdd gd d ggdfgd d gd d ggd fgddtfg}tt|ddktt|ddktdgdgddg}tt|ddktt|ddkdS)Nrr)?BrSrS)r%9%9%9$;#<*B*B*B)D%7$8::: DG /000T!W 0111q!fqe_$6#7',dmdE]%C$E#F%8$9;;; DG 77888T!W !88999E7$0>%1<$@BBB DG )***T!W *+++q!fqe_a$8#9',dmdE]%CU$K#L%83,$GIII DG ;;<<<T!W !<<===+"7!8%1>$BDDD DG /000T!W 011111rctdgdg}tddg}t||gddgt}t|d|ut|d|uttj|dj|jkttj|djd |djd<t|dd kdS) NrTrrFrrrr)rKrXr rrrr)rmx1mx2rOs rtest_object_with_arrayz&TestMaskedArray.test_object_with_arraysB4tf---B8$$ 3*E4= G G G1 1S !!!r!uzSX-..///r!uz""###1 1 A" rN)>rrrrrrrrrrrrrrr rr$r/r4r:rDrIrRrUr\ror| suppress_copy_mask_on_assignmentrrrrrrrrrrrrrrrrrrrrr rr%r)r/r2r;rArDrHrJrQrZr^r~rrrrDs 8 8 8 $ $ $ 3 3 3"""$   (III@@@*)))+++///555, ) ) ) % % %FFF( 333222******999)))   0'0'0'd$&FCFC&%FCP$$$ 444 111(((" / / /D D D L+++*...===, > > >555'''"""%%%111(8    &""&%",,, B B B 3 3 3KKK(333000JJJ&***(!0!0!0F & & &;;;2...)))""2"2"2H     rrc eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#e$j%&d"d#d$ge$j%&d%d&d'gd(Z'e$j%&d"d#d$ge$j%&d%d&d'gd)Z(e$j%&d*e)e*+e$j%&d,e)e*+e$j%&d%d&d-gd.Z+e$j%&d*e)e*+e$j%&d,e)e*+e$j%&d%d&d-gd/Z,e$j%&d*e)e*+e$j%&d,e)e*+e$j%&d%d&d-ge$j%&d0e-j.e-j/e-j0e-j1gd1Z2e$j%&d0e-j.e-j/e-j0e-j1ge$j%&d%d&d2gd3Z3d4Z4d5Z5d6Z6d7Z7d&S)8TestMaskedArrayArithmeticctjddddtdz dddddddg }tjgd }d}gd }gd }t|| }t|| }tjgd }t|gd } tj|d|} |d||||||||| | f |_tj|_tj dddS)NrrrrrrrrrrrrrrrrKr1rM) rr'rrKryrrgeterr err_statusseterrrs rrz&TestMaskedArrayArithmetic.setup_methods Hb"b#r#vr2tS"b"M N N HJJJ K K 1 1 1 1 1 1 !" % % % !" % % % H&&& ' ' !,,, / / / Xb% # # %   QRRQB7)++ 8444444rc2tjdi|jdSNr~rrfrer s rteardown_methodz)TestMaskedArrayArithmetic.teardown_method  $$DO$$$$$rc X|j\ }}}}}}}}} } tddgddgg} t| ddgddgg} t| | z| | zt| | z| | zt| | z | | z dD]} || }|| }|| }|| }| | } t| | t||z||zt||z ||z t||z||zt||z ||z t||z||zt||z ||z t||z||zt||z ||z t||z||zt||z ||z t||z||zt||z ||z t|dz|dztt |dzt |dzt||z||ztt j||t||tt j||t||tt j ||t||tt j ||t||dS)Nrrrr))rr)rr@) rr'rKr rkrrrrsr^r1)rrrrrrrrrrra2da2dmrs rtest_basic_arithmeticz/TestMaskedArrayArithmetic.test_basic_arithmetics15.AsBBAr2aVaV$%%C1a&1a&!122S3Yd +++S3Yd +++S3Yd +++( : :A ! A ! AABABAB !bS ! ! ! QR ( ( ( QR ( ( ( QR ( ( ( QR ( ( ( q#( + + + q#( + + + q#( + + + q#( + + + S"s( + + + S"s( + + + S"s( + + + S"s( + + + aq ) ) ) Q3B3 7 7 7 ar * * * 1s2r{{ 3 3 3 Q**HR,<,< = = = Q**HR,<,< = = = 1a&R.. 9 9 9 93 : :rctdt}d|_tdt}||z }t|gdgdgt|jgdgdg||dddfz }t|gdgdgt|jgdgdgtdt}||dddfz }t|gd gd gt|jgd gd gdS) Nrrrrr)rrr)rrrmrr)rrr)rrrrr)r rrmr rrrrrs rtest_divide_on_different_shapesz9TestMaskedArrayArithmetic.test_divide_on_different_shapes5s, 1E " " " 1E " " " EQ7888QViii3444 $qqq& MQ7888QViii3444 1E " " " !!!T' NQ,,,7888QViii344444rctjdg}tdg}tt||zttt||ztdSNr)rr'r rr)rnars rtest_mixed_arithmeticz/TestMaskedArrayArithmetic.test_mixed_arithmeticGs\ Xqc]] A3ZZ 27K00111 27K0011111rctjtj}t |d|z dg}t t |dz gdt t d|z gddS)Nrrrrr)rfinfortinyr'r r=)rr{rs rtest_limits_arithmeticz0TestMaskedArrayArithmetic.test_limits_arithmeticNspx# 4dB' ( (\!a%(()))444\!a%(()))44444rcPtdd}tdtdz jtd|zjt| jtt||jtt ||jdS)Nrrr)r'r rrXr[)rrs r test_masked_singleton_arithmeticz:TestMaskedArrayArithmetic.test_masked_singleton_arithmeticTs11   U1XX#$$$R " B$%%%B$%%%%%rctgdgd}t|ddktut|ddktut|ddkdt|ddkddS)NrrrrrrrFT)r'r rJr rs rtest_masked_singleton_equalityz8TestMaskedArrayArithmetic.test_masked_singleton_equality^s )))))) , , ,1v%&&&1v%&&&aeqj5)))aeqj4(((((rc`tddg}|tz}t|j|jt|jddg|dtz}t |tu|tz}t|j|jt|jddgdS)NrrTr)rKrJr rmrr r.s r%test_arithmetic_with_masked_singletonz?TestMaskedArrayArithmetic.test_arithmetic_with_masked_singletonfs !Q  JQWag&&&QWtTl+++ aD6MV  JQWag&&&QWtTl+++++rctdg}|tz}t|j|jt|jdgdS)NrT)rKrJr rmrr.s r5test_arithmetic_with_masked_singleton_on_1d_singletonzOTestMaskedArrayArithmetic.test_arithmetic_with_masked_singleton_on_1d_singletonrsH !   JQWag&&&QVdX&&&&&rctdd}t|jj|jjtddz }t|jdt|jddgdS)NrrrrrGr)r'r r8rrrmr)rrrs rtest_scalar_arithmeticz0TestMaskedArrayArithmetic.test_scalar_arithmeticyst !!   QXXZZ&+QX];;; 6]]R RXt$$$RWq!f%%%%%rc  |j\ }}}}}}}}} } ttj|t|ttj|t |ttj|t |ttj|t |ttj|t|ttj|t|ttj t|t|ttj t|t|ttj t|t|ttj |t|ttj|t| ttj|t| ttj|t!| ttj||t#||ttj|t%|ttj|d|zzt'|d|zzttj|d|zzdt'|d|zzdttj||t)||ttj||t+||ttj||t-||ttj||t/||ttj||t1||ttj||t3||ttj|t5|dS)N?T)deg)rr rr,r-rnrorvrwrrrrErFr6r$r!r%r#rrr5rarCr>rDr?r+rs rtest_basic_ufuncsz+TestMaskedArrayArithmetic.test_basic_ufuncssg15.AsBBAr2RVAYYB(((RWQZZb***RVAYYB(((RWQZZb***RVAYYB(((RWQZZb***RWSVV__d2hh///RVCFF^^SWW---RXc!ff%%uRyy111RVAYYB(((RYq\\6"::...RYq\\6"::...RYq\\6"::...RZ1%%wr2777R[^^Xb\\222RXa"Q$h''rBrEz):):;;;RXa"Q$hD1115be3N3N3NOOORXa^^U2r]]333R\!Q''2r):):;;;RWQ]]DRLL111RZ1%%wr2777R]1a((*R*<*<===R%a++]2r-B-BCCCR\!__imm44444rctdtdtdtddgtgdgd}t|}t|jjt jutd||d}t|}t|jjt jutd|t|d}tt|ttddg|tt|tutgd}t|d}tt|tt|jjt jutt j|jd dS) Nrrr)rrrrrrrsrr)r r.r'r rrhrintprkrr r<r`r AxisError)rottr"s rtest_count_funcz)TestMaskedArrayArithmetic.test_count_funcsQa!!!Qaqc***+++$$$<<<888Cjj "')***Qkk&!!Cjj "')***QCmm 3(()))aVS!!! &'''$$$%%Cmm 3(())) "')***blCIA666666rc~tdtgdtdtddS)NrrrrC)r r.r s rtest_count_on_python_builtinsz7TestMaskedArrayArithmetic.test_count_on_python_builtinss8Qggg'''Qe %%%%%rc H|j\ }}}}}}}}} } tj|} t|} tt | t j| tt| tj| ttgdgdgdtt gdgdgdtd}tddz }t|d<t|d<tt||tt||||tt ||tt||||ttj|dktt j|d ktd dd}t|d <tt j|d ddS) Nr)rrrarrr)rrrarrrrrrr)rrrir rWrXrrZr[r rJryrCr>r rk) rrrrrrrrrrrxrxmrs rtest_minmax_funcz*TestMaskedArrayArithmetic.test_minmax_funcs15.AsBBAr2 Xa[[BiiSWWgnS11222SWWgnS11222WYYY 22III>>>WYYY 22III>>> 1II 1IIM!!WQ]]E$q!**a$;$;<<<WQ]]E'!Q--A$>$>???q!!Q&'''q!!Q&''' 1II  a # #& W^AD111155555rctjd}t||}tt |t t |tj||tj||}tt |t t |tj||t||}tt |t t |tj||tj||}tt |t t |tj||dS)Nrs) rrbr[r rrr rdrX)rraminimumamaximums rtest_minimummaximum_funcz2TestMaskedArrayArithmetic.test_minimummaximum_funcs- GFOO1a== 8[11222Xrz!Q//000=A&& 8[11222Xrz//1556661a== 8[11222Xrz!Q//000=A&& 8[11222Xrz//15566666rctgdgd}tj|}t |ddS)Nrrrr)r'rrXrr rs rtest_minmax_reducez,TestMaskedArrayArithmetic.test_minmax_reducesJ )))"7"7"7 8 8 8 J  a Qrctjd}t tjddd|}d|_dD]}tt|}ttj j |}tj dt} ||d| }n#t$rYnwxYwtj dt}||d| }t||u|d ||d| }t||udS) NrrrrrrZrWrrroutr)rrrroundr'uniformrmgetattrr"rcorer3rrrr fill)rrrfuncnamenpfuncmafuncnoutresults rtest_minmax_funcs_with_outputz7TestMaskedArrayArithmetic.test_minmax_funcs_with_outputsPy~~b!!'')) 29$$QB//d ; ; ;& $ $HR**FUX]H55F8D,,,D 555    8D...DVBQD111F FdN # # # IIdOOOVBQD111F FdN # # # #! $ $s=C  CCc n|j\ }}}}}}}}}}|jf|_t|dt |dt ut |ddt ut |ddt ut|dt |dt ut |ddt ut |ddt ut|dt |dt ut |ddt ut |ddt utgdd}t |t ut |t ut |t udS) Nrrrr4@rTr) rrrmr rWr rJrZptpr')r_rrs rtest_minmax_methodsz-TestMaskedArrayArithmetic.test_minmax_methodss*.&'Aq!QAq!QG:RVVXXr"""1 v%&&&1 ! &'''1 " '(((RVVXXt$$$1 v%&&&1 ! &'''1 " '(((RVVXXs###1 v%&&&1 ! &'''1 " '((( )))$ ' ' '6!"""6!"""6!"""""rcHtjddddtdz dddddddg }d}d}gd }t|| }|d tjtjtjtjtj tj tj g}|D]x}tt|||  ||tt||| ||yt||t| ||dd D]x}tt|||  ||tt||| ||y|ddD]}tgdgd| }t||dt| |dttjdztjdztj dz ggd| } t| |tj dz t| |tjdztjdtjtjj zz } t| dgddg  | ksJt| dgddg | ksJdS)Nrrrrrrrrrrrrr)@xD?y@xD@xDr1rry@y@rrr)rr'rrKrhalfsingledouble longdoublecfloatcdouble clongdoubler rWrZrxrzfloat64) rrran10rr float_dtypes float_dtyperrcmaxs rtest_minmax_dtypesz,TestMaskedArrayArithmetic.test_minmax_dtypess Hb"b#r#vr2tS"b"M N N 1 1 1 !" % % % %   BI ry"*bnN ' , ,K ab DDDHHJJ$S)) + + + ab DDDHHJJ$T** , , , , RVVXXt$$$RVVXXs###(+ , ,K ab DDDHHJJ$S)) + + + ab DDDHHJJ$T** , , , ,(, F FK999 +---B ;;w#7#7 8 8 8 ;;w#7#7 8 8 8rvby"&)bfWRZ@yyy$/111B ;;wrz#:#: ; ; ; ;;rvby#9#9 : : :6B"*!5!5!999D$ !Q888<<>>4%GGGGq A777;;==EEEEE F Frc |j\ }}}}}}}}} } ttj|tj|ttj|tj|tdt tddtdt tddttj|dt |dttjt|ddt |dttj|dt |dttj |dt|dttj |dt|dttj t|ddt|dd} | x|_ x|_ x|_ |_ t| dkrttj ||fdt||fdttj|dtj|dttj|dt |dttj |dt|ddSdS)Nrrrrr)rr rrr accumulatertr'r8prodrfrmrr*rs rtest_addsumprodz)TestMaskedArrayArithmetic.test_addsumprodCs15.AsBBAr2RV]]1%%sz!}}555RV&&q))3>!+<+<===QE!HH1---...QE!HH1---...RVAA&&&AA777RVF2qMM222COOODDDRVAq\\3q!99---RWQQ''');););<<<RWQ]]GAqMM222RWVB]]333WRa5H5H5HIII 2333!'3BHrx q66A:: A22KR!4L4L M M M q!,,cjA.>.> ? ? ? 1s1ayy 1 1 1 A1 6 6 6 6 6 :rc@tdgdgdggdgdgdgg}tddgddgd d gg}||z}tddgddgddggd d gd d gd d gg}t||t|j|jt|j|j||z}tddgddgd d ggd d gd d gd d gg}t||t|j|jt|j|jtdgdgdgg}tddgddgd d ggd d gd d gd d gg}||z}td dgddgddggd d gd d gd d gg}t||t|j|jt|j|j||z}td dgddgddggd d gd d gd d gg}t||t|j|jt|j|jdS)NrrrFTrrrr5@rrrrr+rrrr'r rrrrrrr#s rtest_binops_d2Dz)TestMaskedArrayArithmetic.test_binops_d2DXs B4"t$UGdVdV+D E E E B8b"XBx0 1 11u"bB8b"X6 !fq!fq!f5777T7###TY ---TY ---1u"bB8b"X6 !fq!fq!f5777T7###TY ---TY --- B4"t$ % % B8b"XBx0AAA/ 1 1 11u!Q!R2q'2 !fq!fq!f5777T7###TY ---TY ---1u!Q!R2q'2 !fq!fq!f5777T7###TY ---TY -----rc@tdgdgdggdgdgdgg}tddgddgd d gg}||z }td d gddgddggd d gddgddgg}t||t|j|jt|j|j||z }tddgddgd d ggd d gddgddgg}t||t|j|jt|j|jtdgdgdgg}tddgddgd d ggd d gd d gd dgg}||z }td d gd dgd dggd d gd d gd dgg}t||t|j|jt|j|j||z }tddgddgddggd d gd d gd dgg}t||t|j|jt|j|jdS)NrrrFTrrrr5rrgUUUUUU?rrg?rrmrrrrs rtest_domained_binops_d2Dz2TestMaskedArrayArithmetic.test_domained_binops_d2D|s B4"t$UGdVdV+D E E E B8b"XBx0 1 11u'7+b"XBx@ !fq!fq!f5777T7###TY ---TY ---1u'7+b"XBx@ !fq!fq!f5777T7###TY ---TY --- B4"t$ % % B8b"XBx0AAA/ 1 1 11u&&)FF+;fa[I !fq!fq!f5777T7###TY ---TY ---1u&&)FF+;fa[I !fq!fq!f5777T7###TY ---TY -----rctgdgdd}|dz}t|jgd|dz }t|jgd|dz }t|jgd|dz}t|jgddS)NrrrrFrshrinkrrrrKr rrs rtest_noshrinkingz*TestMaskedArrayArithmetic.test_noshrinkings ,A,A,A % ' ' ' EQVYYY''' QQVYYY''' FQVYYY''' RQVYYY'''''rctjdg}ttj|djjddS)Nrrr~)rrr'r true_dividerrmrrBs rtest_ufunc_nomaskz+TestMaskedArrayArithmetic.test_ufunc_nomasks? EKK  R^Aq)).4b99999rc|tjgddd}t|jgddS)N)rrm@?Frr)rrrUr rrs rtest_noshink_on_creationz2TestMaskedArrayArithmetic.test_noshink_on_creations> E  E  B BQVYYY'''''rc &|j\ }}}}}}}}} } tt||t||t||} t| tj||t| jt |j|jt||} t| tj||t| jt t |j|j|dkdSr)rr r]rrrI) rrrrrrrrrrrrs rtest_modz"TestMaskedArrayArithmetic.test_mods15.AsBBAr2SAYYB ,,,2r{{T26"b>>***TY 9 9:::2r{{T26"b>>***TY(A(AB!G M MNNNNNrc td}tjd}t|dd<|ddd}|ddd}t tj|dt |dt tj|ddt |ddt tjt|d t|d t||t tj t|d t|d t||tgd t}t|d<t |gd }t|d d kt|ddkt|ddkdS) Nrrrrrrrrrrr)abcrdefrr)rrrr) r rrJrkr rxrurAr8rdr'rXr )rrrr4s rtest_TakeTransposeInnerOuterz6TestMaskedArrayArithmetic.test_TakeTransposeInnerOuters 2JJ IbMM!A# IIaA   IIaA  R\!Y//1i1H1HIIIRWQ 1--tAy!/D/DEEERXfQllF1aLL991a[[ " " "RXfQllF1aLL991a[[ " " " )))6 2 2! III  ! ! ! rctddgddg}t|jddgt|jddgt|jj|jjjt|jdd gt|jdd gt|jj|jjjdS) Ny?$@y4@@rrrrrrr)r'r rr8rrr)rrs rtest_imag_realz(TestMaskedArrayArithmetic.test_imag_reals GW%QF 3 3 3RWr1g&&&RW^^%%qz222RW]BHM$7888RWq"g&&&RW^^%%r{333RW]BHM$788888rcttjddddd}t x|dddf<x|d<|d<d}|D]}t t|}t ||}tjdt}| d ||d| }t||ut||d| tdt}|d| }t||ut|dt udS) Nrrrrrr)rtrvarstdrWrZrmeanrr6r r'rrrrkrJrr3rrr r r)rrfunclistrrxmmethoutputrs rtest_methods_with_outputz2TestMaskedArrayArithmetic.test_methods_with_outputsS 29$$QB// 0 0 8 8A > >(..111a4.2a52f:N  ) )HR**FR**FXau---F KK   VBQF333F Ff$ % % % QF!;!;!; < < <1C(((FV///F Ff$ % % % F1I' ( ( ( ( ) )rcdtfdtfg}tddgddg|}||k}t|jddgt|jd d gt |jdk||d k}t|jdd gt|jd d gt |jdktddgd dg|}||k}t|jd dgt|jdd gt |jdk|d |k}t|jd d gt|jdd gt |jdktddgdd g|}||k}t|jddgt|jd d gt |jdkdtfdd tfd tfgfg}tddgddggddgddgg|}|d|k}t|jdd gd d ggt|jd d gd dggt |jdkdS)Nr&rrrsrrrTFrrrrrrrrrrrrrrrrrr'r rrr r7rrrrrs rtest_eq_on_structuredz/TestMaskedArrayArithmetic.test_eq_on_structureds*sCj) 66"&&)9 H H HQTYt ---TY///4'(((QqT TYu ...TY///4'((( 66"&&)9 H H HQTY ...TYu ...4'(((! TY///TYu ...4'((( 66"&&)9 H H HQTYt ---TY///4'(((*sdC[4+$>?@ K--/$k2$k24;A C C C$1 TY$ ?@@@TY%% ?@@@4'(((((rcdtfdtfg}tddgddg|}||k}t|jddgt|jddgt |jd k||d k}t|jdd gt|jddgt |jd ktddgd dg|}||k}t|jd dgt|jd dgt |jd k|d |k}t|jd d gt|jd dgt |jd ktddgdd g|}||k}t|jddgt|jddgt |jd kdtfdd tfd tfgfg}tddgddggddgddgg|}|d|k}t|jdd gd d ggt|jddgdd ggt |jd kdS)Nr&rrrsrrrFTrrrrrrrrrrrrrs rtest_ne_on_structuredz/TestMaskedArrayArithmetic.test_ne_on_structured&s*sCj) 66"&&)9 H H HQTY///TY///4'(((QqT TY ...TY///4'((( 66"&&)9 H H HQTYu ...TYu ...4'(((! TYt ---TYu ...4'((( 66"&&)9 H H HQTY///TY///4'(((*sdC[4+$>?@ K--/$k2$k24;A C C C$1 TY%t =>>>TY%% ?@@@4'(((((rc 8 tjd}tdd|tdd|tdd|tdd|fD]; t}|d}tjd| td| tdd|td d|fD] t}|d}||k}t k|t k|t| k|t |k|t||k| fd |jD}tt |t |||k }t k|t k|t| k|t |k|t||k| fd |jD}tt |t  |=dS) NrUrCrrrrr2i4rrrc4g|]}||kSr~r~rnamerrs rrzITestMaskedArrayArithmetic.test_eq_ne_structured_extra..h&FFFTBtH40FFFrc4g|]}||kSr~r~rs rrzITestMaskedArrayArithmetic.test_eq_ne_structured_extra..prr) rrr_rrr'rr r,rr) rr[ma1r1ma2r2 eq_expectedel_by_el ne_expectedrrs @@rtest_eq_ne_structured_extraz5TestMaskedArrayArithmetic.test_eq_ne_structured_extraQsXg  fB777fB777fB777fB7779 M MB''+&&C%Bxb111V2...V&;;;V&;;;= M Mggk**XXe__!Rxnn.. R2X{333R2X{333SBY 444R3Y 444SCZ555FFFFFRXFFFU84888<<>> LLL!Rxnn.. R2X{333R2X{333SBY 444R3Y 444SCZ555FFFFFRXFFFU84888<<>> LLLL- M  M Mrr[SUrNr&c~tddg|ddg|}||k}t|jddgt|jddgt |jdk||dk}t|jddgt|jddgt |jdktddg|ddg|}||k}t|jddgt|jddgt |jdk|d|k}t|jddgt|jddgt |jdk||dk}t|jddgt|jddgt |jdkdS)Nrrrrrrr7TFr'r rrr r7rr[rrrrs rtest_eq_for_stringsz-TestMaskedArrayArithmetic.test_eq_for_stringsss 3*BaV E E EQTYt ---TY ...4'(((QqT TYu ...TY ...4'((( 3*BaV E E EQTY///TYt ---4'(((! TY///TYu ...4'(((QqT TY///TYu ...4'(((((rc~tddg|ddg|}||k}t|jddgt|jddgt |jdk||dk}t|jddgt|jddgt |jdktddg|ddg|}||k}t|jddgt|jddgt |jdk|d|k}t|jddgt|jddgt |jdk||dk}t|jddgt|jddgt |jdkdS)NrrrrrFTrrs rtest_ne_for_stringsz-TestMaskedArrayArithmetic.test_ne_for_stringss 3*BaV E E EQTY///TY ...4'(((QqT TY ...TY ...4'((( 3*BaV E E EQTYt ---TYt ---4'(((! TYt ---TYu ...4'(((QqT TYt ---TYu ...4'(((((rdt1idsdt2rc~tddg|ddg|}||k}t|jddgt|jddgt |jdk||dk}t|jddgt|jddgt |jdktddg|ddg|}||k}t|jddgt|jddgt |jdk|d|k}t|jddgt|jddgt |jdk||dk}t|jddgt|jddgt |jdkdS)NrrrTFrrrrrrrrs rtest_eq_for_numericz-TestMaskedArrayArithmetic.test_eq_for_numerics 1a&1a&T B B BQTYt ---TY ...4'(((QqT TYu ...TY ...4'((( 1a&1a&T B B BQTY///TYt ---4'(((! TY///TYu ...4'(((QqT TY///TYu ...4'(((((rc~tddg|ddg|}||k}t|jddgt|jddgt |jdk||dk}t|jddgt|jddgt |jdktddg|ddg|}||k}t|jddgt|jddgt |jdk|d|k}t|jddgt|jddgt |jdk||dk}t|jddgt|jddgt |jdkdSNrrrFTrrs rtest_ne_for_numericz-TestMaskedArrayArithmetic.test_ne_for_numerics 1a&1a&T B B BQTY///TY ...4'(((QqT TY ...TY ...4'((( 1a&1a&T B B BQTYt ---TYt ---4'(((! TYt ---TYu ...4'(((QqT TYt ---TYu ...4'(((((ropctddg|ddg|}|||}t|j||j|jt|jddgt |jdk|||d}t|j||j|jdt|jddgt |jdktddg|ddg|}|||}t|j||j|jt|jddgt |jdk||d|}t|j||jd|jt|jddgt |jdk|||d}t|j||j|jdt|jddgt |jdkdSr)r'r rrrr r7)rrrrrrrrs rtest_comparisons_for_numericz6TestMaskedArrayArithmetic.test_comparisons_for_numerics* 1a&1a&T B B Br!QxxTY17AG 4 4555TY ...4'(((r!QqT{{TY17AGAJ 7 7888TY ...4'((( 1a&1a&T B B Br!QxxTY17AG 4 4555TYt ---4'(((r!A${{TY171:qw 7 7888TYu ...4'(((r!QqT{{TY17AGAJ 7 7888TYu ...4'(((((rzN/Actgdgd|}tgdgd|}t|||j||j|jdS)N)rrcder1)rr7)r#rr)rKr r)rrrrrs rtest_comparisons_stringsz2TestMaskedArrayArithmetic.test_comparisons_stringssu,,,999NNN,,,999NNNRRS\\'CIsy)A)ABBBBBrc t5}|tdtddgddg}t |dktddgddgt |jdkddgt |dktddgddgtddgd}t |dkddgt |dkddgtddgd}t |dktddgdt |dktddgdt }t |dkt ddddS#1swxYwYdS)NzComparison to `None`rrrTFr)rrrr'r rrJrs rtest_eq_with_Nonez+TestMaskedArrayArithmetic.test_eq_with_None#s  ,C JJ}&< = = =tQiq!f---A dE4-q!f$E$E$E F F F 4$ 7 7 7 dE5$-q!f$E$E$E F F FtQie,,,A dT5M 2 2 2 dUDM 2 2 2tQid+++A dE5$-d$C$C$C D D D dE4-d$C$C$C D D DA dF + + +! , , , , , , , , , , , , , , , , , ,sEE22E69E6ctd}t|dkdt|dkdt|dkdt|dkdtdd}t|dktt|dktt|dktt|dktdS)NrTrFr)r'r rJrs rtest_eq_with_scalarz-TestMaskedArrayArithmetic.test_eq_with_scalar<s !HHQ!VT"""Q!VU###Q!VU###Q!VT""" !$   Q!VV$$$Q!VV$$$Q!VV$$$Q!VV$$$$$rc tddgddg}tddgddggtjddgddggfD]>}||k}t|jddgddggt|jddgddgg?dS)NrrrrFT)r'rr rr)rrrrs rtest_eq_different_dimensionsz6TestMaskedArrayArithmetic.test_eq_different_dimensionsHs Aq6A ' ' '1a&1a&)**8aVaV,--/ 5 5B"HD eU^&*E]%4 5 5 5 eT]&+T]%4 5 5 5 5  5 5rctgdgd}ttjtjdtjddggd}t|}t ||t |j|jt |jgdtj|}t ||t |j|jt |jgddS)Nrrrrrrrrrrrrrrr)rKrrPrEr r)rrr#rs rtest_numpyarithmeticz.TestMaskedArrayArithmetic.test_numpyarithmeticSs ))) @ @ @26!99bA$3OO5551vvT7###TY ---QV___---vayyT7###TY ---QV___-----r)8rrrrrjrprtrxr|r~rrrrrrrrrrrrrrrrrrrrrrrrrr rmark parametrizerrnum_dtsnum_idsrroperatorleltgegtr!r$r&r(r*r.r~rrraras555"%%%!:!:!:F555$222555 &&&))) , , ,'''&&&55587772&&& 6662777$ $$$.###,(F(F(FT777*".".".H".".".H((("::: ((( O O O(999))),))))))V))))))V M M MD [TC:.. [VdC[11))21/.)< [TC:.. [VdC[11))21/.)< [UG99 [UG99 [VdAY//))0/:9:9)< [UG99 [UG99 [VdAY//))0/:9:9)< [UG99 [UG99 [VdAY// [T [(+x{HK @BB))BB0/:9:9 )< [T [(+x{HK @BB [VdE]33CC43BBC,,,2 % % % 5 5 5.....rrac>eZdZdZdZdZdZdZdZdZ dZ d S) TestMaskedArrayAttributesctgdgd}t|}t|j|jt|gdd}t|jgdt|gdd}t|jgdt|gd}t|jgddS) Nrrrr1F)r keep_maskTrrrrrOs r test_keepmaskz'TestMaskedArrayAttributes.test_keepmaskfs  3 3 3 !__RWaf%%% !)))u = = =RWiii((( !)))t < < <RWiii((( !))) , , ,RWiii(((((rcDtd}gd}t|}t||d}t||dd}ddg|d d g<ddg|d d g<t|jgd t|jgd t|jgd t |jt |j gd|d d <gd|d d <t|jgdt|jgdt|jtt|d<t|d<t|jgdt|jgdd |dd<d |dd<t|jgdt|jgdt|jgdt|jt| td|dd<t|jgdt|jt| t||dk<t|jgdt|j gdd|t|d kd<t|jgdt|j gdtd dgdd ggd dgddggd}d|d<t|jd dgdd ggt|j d dgddggd|d<t|jd dgddggt|j d dgddggd|t|dkd<t|jd dgddggt|j d dgddggdS)NrrrrrrTr hard_maskFrrArr(rr)rrrrr)rrrrrCrdrr)rrrrr)rrrrErCr)rrrrrr )rrrrr)rrrrrr rr)rrrrrrr)r rGr'r rrr r8r`rJ soften_mask harden_maskrr8)rrrrBxhxss r test_hardmaskz'TestMaskedArrayAttributes.test_hardmaskss 1II OO aLL 11 - - - 11D 9 9 9"XAq6 "XAq6 RX///000RX000111RWooo... BL !!!,,1Q3,,1Q3RX000111RX222333RWf%%%11RWooo...RWooo...111111RX///RX///RWooo...RWf%%% q 111RX///RWf%%% 26 RX///RX///$%6"q&% !RX///RX/// QFQF#Aq6Aq6*:d K K K1RXAA/000RXAA/0006 RXAA/000RXAA/000$%6"q&% !RXAA/000RXAA/00000rctd}gd}t|}t||d}d|dd<d|dd<t|jgd dS) Nrr?Tr@rrrr)rrrrr)r rGr'r rrrrrBrHs rtest_hardmask_againz-TestMaskedArrayAttributes.test_hardmask_againsn 1II OO aLL 11 - - -1Q31Q3RX00011111rctgdgd}|}t||d|d<t||t|tgdgd|}d|d<t||t|tgdgddS)Nrrrrrrrr)r'rGr rFrs rtest_hardmask_oncemore_yayz4TestMaskedArrayAttributes.test_hardmask_oncemore_yays )))))) , , , MMOOQ!QQiiiiii888999 MMOO!QQiiiiii88899999rctd}t|d<d|d<t|jttd}d|_t|d<d|d<t|jt ddS)NrrF)r rJr rr` _smallmaskrzrs rtest_smallmaskz(TestMaskedArrayAttributes.test_smallmaskss 2JJ!!QWf%%% 2JJ !!QWeBii(((((rctgdgd}|}t||t|jtt jdgdtfdtfg}| }|t|j|jdS)Nrrrrrr) r' shrink_maskr rr`rrrrrrs rtest_shrink_maskz*TestMaskedArrayAttributes.test_shrink_masks )))))) , , , MMOOQQVV$$$ EKK c3Z#u$> ? ? FFHH QVQV$$$$$rcTtgdgdgdtfdtfdg}t|dd<t|dd<t|d d <t|d <|j}t |d |d t |d|dt |d|d t |dd|d t |d|dt |d|dt |d|dt |dd|dt |d|d d }d }|D]7}t ||||f|dz }||jdkrd }|dz }8dS)N))rr?one)rr@two)rffffff @thr))r皙@fou)r@fiv)rgffffff@sixrrrr rrrr)rrrrrrrrrrrrCr)r'rrrJrr rm)rrxflatrjrs r test_flatz#TestMaskedArrayAttributes.test_flats FFFFFFHsc5\<@ B B B#t #t #t & U1Xqw'''U1Xqw'''U1Xqw'''U2A2Y!%%%U1Xqw'''U1Xqw'''U1Xqw'''U122Y!%%%U2Y& ***    B Qq!tW % % % FAAGBKQ   rctjddtj}tjd|_t |t |jtjdfd}tt| dtjj }t |jtjdtjddtj}tjd|_t |jtjdt |j tjj dS)Nrzf4,i4rf4cxtj}tjd|_dS)Nf8)rrr'r)rBrs rassignz;TestMaskedArrayAttributes.test_assign_dtype..assigns' AAhtnnAGGGr)rrh) rrzrr'rrgr rrrrrr`)rrBrirrs @rtest_assign_dtypez+TestMaskedArrayAttributes.test_assign_dtypes+ HQg & & & EKKNN(4.. QQWbhtnn--- % % % % % j&))) FFBE$5F 6 6QWbhtnn--- HQd # # # EKKNN(7##QWbhw//000QWbel+++++rN) rrrr=rJrMrPrSrVrdrjr~rrr9r9ds ) ) )515151n222 : : : ) ) ) % % %<,,,,,rr9czeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdS)TestFillingValuesctjjj}|dt}t |d|dt}t |t d|dd}t |d|dd}t |t dtt|dttt|dtdS)Nr|S30scamelot!rstuff) rrr_check_fill_valuerr r/rr3)rrqfvals rtest_check_on_scalarz&TestFillingValues.test_check_on_scalarsEJ8  C((T1  s++T-a00111  E**T4     u--T-k::;;;i!2E3???i!2GSAAAAArc rtjjj}dtfdt fdg}|gd|}t t|tt| gd|d|}t t|tt| tdtdttdgtj d| }|||}t t|tt| gdtj dd tfd t fd g }|||}t t|tt| gdtjd t}d|d<||t}t t|tt| gddtfg}|d|}t t|tt| ddS)Nrr)rrn)r)gr+)rru???rrrrr&r)rFrnrLrmr6e)rx)rrrrqrrr rr r itemr/r r'rX)rrqrrrfill_vals rtest_check_on_fieldsz&TestFillingValues.test_check_on_fields&sEJ8*sElL9  !;!;!;VDD 4))***TYY[["="="=>>>  v.. 4))***TYY[[#5a#8#8#5b#9#9#*+=c+B+B#C#C#E F F F86fEEE  622 4))***TYY[["="="=>>> 86$':U|\"JLLL  622 4))***TYY[["="="=>>>:D7771   622 4))***TYY[["="="=>>>*  V44 4))***TYY[[-00000rc$tgd}|jddit|t}t |jgdt |jtdt|t}t |jgdt |jtd| t}t |jgdt |jtdt |jdd| dg}t |d j|jt |d j|jdS) N)345commentzupdated!r)rrrrr)rrnr) r'r-updaterr rr7r/rrrs rtest_fillvalue_conversionz+TestFillingValues.test_fillvalue_conversionUsZ $$$ % % 9Z0111 !3   QWiii(((Q\#5a#8#8999 !5 ! ! !QWiii(((Q\#5b#9#9::: HHSMMQWiii(((Q\#5a#8#8999QZ *J777 HHl^ $ $QsV\17+++QsV& 55555rctd}ttjd}ttjdj}t ||t ||dS)Nr)r/rr'rr )rr(f2f3s rtest_default_fill_valuez)TestFillingValues.test_default_fill_valuemsb  # #  - -  2 3 3RRrc\tdgdtfddtfg}t|}t|j}t jtdtdtdf|j}t ||t ||dS) Nrrrr rrrr)r'rrr/rrr )rfieldsr(rexpecteds r"test_default_fill_value_structuredz4TestFillingValues.test_default_fill_value_structuredus {!3ZU|DFFF  ' '  - -8/22/44/335>>'((.r224#'-22228&.. &&tV44g>>>(4u 777>>vFF&&q&117;;;233(.q11.r22.r225"56667=fVnn ! v..T7###(9,?@@@GGOO&&q&117;;;  ! !QtW',a00000rcdD]}tjd|}ttjd|zdz}tj||tjd|}ttjd|zdz}tj||dS)N) asfspsnsusmsrrBhDWrYNaTz > >!!$$TZ)))T!Wbga);AgJ)G)GHHIII!!$$TZ)))T!Wbga);AgJ)G)GHHIIIIIrc dtfdtfg}tttgdgdd|}|d}|dt |jtjdt t|j dd |j d<t t|j d tttgdgd| }|d}|dt |jtjdt t|j dtd fdS) Nrrrrrr7rr)rr)rrrr) rr'rrrr rrrr7r/)rrraar4tts r test_fillvalue_individual_fieldsz2TestFillingValues.test_fillvalue_individual_fieldssQ*sCj) $s999iii0011) 9 9 9 sV "R^RXb\\222U1<((*555 SU1<(()444 $s999iii0011 @ @ @ sV "R^RXb\\222U1<((2/A!/D/D*EFFFFFrcdtf}dtf}tddgddgtjftj|g}t |j||g}|d|d<|d|dj|j d}ttj |d t|d td dS) Nrrrr)F)rr7rrr~rrr)rr'rrPrr3rmrr7rr rr r/)rradtyperrr s r(test_fillvalue_implicit_structured_arrayz:TestFillingValues.test_fillvalue_implicit_structured_array suu 5%.('; fYbhx.@.@ B B B !'&&!1 2 2 23# #af/000 M" 1QrU.r2233333rcZtdd}t|jdtddt}t|jdt ddt }t|jdtddt }t|jddS)Nrrrrr)r3r r7rbrrzcomplexr@rs rtest_fillvalue_as_argumentsz-TestFillingValues.test_fillvalue_as_arguments s ! % % %Q\4((( t5 1 1 1Q\4((( !' 2 2 2Q\2&&& Q2W 5 5 5Q\2&&&&&rctd}t|jdtdt}t|jdt dt }t|jddS)Nrrmrw)r3r rmrbrrzrrs rtest_shape_argumentz%TestFillingValues.test_shape_argument( st    QWe$$$ uE * * *QWe$$$ W - - -QWe$$$$$rc"tgddtj}|}t |jdk|t }t |jdk|t }t |jdk|tj}|tj}|t d}t |jdk|t d}t |jdk|tj}t |jd kdS) Nrrr)rhrr)rhr7rrS) r'rint64rr r7rr int32r.s rtest_fillvalue_in_viewz(TestFillingValues.test_fillvalue_in_view4 sH ))) : : : FFHH !""" FF;   !""" FF F $ $ !""" FF2:   FF F # # FF;1F - - !""" FF F 2 2 !""" FFF " " &'''''rctdd}t|djtdt|djtddS)Nrz (2)3S,(2)3Urwr'sspamr(eggs)r3r r7r/rs rtest_fillvalue_bytes_or_strz-TestFillingValues.test_fillvalue_bytes_or_str^ s\ ] 3 3 3QtW');G)D)DEEEQtW');F)C)CDDDDDrN)rrrrsr{rrrrrrrrrrrrrrrrr~rrrlrls5BBB -1-1-1^6660 # # #MMM 4440 , , ,111> 3 3 3:::0 J J JGGG& 4 4 4 ' ' ' % % %((((((TEEEEErrlc>eZdZdZdZdZdZdZdZdZ dZ d S) TestUfuncsctdddtdz gdzddgdgdzztdddtdz gdzddgdgdzzf|_tj|_tjdd dS) NrrrrrrrrKrc)r'rrrrdrerfr s rrzTestUfuncs.setup_methodi saR!V,q01va7GHHHaR!V,q01va7GHHHK)++ 8444444rc2tjdi|jdSrhrir s rrjzTestUfuncs.teardown_methodp rkrcdD]} tt|}n%#t$rtt|}YnwxYwttjj|}|jd|j}||}||}t| d| d|t|j |j |dS)N)*rrrErFr6r+rnr,rvr$r!r%ror-rwarcsinhr"arctanhrfabsnegativefloorceil logical_notrrsr^r1r floor_divide remainderfmodhypotr#r5rarDr?rCr> logical_and logical_or logical_xorr)err_msg) rumathAttributeError fromnumericr"rrrninr r8rr)rr ufmfargsurmrs rtest_testUfuncRegressionz#TestUfuncs.test_testUfuncRegressions s ; ;A" -UA&&! - - -[!,, -**B6'26'?DTBTB 1ryy||Q 7 7 7 bgrw : : : : :5 ; ;s >>ct|jd}tt|d tt|dt t |ddddt t |ddt tj|tdS)Nrrr) rr rrpr rtrfrrrrs r test_reducezTestUfuncs.test_reduce s F1IGAA&&&&'''###$$$S2A2Q'''+++WQQ'''+++SZ]]B'''''rctdddd}t|dk|}t||t|dt|d|dt|dgdt |ddjt |ddjdS)Nr rrrr)rrrrr+)r rkrVr rWrZr r)rramasks r test_minmaxzTestUfuncs.test_minmax s 1bMM ! !!Q ' 'QUA&&UYY[[!%%''***UYY[[!$$$UYYq\\15588,,,UYYq\\<<<000 ! Q$%%% ! Q$%%%%%rcPtgdgd}tj|}tdddtjddggd}t||t|j|jt t |jt dS) Nr,rrrrrrrrrrr)rKrrrr rr rr)rrrr#s rtest_ndarray_maskzTestUfuncs.test_ndarray_mask s ))) @ @ @wqzzAq"'!**b9$3OO555T7###TY ---Jty+66677777rctddgddgtttjdtttjdGfdd}|}t |zd kt |zd kGd d }|}t |tut ttj |d kt  |tut |zdkt |zd kt |z dkdS)Nrrrrrrc0eZdZjdzZdZdZdS).MyClassrcdS)NMy mulr~rothers r__mul__zDTestUfuncs.test_treatment_of_NotImplemented..MyClass.__mul__ xrcdS)NMy rmulr~rs r__rmul__zETestUfuncs.test_treatment_of_NotImplemented..MyClass.__rmul__  yrN)rrr__array_priority__rrrsrMyClassr sA!"!5!9     ! ! ! ! !rrrrc(eZdZdZdZdZdZeZdS)=TestUfuncs.test_treatment_of_NotImplemented..MyClass2dcdS)NMe2mulr~rs rrzETestUfuncs.test_treatment_of_NotImplemented..MyClass2.__mul__ rrcdS)NMe2rmulr~rs rrzFTestUfuncs.test_treatment_of_NotImplemented..MyClass2.__rmul__ rrcdS)NMe2rdivr~rs r__rdiv__zFTestUfuncs.test_treatment_of_NotImplemented..MyClass2.__rdiv__ rrN)rrrrrrr __rtruediv__r~rrMyClass2r sH!$     ! ! ! ! ! !$LLLrrr r r ) rKrr3r3multruedivr rNotImplementedrr^rd __truediv__)rrmerme_toors @r test_treatment_of_NotImplementedz+TestUfuncs.test_treatment_of_NotImplemented s "bA / / /iq%888i!11e<<< ! ! ! ! ! ! ! ! ! !WYYQ("###B)#$$$ $ $ $ $ $ $ $ $ &!!^3444HN1f--:;;<<< f%%7888 h&'''F i'(((F i'(((((rc"tjdtjgddg}t j5t jdt|t|d|dkt|t|t|t|t|t|t|dt!|dddddS#1swxYwYdS)Nrrrrerrorr)rrr'rPwarningscatch_warningsfilterwarningsr6rrrrErvr$r!r"r1rrs rtest_no_masked_nan_warningsz&TestUfuncs.test_no_masked_nan_warnings s1 EKKbf QqEK 2 2  $ & &    #G , , , FFF 1III EE GGG FFF FFF 1III 1III AJJJ 1aLLL Q   )                  sB4DD DN) rrrrrjrrrrrrr~rrrrf s555%%%;;;<((( & & &888))))))VrrceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dS) TestMaskedArrayInPlaceArithmeticcntd}td}td}t|d<|||f|_|t|t|tf|_t jdt jdz|_d|jD|_|t j |t j |t j f|_ dS)Nrr AllIntegerAllFloatc@g|]}tj|jSr~rrrh)rrs rrzATestMaskedArrayInPlaceArithmetic.setup_method.. s#EEE28A;;+EEEr) r rJintdatarr floatdatar typecodes othertypesuint8 uint8datarrrrs rrz-TestMaskedArrayInPlaceArithmetic.setup_method s 2JJ 2JJ BZZ11bz ((5//188E??BIIe|j\}}}|j}tdt}t|d<||z}||z}t |||z t |||z t |jt t ||j|dkdS)Nrrrrr7r2s r!test_inplace_division_array_floatzBTestMaskedArrayInPlaceArithmetic.test_inplace_division_array_float^ s^ Ar G 2U # # #" Q aQARQRWgga&8&816CCDDDDDrcddddtdz dddddddg }gd }gd }gd }t|| }t|| }||z }t|jgd t|jddddt dz dddddddg |}||z}t|jgd t|jddddt dz dddddddg dS)Nrrrrrrrrrrrr) rrrrrrrrrrrrr)rrKr rrr)rrrrrrrrs rtest_inplace_division_miscz;TestMaskedArrayInPlaceArithmetic.test_inplace_division_miscj s> Rb2gr2tS"b" E A A A 1 1 1 1 1 1 !" % % % !" % % % GQWBBBCCCQW"b#sRxRRRL N N NWWYY bRXCCCDDDQW"b#sRxRRRL N N N N Nrchtgdgd}|dz}t|jgdt|jgd|dz }t|jgdt|jgdtgdgd}|tgdgdz}t|jgdt|jgdtgdgd}|tgdgdz }t|jgdt|jgddS) NrrNrr)rrrrrrrrrrs rtest_datafriendly_addz6TestMaskedArrayInPlaceArithmetic.test_datafriendly_add~ sV )))))) , , , URWiii(((RWiii((( QQVYYY'''QVYYY''' )))))) , , , yyyyyy111 1RWiii(((RWiii((( )))))) , , , U999999 - - --QVYYY'''QVYYY'''''rctgdgd}|dz }t|jgdt|jgdtgdgd}|dz}t|jgdt|jgdtgdgd}|tgdgdz }t|jgdt|jgdtgdgd}|tgdgdz}t|jgdt|jgddS) NrrNrr)rrrrrrrrs rtest_datafriendly_subz6TestMaskedArrayInPlaceArithmetic.test_datafriendly_sub sr )))))) , , , URWiii(((RWiii((( )))))) , , , QQVYYY'''QVYYY''' )))))) , , , yyyyyy111 1RWiii(((RWiii((( )))))) , , , U999999 - - --QVYYY'''QVYYY'''''rctgdgd}|dz}t|jgdt|jgdtgdgd}|dz}t|jgdt|jgdtgdgd}|tgdgdz}t|jgdt|jgd tgdgd}|tgdgdz}t|jgdt|jgd dS) NrrNrrrrrrDr)rrCrrrrs rtest_datafriendly_mulz6TestMaskedArrayInPlaceArithmetic.test_datafriendly_mul sr )))))) , , , URWiii(((RWiii((( )))))) , , , QQVYYY'''QVYYY''' )))))) , , , |||)))444 4RWjjj)))RWiii((( )))))) , , , U<<@r)rg?rrrrs rtest_datafriendly_divz6TestMaskedArrayInPlaceArithmetic.test_datafriendly_div s~ )))))) , , , VRW111222RWiii((( ,,,YYY / / / RQV000111QVYYY''' ,,,YYY / / / YYY777 7RW000111RWiii((( ,,,YYY / / / U??? 3 3 33QV...///QVYYY'''''rctgdgd}|dz}t|jgdt|jgd|dz}t|jgdt|jgddS)NrrNrrm)r;f@r)rrQrrrs rtest_datafriendly_powz6TestMaskedArrayInPlaceArithmetic.test_datafriendly_pow s ,,,YYY / / / #XRW111222RWiii((( c QV///000QVYYY'''''rctddgddgg}tddgddg}||z }t|ddgddgg|jturt|jddgddggtddgddgg}tddgddg}||z }t|ddgddggt|jddgddggdS)Nrrrrrrr'r rr`rs rtest_datafriendly_add_arraysz=TestMaskedArrayInPlaceArithmetic.test_datafriendly_add_arrays  Aq6Aq6" # # 1a&1v & & & QQ!Q!Q())) 6   1a&1a&!1 2 2 2 Aq6Aq6" # # 1a&1v & & & QQ!Q!Q()))QVq!fq!f-.....rctddgddgg}tddgddg}||z}t|ddgddgg|jturt|jddgddggtddgddgg}tddgddg}||z}t|ddgddggt|jddgddggdS)NrrrrrrTrs rtest_datafriendly_sub_arraysz=TestMaskedArrayInPlaceArithmetic.test_datafriendly_sub_arrays rVrctddgddgg}tddgddg}||z}t|ddgddgg|jturt|jddgddggtddgddgg}tddgddg}||z}t|ddgddggt|jddgddggdS)NrrrrrTrs rtest_datafriendly_mul_arraysz=TestMaskedArrayInPlaceArithmetic.test_datafriendly_mul_arrays rVrc |jD]tj5tjdfd|jD\}}}t |d<|dz }t ||dz|dz }t ||dzdddn #1swxYwYdS)Nrc3BK|]}|VdSrrrrr4s r zUTestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalar_type.. -BBaahhqkkBBBBBBrrr)r(rrrr*rJr rrrrr4s @r!test_inplace_addition_scalar_typezBTestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalar_type s + +A(** + +'000BBBB4>BBB Ar1QQqTT QAAaDD)))aadd RQQqTT*** + + + + + + + + + + + + + + + + +sB B44B8 ;B8 c |jD]Ҋtj5tjdfd|jD\}}}|j}t d}t|d<||z }||z }t|||zt|||zt|jt||jdddn #1swxYwYdS)Nrc3BK|]}|VdSrr]r^s rr_zTTestMaskedArrayInPlaceArithmetic.test_inplace_addition_array_type.. r`rrrr r(rrrr*rr rJr rIrrrrrBrr4s @r test_inplace_addition_array_typezATestMaskedArrayInPlaceArithmetic.test_inplace_addition_array_type / : :A(** : :'000BBBB4>BBB ArG2Q'''"QaQA&&&RQ'''RWga&8&8999 : : : : : : : : : : : : : : : : :B&CC C c p|jD]tj5tjdfd|jD\}}}|dz}t ||dz |dz}t ||dz dddn #1swxYwYdS)Nrc3BK|]}|VdSrr]r^s rr_zXTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalar_type../ r`rrr(rrrr*r ras @r$test_inplace_subtraction_scalar_typezETestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalar_type*  + +A(** + +'000BBBB4>BBB ArQQqTT QAAaDD)))aadd RQQqTT***  + + + + + + + + + + + + + + + + +BB**B. 1B. c |jD]Ҋtj5tjdfd|jD\}}}|j}t d}t|d<||z}||z}t|||z t|||z t|jt||jdddn #1swxYwYdS)Nrc3BK|]}|VdSrr]r^s rr_zWTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_array_type..: r`rrrrrerfs @r#test_inplace_subtraction_array_typezDTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_array_type5 rhric p|jD]tj5tjdfd|jD\}}}|dz}t ||dz|dz}t ||dzdddn #1swxYwYdS)Nrc3BK|]}|VdSrr]r^s rr_z[TestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalar_type..I r`rrrlras @r'test_inplace_multiplication_scalar_typezHTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalar_typeD rnroc |jD]Ҋtj5tjdfd|jD\}}}|j}t d}t|d<||z}||z}t|||zt|||zt|jt||jdddn #1swxYwYdS)Nrc3BK|]}|VdSrr]r^s rr_zZTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_array_type..T r`rrrrrerfs @r&test_inplace_multiplication_array_typezGTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_array_typeO rhricLdtjdD}|jD]tj5tjdfd|jD\}}}tddz}tddz}t|d< |dz}|dz}t||t||n$#t$rdd }|vs J|YnwxYwdddn #1swxYwYdS) Nc@h|]}tj|jSr~r$rr4s r z[TestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_scalar_type..a #IIIArx{{'IIIrComplexrc3BK|]}|VdSrr]r^s rr_z[TestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_scalar_type..e r`rrrrSupported type  throwing TypeError) rr'r(rrrr*r rJr r3)r unsupportedrrrmsgr4s @r'test_inplace_floor_division_scalar_typezHTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_scalar_type^ sJIi1HIII  1 1A(** 1 1'000BBBB4>BBB Ar2Q'''!!A$$.Ba(((11Q44/11!!A$$JA11Q44KB A&&& Q'''' 111BABBBC +++S+++++1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s6A0D+.u r}rr~rc3BK|]}|VdSrr]r^s rr_zZTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_array_type..y r`rrrrrrr) rr'r(rrrr*rr rJr rIr3) rrrrrrBrrr4s @r&test_inplace_floor_division_array_typezGTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_array_typer sJIi1HIII  1 1A(** 1 1'000BBBB4>BBB ArG2Q'''" 1!GA1HB AF+++ Q!V,,, 16 2 2Q!!A$$Y@@!111BABBBC +++S+++++1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s7AD. A3C>=D.>DD.DD..D2 5D2 c |jD]Ɋt5}|tfd|jD\}}}t ddz}t ddz}t |d< |dz}t||nA#ttf$r-}tj t|dYd}~nd}~wwxYw |dz}t||nA#ttf$r-}tj t|dYd}~nd}~wwxYwttjr(tt!|jdddn'tt!|jd dddddn #1swxYwYdS) Nc3BK|]}|VdSrr]r^s rr_zUTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_type.. r`rrrrr stacklevelFailed on type=.r)r(rrecordrr*r rJr DeprecationWarningr3rwarnr issubclassrintegerrrE)rrrrrer4s @r!test_inplace_division_scalar_typezBTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_type s_ J JA"$$ J ;'''BBBB4>BBB Ar2Q'''!!A$$.Ba(((11Q44/181IA A&&&&*I6888M#a&&Q77777777788!!A$$JB Q''''*I6888M#a&&Q7777777778a,,J SWq2HA2H2H2HIIII SWq2HA2H2H2HIII? J J J J J J J J J J J J J J J J JsgA6GB0/G0C.#C)$G)C..G2DGE"#E G EA,GG G c |jD]ފt5}|tfd|jD\}}}|j}t d}t|d< ||z}t|||z nA#ttf$r-}tj t|dYd}~nd}~wwxYw ||z}t|||z t|jtt||j|dknA#ttf$r-}tj t|dYd}~nd}~wwxYwtt jr(tt%|jdd d n'tt%|jdd d dddn #1swxYwYdS) Nc3BK|]}|VdSrr]r^s rr_zTTestMaskedArrayInPlaceArithmetic.test_inplace_division_array_type.. r`rrrrrrrrrr)r(rrrr*rr rJr rr3rrrrIrrrrrE) rrrrrrBrrr4s @r test_inplace_division_array_typezATestMaskedArrayInPlaceArithmetic.test_inplace_division_array_type ss# J# JA"$$" J ;'''BBBB4>BBB ArG2Q'''"8FA AE*****I6888M#a&&Q77777777788!GB QU+++ 16 2 2Q!!A$$Y@@+I6888M#a&&Q7777777778a,,J SWq2HA2H2H2HIIII SWq2HA2H2H2HIIIE" J" J" J" J" J" J" J" J" J" J" J" J" J" J" J# J# JshAG/BGC#C<GCG AD&%G&E$7#EGE$$A,GG #G c|jD]}tj5tjdt gdgd|}||dz}t gdgd|}t |j|jt |j|j||dz}t |j|jt |j|jdddn #1swxYwYdS)NrrrNrrrG)r(rrrr'r rr)rr4rrxx_rs rtest_inplace_pow_typez6TestMaskedArrayInPlaceArithmetic.test_inplace_pow_type s= 0 0A(** 0 0'000))))))1===!!A$$Y^^^)))1EEERWdi000RWdi000aadd QVTY///QVTY/// 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sCC..C2 5C2 N)!rrrrr.r3r5r8r;r=r?rArCrErHrJrMrOrRrUrXrZrbrgrmrrrurxrrrrrr~rrrr s         2 2 2    2 2 2    2 2 2   &&& E E ENNN((((,(((.(((.(((. ( ( ( / / / / / / / / / + + + : : : + + + : : : + + + : : :111(1110"J"J"JH%J%J%JN00000rrceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZedZdZdZdZdZejddejdddZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,S)-TestMaskedArrayMethodsc tjgd}|dd}|dddd}tjgd}t||}t|||j}t|||j}tjgd}t||} t|||j} t|||j} |||||||| | | f |_dSN$g @gGz.@g-!@g!@g&1?ʡE@\( @Q@{G#@Pn@h|?!@!rh@jt@J +@zGa@!rh@ʡE@-@)\(@(\B#@ +@uV @~j@g"~@gK7@ ףp=J#@Gz@Mb@}?5^#@羟/$@!rhm@-#@J +@Mb@ʡ@g-?rrr$rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr$rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr'rkrmr rrXXXrBrOmXmXXrm2xm2Xm2XXs rrz#TestMaskedArrayMethods.setup_method Y H@@@ A A IIaOO YYq!Q " " H''' ( (  " " "  !' 2 2 3 3 3!))BH"5"5666 X((()) $$$AG!4!4555"2::bh#7#7888QAr2sCd;rc tgd}t||jt||jt||jt||jt|ddddd|jdddddt|gd|jgdt| |j t| |j tddgddgg}t| |j t| |j t| ddg|j ddgt||jdS)Nrrrrrrr)r'r rrrargmaxargminr)compressconjr+diagonalrtrurxrrrBs rtest_generic_methodsz+TestMaskedArrayMethods.test_generic_methods s )))  QUUWWagkkmm,,,QUUWWagkkmm,,,QXXZZ!1!1222QXXZZ!1!1222QXXaAq!,,agnnQ1a.K.KLLLQZZ **AG,<,rrT)rLFr) rrrr rrxrKrJiinfoint_rZrs r test_allclosez$TestMaskedArrayMethods.test_allclose sQ INN2    r""T) )Av!HQNN"###v!A OO"AD111222HQ6666777 T !AD111222 "(27++/0 @ @ @Arctjgdgd}t||dsJt||tjddsJdS)Nrczm8[ns]rr)atolrr)rr'rrrs rtest_allclose_timedeltaz.TestMaskedArrayMethods.test_allclose_timedelta2 sf Hlll^8 4 4 411%%%%%%12>!T#:#:;;;;;;;;rc(tjgdgdgdg}tjgdgdgdgtj}t||}|d k}|d k}t | t |t|d gd t|d gd t|d gd t|d gd t | t |t|d gdt|d gdt|d gdt|d gddS)N)gp= ף?gp= ף?g?)gQ?gQ?g)\(?)gףp= ?gףp= ?gffffff?rtr)TTFrrrrr6rr)rr'bool_rKr rrr )rrrBrOmxbigmxsmalls r test_allanyz"TestMaskedArrayMethods.test_allany9 s H(((((((((* + + H***+++)))+24( < < <!! $ $ $c8EIIKK    UYYq\\#7#7#7888UYYq\\#7#7#7888UYYq\\#7#7#7888UYYq\\#5#5#5666GKKMM!""" W[[^^%8%8%8999W[[^^%:%:%:;;;W[[^^%8%8%8999W[[^^%8%8%899999rcftdt}tgdd}t|t u||t|t|jdt|t utdt}t|t u||t| t|jdt|t udS)Nr~rrTrr)r3rr'r rrJrr)rstorers rtest_allany_odditiesz+TestMaskedArrayMethods.test_allany_odditiesS sb%%%YYYT*** f$%%% U T"""V#$$$b%%% f$%%% UE  T"""V#$$$$$rc |j\ }}}}}}}}} } t|dt|dt|dt| dt|dt|dt|dt| dt|dgdt| dgdt|dgdt| dgd t|d gd t| d gd t|d gd t| d gddS)N#rr)rrrrrr)rrrrrr)rrrrrr)rrrrrrr)rrrrrr)rrrrrr)rrrrrr)rrrrrr)rr rr) rrrrrBrOrrrrrs rtest_argmax_argminz)TestMaskedArrayMethods.test_argmax_argmine s59V2Ar1b"c3TRYY[["%%%RYY[["%%%SZZ\\1%%%SZZ\\1%%%RYY[["%%%RYY[["%%%SZZ\\2&&&SZZ\\2&&&RYYq\\#5#5#5666SZZ]]$6$6$6777RYYq\\#5#5#5666SZZ]]$6$6$6777RYYq\\#7#7#7888SZZ]]$6$6$6777RYYq\\#5#5#5666SZZ]]$6$6$677777rctjgd}tjgd}t||}|dd}t|j|jt|j|ddt|j|jdddS)Nrrrrr+)rr'clipr rr)rrrBrOclippeds r test_clipz TestMaskedArrayMethods.test_clip| s H@@@ A A H::: ; ;11   ''!Q--W\27+++W]AFF1aLL111W]BHMM!Q$7$788888rctjd}tj|ddgdz}|dd|t |jddgdzdS)Nrrrrrr)rr rrrr rrs r test_clip_outz$TestMaskedArrayMethods.test_clip_out si IbMM E  aq!fqj  1 1 q!QVaVaZ(((((rc&tgdd}|dk|dkz}t||ddgt|dd g<||}t|jddgt|jd d gt|jdt||||d k}||}t|jgd t|jgdt|jdt|||tgdgdggdgdg}||dk}t|jgdt|jgdtj gd}||dkd }t|jddgddggt|jd d gd d ggdS)Nri'rr @rrrrrrrrrNrDrCrrqrr)rErCrrqr)rrrrrrErCrq) rKr rrJrrr7rirr')rr conditionrrs r test_compressz$TestMaskedArrayMethods.test_compress s ---$ ? ? ?WS) QZZ **RH5551a& JJy ! !QWr2h'''QWq!f%%%Q\4(((Q) %%%V JJy ! !QWlll+++QWiii(((Q\4(((Q) %%% ,,, 5(yy)))4 6 6 6 JJqwwyyB ' 'QW...///QWlll+++ HYYY   JJqAvAJ & &QWBx"b2333QW1v1v./////rctgdgd}|}t||t|d<|}t|gddS)Nrcrrrrrrr)r' compressedr rJrs rtest_compressedz&TestMaskedArrayMethods.test_compressed si ,,,\\\ 2 2 2 LLNNQ! LLNNQ """""rc,dtfdtfdg}tgd|}tt |jt |t|}t|j|jt|j|jtt ||}t|j|jt|j|jtgdgd}t|}ttj |j |j  |t}ttj |j |j dS Nrrra))rr?z1.1)rr@z2.2)rrZz3.3rrrr)rrrKr rr7ryr4rmr3r rrrrrdatatyperrs r test_emptyz!TestMaskedArrayMethods.test_empty sW#Je l; LLL' ) ) )S**,,--s8}}=== qMMQWag&&&Q\1<000 #a&& ) ) )QWag&&&Q\1<000 )=)=)= > > > qMMB'777888 FF< #AFAF3344444rc dtfdtfdg}tgd|}tt |jt |tt ||}t|j|jt|j|jt|}t|j|jt|j|jtgdgd}t|}ttj |j |j  |}ttj |j |j dSr)rrrKr rr7ryrzrmr{r rrrrrs r test_zerosz!TestMaskedArrayMethods.test_zeros sS#Je l; LLL' ) ) )S**,,--s8}}=== #a&& ) ) )QWag&&&Q\1<000 qMMQWag&&&Q\1<000 )=)=)= > > > qMMB'777888 FFHH#AFAF3344444rc dtfdtfdg}tgd|}tt |jt |tt ||}t|j|jt|j|jt|}t|j|jt|j|jtgdgd}t|}ttj |j |j  |}ttj |j |j dSr)rrrKr rr7ryrbrmrcr rrrrrs r test_onesz TestMaskedArrayMethods.test_ones sS#Je l; LLL' ) ) )S**,,--s8}}=== Qx ( ( (QWag&&&Q\1<000 aLLQWag&&&Q\1<000 )=)=)= > > > aLLB'777888 FFHH#AFAF3344444rc ~td}gd}t|}t||}t|dtut|dtuddg|ddg<t|dtut|dtut |gd t tdgd d z}gd }||gd t |tgdt |j gd||t gd gdt|gdt |j gdt tdgd d z}t||gd t |tgdt |j gdt||t gd gdt|gdt |j gddS)Nrr?rrrrrCr)rrrrrCr r)rrrr)rrrr) rrrrrrrrrr+ra) rrrrrrrrrr)rrrr) rrrrrrrrrr+ra) rrrrrrrrrr) r rGr'r rJr rKrgr(rr )rrrrBrrs rtest_putzTestMaskedArrayMethods.test_put sO 1II OO aLL !!   !!H1a& !!F"###Q***+++ ///A*= > > > LL aQ @ @ @AABBBQV;;;<<< alllLLL99:::1>>>???QV;;;<<< ///A*= > > > Aq,,,Q @ @ @AABBBQV;;;<<< Aq,|||\\\::;;;1>>>???QV;;;<<<<r'rr?fncrr8rrir )rrHrarrrrraveleds rtest_ravel_orderz'TestMaskedArrayMethods.test_ravel_orderh s ggZ000AqqqD wwd*===?QT #D ! ! !w} AGM$55555 q %%'''''''%..q!!Q&++----- 399U++QWWU^^-ABBBBBrc td}t|d<|dd}t|jdt|jjdt|jdt|jjddS)Nrrrrsr)r rJrkr rmrr.s r test_reshapez#TestMaskedArrayMethods.test_reshapez sy 1II! IIaOOQWg&&&QW]G,,,QWd###QW]D)))))rctgdgdtj}t|}t |jgdt |jgdt|d}t |jgdt |jgd |t |jgdt |jgdtgdgdtj}|dt |jgdt |jgd gd}t|}tttt tgd ttj }t|d}t |jgd tgd gd tj }t|d}t |jgd t |jgdtddgtj }t|d}t |tddgtj dS)NrrrrrrrcrrrrFr_)rrrrr)rrrr)rrrrrrrrrr)rrrrrrrrrrrrrstablekind) r'rr)rqr rrr rsortedrr`r)rrsortedxs r test_sortz TestMaskedArrayMethods.test_sort sX ,,,\\\ B B Bq''W]LLL111W]LLL111q%(((W]LLL111W]LLL111 QWlll+++QWlll+++ ,,,\\\ B B B uQWlll+++QWlll+++ LLq''Jv{333444 ###& @ @ @q%(((W]$5$5$5666 ###/// I I Iq%(((W]$5$5$5666W]OOO444 1b' ) ) )qx(((WeRG27;;;<<<< >!a%1* VVXX XXb\\    R VVXX XXb\\    R VVXX XXb\\    Rrcvtgdgddtfdtfg}tgdgddtfdtfg}tgdgd dtfdtfg}t|}t||t|j|jt|d }t||t|j|jt jd td fg}||}t|}t|d }dS)N)rrrsrrrrrC)rrrrrrrr&rr8)rrCr4rsrrr)rrrrrrr)rrrCr4rsrr)rrrrrrrFr_rr)r'rrqr rrrr)rr mask_last mask_firstrr[s rtest_sort_flexiblez)TestMaskedArrayMethods.test_sort_flexible sX IIIIII:Sz* , , ,IIIIII:Sz*,,, IIIIII:Sz*,,, AwwT9%%%TY ///Au%%%T:&&&TY 000 XS!}o & & FF2JJAwwAu%%%rctgdgd}ttj|t|dS)N)rrrrr)rrrrrr)r'r rr&rs r test_argsortz#TestMaskedArrayMethods.test_argsorts@ /// 8 8 8RZ]]GAJJ/////rctgdg}t|gdtgdggdg}t|gdt|jgdt jdgg}|}t|dd|d<t|ddtdggd}|}t |tjjut|j dd|d<t|dddS) Nrrrrr.rT) rKr squeezerrr'r rrJr)rrrarr_sqm_arrm_arr_sqs r test_squeezez#TestMaskedArrayMethods.test_squeeze sHYYYK((T\\^^YYY///YYYKyyyk:::T\\^^YYY///T\\^^)999555huooVQs SXq!!!qcU...==?? ,---X]D))) U3Z#####rctjgd}tjgd}t||dd}|dddd}|dd}t |d |ddd f|dd}t |jd dS) Nrrrrrrrrr)rrrr)rr'rkswapaxesr rm)rrrBrr mXswapped mXXswappeds r test_swapaxesz$TestMaskedArrayMethods.test_swapaxes!s H@@@ A A H((( ) ) 11    % %a + +jjAq!$$KK1%% Yr]Bqqq"uI...\\!Q'' Z%|44444rc ftgdgd}t|gdtgdgdt|gd|gdt|ddgddggtdd gdd ggddgddggt|dtjjut|dtjjutgd gd ggdgd g }t|ddgdtddgddggddgddgg tt|ddgdtddgddggddgddgg dS)N)rrrErCr^)rrr)rrrCrNrrrrrDrrrrrrErCrq)rKr rur rrrJr'rs r test_takez TestMaskedArrayMethods.test_take8s )))<<< 8 8QVVIII&& \\\999(M(MNNNQVVIII&&))) 555QVVaVaV,--!B8b"X"6!Q!Q8HII K K K ! $%%%q RU\)*** <<<.iii5M N N NQVVQFV++RHr2h/1v1v6FGGG I I IT!aV!,,,RHr2h/1v1v6FGGG I I I I Irctjd}tjddddftjddddfz}t||t|k}t ||d}tgdgdgd gd gd g}t ||t ||}tgdgdgd gd gd g}t x|d<x|d<|d<t ||t |j|jtdd}t ||}t x|d<|d<t ||t |j|jdS)N)rCr%rarrrrrmode)rCrrH)rrHra)rHrar)rarr)rrr)rarrC)rrCrCr)rrrrr rr)rr'r rrur rJr)rrindicesmindicesrctrls rtest_take_masked_indicesz/TestMaskedArrayMethods.test_take_masked_indicesJs H( ) ))A,,tAAAv&1aaag)>>3q66(9;;;Axf---lll!kk!kk!kk"ll $%% T4   Ax  lll!kk!kk!kk"ll $%% 065T 5T$Z$t*T4   TY *** %O < < <Ax  "((T T$ZT4   TY *****rc ttjd}t|ddg<|}t |ddut |ddud|_|}gdgdgdg}t|dgdt|dgdt|d gdt||tttgd gd gd d tfdtfdg}t|d<t|gdtddgddgd tfdtfg}|}t|ddgddgg|d}|}t|ddgdS)Nrrrr)rNrr)rrrrr)r+raN rrr)r?r@rZ)rXrYr[rrrarr))rr?sone)rr@two)NNNrCrrrrr) r'rr rJtolistr rmr rrrr)rrxlistrNrrs r test_tolistz"TestMaskedArrayMethods.test_tolisths ")B-- 1b'  aD !!!b T!""" /?/?/?@U1X///U1X|||,,,U1X///000UD!!! $s999*??0002233sc5\<@ B B B"QXXZZ*** + + + 7F#66*:sc3Z0 2 2 2xxzzTQI1v./// aDxxzzTAt9%%%%%rcptddgdtfdtfg}|D]A}|D]*}tt |t j +Bd|jd<|D]A}|D]*}tt |t j +BdS)Nrrrrrrr)r'rrSr rrgenericr)rrentryrys rtest_tolist_specialcasez.TestMaskedArrayMethods.test_tolist_specialcases 66"C:Sz*B C C C : :E  : :JtRZ8889999 :q  : :E  : :JtRZ8889999 : : :rc td}|}t|d|jt|d|jt |gd<|}t|d|jt|d|jdt fddtfg}tdttjdd tj dD| }t |gd<|}t|d|jt|d|jtj d }td ttjdtj dtj dD| }t |gd<|}t|d|jt|d|jdS) Nrrr)rrrrrrr c g|] \}}}|||f Sr~r~)rrrr s rrz6TestMaskedArrayMethods.test_toflex..s6JJJIQ1q!QiJJJr ABCDEFGHIJKLMrr7c g|] \}}}|||f Sr~r~)rrr ffs rrz6TestMaskedArrayMethods.test_toflex..s6LLLZaBq!RjLLLr)r toflexr rrrJrrr'rrrrrr)rrrrs r test_toflexz"TestMaskedArrayMethods.test_toflexsbzzVG_dj111VG_dj111$]]]VG_dj111VG_dj111*lS%L9JJRYr]]5D57Y^^B5G5G2I2IJJJ"###%]]]VG_dj111VG_dj111233LL3ry}}79y~~b7I7I79y~~b7I7I4K4KLLL"###%]]]VG_dj999VG_dj99999rc`tgd}t|}t||t|j|jtgdgd}t|}t||t|j|jtgdgddt fdt fg}t|}t||t|j|jdS) NrrNr)rr)rr)rrrr&rr)r'r;r_r rrrrrs r test_fromflexz$TestMaskedArrayMethods.test_fromflexs )))   ##T1TY''' )))))) , , , ##T1TY''' ---4L4L4Lsc5\2 4 4 4 ##T1TY'''''rcPtgdggd}tdgdgdgdgdgggd}t|j|t||tt j|jd |d dS) NrWr~rrrrrrr)rKr r>rxrcumsum)rmarrayr#s rtest_arraymethodz'TestMaskedArrayMethods.test_arraymethods/oooFFFaS1#sQC8$3OO555VXw'''V%%''111['!44gnnQ6G6GHHHHHrctjdd}t|jj|jt|jj|jdS)N*Tr)rrr'r r>rrrs rtest_arraymethod_0dz*TestMaskedArrayMethods.test_arraymethod_0dsK EKKK & &QSXqv&&&QSXqv&&&&&rc4tjgdgdg}tjj|d<|j}d|d<tjj|d<t |j|jjt |j|jjdS)Nrrrrr)rrr'rJr>r rr)rrxts rtest_transpose_viewz*TestMaskedArrayMethods.test_transpose_views~ EKKIII. / /# S3%,3QVRTY'''QVRTY'''''rcbtjd}d|d<tjj|d<d|d<|}d|d<t |j|jt |j|jdS)Nrrrrrrsr)rrrzrJrr rr)rrxds rtest_diagonal_viewz)TestMaskedArrayMethods.test_diagonal_views EKK  ### ZZ\\#RWajjll/000RWajjll/00000rN).rrrrrrrrrrrrrrrrrr_rrrr rrr/r0rrr%r(r-r2r7r9r?rDrFrOrUrYr`rbrfrirlror~rrrr s<<<@999$   0<<<:::4%%%$888.999")))000>###555,555,555,&==&%=<   000000<777, [Wf-- [\400CC10.-C ***#=#=#=J))) : : :&&&P&&&@000 $$$.555.III$+++<"&"&"&H : : ::::@((($III''' ( ( (11111rrceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZedZdZdZdZeddZdZdZdZdZdS)TestMaskedArrayMathMethodsc tjgd}|dd}|dddd}tjgd}t||}t|||j}t|||j}tjgd}t||} t|||j} t|||j} |||||||| | | f |_dSrrrs rrz'TestMaskedArrayMathMethods.setup_methodrrc |j\ }}}}}}}}} } |d} t| j|dd|d} t| j|dd|d} t| j|dd|d} t| j|dddSNrr)rrdr rr8cumprod) rrrrrBrOrrrrrmXcps rtest_cumsumprodz*TestMaskedArrayMathMethods.test_cumsumprods59V2Ar1b"c3Tyy||TZ1!4!4Q!7!7888yy||TZ1!4!4Q!7!7888zz!}}TZ1!5!5a!8!8999zz!}}TZ1!5!5a!8!899999rcJttjddddd}t x|dddf<x|d<|d<dD]}t t|}t ||}tjdt }| d ||d| }t||ut||d| tdt }|d| }t||udS) Nrrrrrr)rdrurrr6rr)rrrrrrrs rtest_cumsumprod_with_outputz6TestMaskedArrayMathMethods.test_cumsumprod_with_output!s9 29$$QB// 0 0 8 8A > >(..111a4.2a52f:- & &HR**FR**FXfE222F KK   VBQF333F Ff$ % % % QF!;!;!; < < <6---FV///F Ff$ % % % % & &rc |j\ }}}}}}}}} } |j\} }t||t j| t} t j|t} t|D]5}|dd|f| |<6t| D]1}||| |<2t|d| t|d| dSrt) rrmr rrrrzrr)rrrrrBrOrrrrrrrowscolsks rtest_ptpz#TestMaskedArrayMathMethods.test_ptp6s159V2Ar1b"c3TARVVXXr}}2244555x5!!x5!!q 2 2AAh))++//11DGGq / /Ae&&((,,..DGGRVVAYY%%%RVVAYY%%%%%rctddgddgt}|dz}t|ddt|jddS)Nrrrrrrbx)rKrXr r rr.s rtest_add_objectz*TestMaskedArrayMathMethods.test_add_objectDsU #s1a& ? ? ? GQqT4   q rctgdgdt}t|dtgdgdgt}t|dgd dS) Nrrrrrrrrrrrra)rKrXr rtrs rtest_sum_objectz*TestMaskedArrayMathMethods.test_sum_objectJs{ & A A AQUUWWa   )))YYY/v > > >QUUU]]III.....rctgdgdt}t|dtgdgdgt}t|dgd dS) Nrrrrrrrrrrr)rKrXr rrs rtest_prod_objectz+TestMaskedArrayMathMethods.test_prod_objectQs{ & A A AQVVXXu%%% )))YYY/v > > >QVVV^^[[[11111rctgdt}t|dt|gddS)Nrrr)rrr)rKrXr rrrs rtest_meananom_objectz/TestMaskedArrayMathMethods.test_meananom_objectXsR & 1 1 1QVVXXq!!!QVVXXzzz*****rcbtgd}t|j|jd|_t|j|jt t j|dS)NrT) rKr rrmrr rr is_maskedrs rtest_anom_shapez*TestMaskedArrayMathMethods.test_anom_shape^s|  # #QVVXX^QW---QVVXX^QW---))*****rcttjdddd}t |gdgdgt |dgd gd gt |dgd gd ggd gd g|_d}t ||dd|gd|dggt |d|dd|gd|dggt |d|dd|gd|dggdS)Nrrrrr)gr)rrrmrr)rrr)rrr)rrrrNr1r ggg?g@rrrrrrr)rKrr rkrrrr8)rrmvals r test_anomz$TestMaskedArrayMathMethods.test_anomes 1a00A66 7 7AFFHH///A C C CAFFFNN///A C C CAFFFNN*]]MMM: < < <))YYY'AFFHHOOD11#UD1D$3EF H H HAFFFNN11$77"C.dC0@A C C CAFFFNN11$77"C.tS0AB D D D D Drc 0|j\ }}}}}}}}} } |} t||t ||t | j|zdz ttj||tj d ddd} tj | d} t| dd| dddS) Nrr rrFr)axis1axis2) rrr tracerrtrrrr rkrrK)rrrrrBrOrrrrrmXdiagrr=s r test_tracez%TestMaskedArrayMathMethods.test_tracevsF59V2Ar1b"c3TRXXZZ!9!9!;!;!?!?!A!ABBBBHHJJGGIIFK!**,,,F12)4)4)44 5 5 5 RXb\\288::...i&&q1--""3..SYYQaY00%++AQ+2O2OPPPPPrc |j\ }}}}}}}}} } |d} ||} t| d| | t | jt u|d} ||} t| d| | t | jdt| }|||t| ||dd}|d|d}}||} t| d||t| }|||t| |dS)Nrrrrr) rr8dotrr rr`r4rA)rrrrrBrOrrrrrfxrfXrmYYfXXfYYs rtest_dotz#TestMaskedArrayMathMethods.test_dots59V2Ar1b"c3T YYq\\ FF2JJAHHQKK444& !!! YYq\\ FF2JJAHHQKK444s  ]] rrAr"""ll2r""::a==#**Q--S GGCLLAHHQKK666 ]] Ar"""""rcZtddgddggddgddgg}tddgddggddgddgg}tddgddgg}|||t|dddgdd ggt|jddgddggdS) Nrrrrrrrr)rKrrr8rrss rtest_dot_shape_mismatchz2TestMaskedArrayMathMethods.test_dot_shape_mismatchs 1Q%1qeQqE] ; ; ; 1Q%1qeQqE] ; ; ; 1Q%1 ' ' aQAHHQKK1a&2r();<<<AFaVaV$455555rctgdd}tgdd}tt|tjtt|tj||kt jdusJtt jd dd}tdd}tt|d ttt|d tt|d | |ut|d | |udS) NrcrhrTrrrrfrrr) r'r rhrrrrrr rkr3rr )rfoobars rtest_varmean_nomaskz.TestMaskedArrayMathMethods.test_varmean_nomaskspIIIT***IIIT***T#((**%%rz222T#''))__bj111 chhjj(RXd^^;;;;BIbMM))%00===AT"""T#(((**++[999T#''q'//**K888aS))S0111QC((C/00000rc |j\ }}}}}}}}} } t|d|t|d|t|dd|dt|dd|dt |dj|djt |j|j|d|d} } t|dd|dt|dd|dtdD]} t| | || t| | |dd| fttj | | |dd| fdS) Nrrrddofrrrrr rrrrrr rmrrrrrrrrrBrOrrrrrmXvar0mXvar1r}s r test_varstdz&TestMaskedArrayMathMethods.test_varstds59V2Ar1b"c3TBFFF--r}}/B/B/D/DEEEBFFF--r}}/B/B/D/DEEEBFF1F55MMOO//Q/77 9 9 9BFF1F55MMOO//Q/77 9 9 9SWW!W__*BFFFNN,@AAARVVXX^QUUWW]333FFFNNBFFFNNBFF1F55MMOO//Q/77 9 9 9BFF1F55MMOO//Q/77 9 9 9q = =A q 2a5+;+;+=+=+A+A+C+C D D D q 2aaad8+>+>+@+@+D+D+F+F G G G q 2 2 "111a4 3 3 5 5 9 9 ; ; = = = = = =rcNtjdt}tdt}ttdd}dD]}t ||}t |t ut |dt ut |dt u||t |t ut|jd||t tj |ttdd}d |d<dD]}t ||}t |d t ut |dd t ut |dd t u||d t |t ut|jd||d t tj |dS) NrrrTr)rrrrrarr)rr) rr'rr rr rJr rr)rrmoutr methodnamemethods rtest_varstd_specialcasesz3TestMaskedArrayMathMethods.test_varstd_specialcasess%x%(((Ru%%% &**4 ( ( (( $ $JQ ++F FFHH& ' ' ' FF1II' ( ( ( FF2JJ&( ) ) ) Ft     D& ' ' ' D ) ) ) Ft     BHTNN # # # # &**4 ( ( ("( $ $JQ ++F FFNNNf, - - - FF11%%%/ 0 0 0 FF2A&&&&0 1 1 1 Ft! $ $ $ $ D& ' ' ' D ) ) ) Ft! $ $ $ $ BHTNN # # # # $ $rc2tgdgdggdgdg}|dd}t|dgdt|jgd|dd}t|dgdt|jgd|dd}t|dgdt|jgd dS) NrrNrrrrrrr)r'rr r8rrs rtest_varstd_ddofz+TestMaskedArrayMathMethods.test_varstd_ddofs 999iii( 999/E F F Fuu!!u$$T[[^^YYY///TY ***uu!!u$$T[[^^YYY///TY ***uu!!u$$T[[^^YYY///TY *****rctdd}t|d<tj|}t |gdt |}t |gdt |jgdt |}tgdgdgdggdgdgdg }t ||dS) Nrarr)rrr+r1r)rrr)rrr+r)r rkrJrr0r rr')rrrr#s r test_diagz$TestMaskedArrayMathMethods.test_diags 1II  f % %$gajjS)))$$$1ggS)))$$$SXyyy)))3iiIIIyyy9'iiIII>@@@S'"""""rctgdgdg}t|dgdt|dddgt|dddgt|dgd t|ddd gt|ddd gt|dgdt|ddd gt|ddd gt|dgdt|dd dgt|dd dgdS) Nrrrrrrrrrxrr)r'r rtrrZrWrs rtest_axis_methods_nomaskz3TestMaskedArrayMathMethods.test_axis_methods_nomask s 999iii( ) )QUU1XXyyy)))QUU2YYB(((QUU1XX2w'''QVVAYY ,,,QVVBZZ!S***QVVAYYC)))QUU1XXyyy)))QUU2YYA'''QUU1XX1v&&&QUU1XXyyy)))QUU2YYA'''QUU1XX1v&&&&&riZb) free_bytescttjddtjtjd}t |ddS)N)'rirrg@)rKrruint16rzr rrs rtest_mean_overflowz-TestMaskedArrayMathMethods.test_mean_overflowsX biHHH h~66 8 8 8QVVXXw'''''rctjgd}tj|ddd}tj|ddd}tj||d}tj|d}tj|d}t tj||dS)Nrrrrrrrrrrr{r)prependrrrr'rrLdiffr r)rrra_prepdiff1rdiff2s rtest_diff_with_prependz1TestMaskedArrayMathMethods.test_diff_with_prepend%s H--- . . E  quA  . .##AbqbE#33 1f1 55 E  q  * * 11 %%ue,,-----rctjgd}tj|ddd}tj|ddd}tj||d}tj|d}tj|d}t tj||dS)Nrrrrr)appendrrr)rrra_apprrrs rtest_diff_with_appendz0TestMaskedArrayMathMethods.test_diff_with_append2s H--- . . E  q!uA  . .""1QRR5"22 1U 33 E  q  * * 11 %%ue,,-----rctjtd5tjtjdddddS#1swxYwYdS)Nz4diff requires input that is at least one dimensionalrr)rrrrrrr'r s rtest_diff_with_dim_0z/TestMaskedArrayMathMethods.test_diff_with_dim_0?s ] H $ $ EJJrx{{ # # #  $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s2AA"Actjgdd}tj|dd}t tj||dS)Nrrrr)rr)rrrLrr r)rrrs rtest_diff_with_n_0z-TestMaskedArrayMathMethods.test_diff_with_n_0Fs` E  777q  A Auzz!qqz))q$''(((((rN)rrrrrwryr~rrrrrrrrrrrr_rrrrrrrrrrr~rrrqrqs<<<@ : : :&&&* & & & ///222+++ +++DDD" Q Q Q###0666111 ===,& $ $&% $D + + + # # #'''(_ 4555((65( . . . . . .$$$)))))rrqceZdZdZdZdS)!TestMaskedArrayMathMethodsComplexc tjgd}|dd}|dddd}tjgd}t||}t|||j}t|||j}tjgd}t||} t|||j} t|||j} |||||||| | | f |_dS)N)$y @yGz.@y-!@y!@y&1?rrrrrrrrrrrrrrrrrry"~@yK7@rrrrrrrrrry-?rrrrrrrrs rrz.TestMaskedArrayMathMethodsComplex.setup_methodOsY HAAA B B IIaOO YYq!Q " " H''' ( (  " " "  !' 2 2 3 3 3!))BH"5"5666 X((()) $$$AG!4!4555"2::bh#7#7888QAr2sCd;rc |j\ }}}}}}}}} } t|d|t|d|t |dj|djt |j|j|d|d} } t|dd|dt|dd|dtdD]} t| | || t| | |dd| fttj | | |dd| fdS) Nrrrrrrrrrrs rrz-TestMaskedArrayMathMethodsComplex.test_varstdosJ59V2Ar1b"c3TBFFF--r}}/B/B/D/DEEEBFFF--r}}/B/B/D/DEEESWW!W__*BFFFNN,@AAARVVXX^QUUWW]333FFFNNBFFFNNBFF1F55MMOO//Q/77 9 9 9BFF1F55MMOO//Q/77 9 9 9q = =A q 2a5+;+;+=+=+A+A+C+C D D D q 2aaad8+>+>+@+@+D+D+F+F G G G q 2 2 "111a4 3 3 5 5 9 9 ; ; = = = = = =rN)rrrrrr~rrrrMs3<<<@=====rrc|eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZejeddZdZdZdZdZdZdZdZdZdZ ej!dddgd Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,S)-TestMaskedArrayFunctionsctjddddtdz dddddddg }tjgd }gd }gd }t|| }t|| }|d ||f|_dS)Nrrrrrrrrrrrrr)rr'rrKrr,)rrrrrrrs rrz%TestMaskedArrayFunctions.setup_methods Hb"b#r#vr2tS"b"M N N HJJJ K K 1 1 1 1 1 1 !" % % % !" % % % %   H rc~ddg}td|}t|ddgt|dddS)NrrF)rVr r.s rtest_masked_where_boolz/TestMaskedArrayFunctions.test_masked_where_boolsH F  " "QAQqT1rcgd}t|d}t||t|jgdt|d}t||t|jgddS)NrrrNr)rLr rrRr<s rtest_masked_equal_wlistz0TestMaskedArrayFunctions.test_masked_equal_wlists{ II !Q  RRXyyy))) a # #RRXyyy)))))rcgd}t|d}t|jgdt|jddS)NrrrN)rLr rr7r<s rtest_masked_equal_fill_valuez5TestMaskedArrayFunctions.test_masked_equal_fill_valuesH II !Q  RXyyy)))R]A&&&&&rctgd}t|d<ttt |d|t |dttt |d|t|dttt|d|t|dttt|d|t|dttt|d|t|dttt|d|t|dttt|d|t|dttgdgdgddS)NrrrrW)rbrbrrr)r'rJr rVr>rMr?rNrCrPrDrQrarRr5rLrs rtest_masked_where_conditionz4TestMaskedArrayFunctions.test_masked_where_conditions &&& ' '!\'!Q--33^Aq5I5IJJJ\-1"5"5q99)!Q// 1 1 1\$q!**a00+a2C2CDDD\*Q"2"2A66&q!,, . . .\)Aq//1557G17M7MNNN\%1++q11<13E3EFFF\)Aq//1557G17M7MNNN\///???CC&&& ( ( ( ( (rctdt}t|jt}t ||}t ||dS)N)rrrr)rbrrzrmrrVr )rrrctests rtest_masked_where_odditiesz3TestMaskedArrayFunctions.test_masked_where_odditiessJ\///ek8,,UE**UE"""""rctd}tt5td|dddn #1swxYwYt|d}t |jgddS)Nrr) rrrrrrrrrr)r r IndexErrorrLr rrs r"test_masked_where_shape_constraintz;TestMaskedArrayFunctions.test_masked_where_shape_constraints 2JJ : & &   A                  Aq!!TY > > >?????sAAAc tjdddg}tjd5tj|ddk|}dddn #1swxYwYt |jjj|jjt |dtj tjdtj ddS) Nr)r&z>1a88*** , , ,^DqNNAq99;N;N;NOOO]5eAhh.=oo$?$?$?@A1FFFJ$__ & & & ^E$uQxx../>%@%@%@ABAGGGK$__ & & & \%U1XX-<__#>#>#>?@BBBF$__ & & & %eOOO1@'B'B'BCDFFFJ$__ & & & & &rctgdgd}t|gdt|dgdt|dgdt|}|| t|gdtgd }tgd }t|d <t ||| }t|gd t|d<t ||| }t|gd t |dtut |dtut |d tudS)N)g82?g @g,E| @gE@gŏ1@r r)rrrrr5r)g333333?gffffff@rgffffff@g@r)g(\?gS㥛@g- @gʡE@gK@rrrrrr)r'r rr4rJryr )rrrrrrs r test_roundz#TestMaskedArrayFunctions.test_rounds ???& ( ( (QWWYY 4 4 4555QWWQZZ!:!:!:;;;QWWQZZ!D!D!DEEE qMM AQ,,,--- &&& ' ' /// " "! !QOOQ---...! !QOOQ---...!!F"###!rc0ttjddddd}t x|dddf<x|d<|d<tjdt}|d tj |d | }t||ut|| d | t dt}| d | }t||udS) Nrrrrrrrrr6r)decimalsr) r'rrrrkrJr3rrrr r )rrrrs rtest_round_with_outputz/TestMaskedArrayFunctions.test_round_with_outputs 29$$QB// 0 0 8 8A > >(..111a4.2a52f:&... E"qf555& !!!VRXXqfX==>>>vU+++1&11& !!!!!rctddg}t|dtddg}t|tutddg}t jdt}|d||t|dtddg}td dg}||t|d dtddg}td dg}||t|d tudS) Nr?FrrTrr6rgr~) r'r rr rJrr3rr)rrrs rtest_round_with_scalarz/TestMaskedArrayFunctions.test_round_with_scalarsf #UG $ $ $QWWYY""" #TF # # # V#$$$ #UG $ $ $!5))) E FVQ #UG $ $ $vTF+++ FVBZ### #TF # # #vUG,,, Fr f$%%%%%rctd}tt|tt |t jddSNr)r@r rrr rrs r test_identityz&TestMaskedArrayFunctions.test_identity'sC QKK 1k**+++Q A'''''rcd}tt|ddtt|ttut gd}t gdgd}t||}t|gdt |jgd t|_t||}t |jgd ||z}t |j|jt||t|j |j ||z}t |j|jt||t|j |j dS) N皙r\(\?)rrr?r?r)rrrrrrr)rrgKTj?rrr) rrer rJr'r rr`rr)rrrrrs r test_powerz#TestMaskedArrayFunctions.test_power,sY E!RLL$///a  F*+++ ,,, - - ))) @ @ @ !QKKAAAABBBQWooo... !QKKQWooo... FQWag&&&Aq!!!AGQW--- aQWag&&&Aq!!!AGQW-----rc8tjgdgdg}t|gdgdg}tjgd}tj||g}t|gdgdg}tgdgd ggd gd g}||z}t||t|j|j||z}t||t|j|j||z}t||t|j|jtgd gd ggdgdg}||z}t||t|j|j||z}t||t|j|jdS) Nr)rrr5rrNrrLr1)rr)riqrrrr)rr)rr'r r)ra2a2mb1b2b2mrNrs rtest_power_with_broadcastingz5TestMaskedArrayFunctions.test_power_with_broadcastingAs X|||\\\2 3 3Biii3444 Xiii  Xr2h  Biii3444...0H0H0HI$99iii0222czT4   TY ***byT4   TY)))SyT4   TY)))...0H0H0HI$99iii0222SyT4   TY ***byT4   TY *****rzfp errors don't work in wasmreasoncjtjddddtdz dddddddg }tjgd }gd }gd }t|| }t|| }|d t |dk|d}t |gdt |j|jt |dkd|}t |gdt |jgdt |dk|t}t |gd|j }d||dk d<t |j|tj d5tj td5|t } dddn #1swxYwYdddn #1swxYwYt | dk| t}t |gdt |j| jdS)Nrrrrrrrrrrrrrr) "rrrrrrrrrrr) rrrrrrrrrrrr) rrrrrrrrrrrrTrrLz invalid valuer) r r r r r rr r rr r r)rr'rrKrryr rrJrr8rOrrRuntimeWarningrrr) rrrrrrrrtmpixms r test_wherez#TestMaskedArrayFunctions.test_whereas Hb"b#r#vr2tS"b"M N N HJJJ K K 1 1 1 1 1 1 !" % % % !" % % % %   "q&"b ! !Q666 7 7 7QWbh''' "q&"b ! !Q666 7 7 7QWBBBCCC "q&"f % %Q666 7 7 7hmmoo&*R1W  T " "#QWc""" [ ( ( ( % %nODDD % %iinn % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % #'3 ' 'QFFFGGGQWci(((((s6G"$G ? G" G G"G G""G&)G&c0tjd}td}|}t tjd|||t tjd|||dS)NT)rr'rKrr rry)rrrrs rtest_where_objectz*TestMaskedArrayFunctions.test_where_objectss HTNN    FFHHRU[[q!,,a000RU[[q!,,a00000rcXtd}t|d<|dk}t||t}t|j|jut|dtut|dtut|dtut|dtut|dtut ||t|t|}t|j|jut|dtut|dtut|dtut|dtut|dtudS)Nrrr+rrrra)r rJryr rr rs rtest_where_with_masked_choicez6TestMaskedArrayFunctions.test_where_with_masked_choicese 2JJ! F !Q  17"###!!!!F"###!F"###Q !VQ  17"###!!F"###!F"###!!rctgd}tgd}t|d<t||| }t|gdt|d<t||| }t|gdt |dtut |dtut |dtut dd}t|d<t ddd z}t|d<tgdgd  }|d}t|||}t|||}t||t t|tut|gd t|td}t|gd t|dt}t|gddS)Nrrrrrrrrrr r)rrrrCr)rbrbrbrr)rbrrrbrb) r'rJryr r r r8r<r`)rrrrrcmrs r test_where_with_masked_conditionz9TestMaskedArrayFunctions.test_where_with_masked_conditions &&& ' ' /// " "! !QOOQ---...! !QOOQ---...!!F"###! 1aLL" 1aLL2 ! /// 8 8 8 XXa[[ !QNN 2q!__Q v%&&&R***+++ !VQ  Q***+++ !Q  Q***+++++rc2tjdtj}tjdtjdz}t |dk||j}tjtjtj}t||dS)Nrrr@r)rr rryryr result_typer )rrrrr#s rtest_where_typez(TestMaskedArrayFunctions.test_where_typesv Iarx ( ( ( Iarz * * *S 0QWa##).2:66T7#####rc(tjddd}tjd}tjgd||}t gd||}t ||t |j|jdS)Nrarr)rr rkrzryr r)rrrrrs rtest_where_broadcastz-TestMaskedArrayFunctions.test_where_broadcasts IaLL A & & HQKKx 1a(( 999a # #T2TZ*****rc^tjdtfdtfg}tjgd|}tjd|}tjgd||}tjgd||}t ||t |j|jdS)NrrrCrrr)rrr)rrrr'ryr )rr[rrrrs rtest_where_structuredz.TestMaskedArrayFunctions.test_where_structureds XSzC:. / / H---R 8 8 8 HXR ( ( (x 1a(( XiiiA & &T2TZ*****rcZtjdtfdtfg}tjgd|}t gd|t }t gd|}t|j|jt||t|j|jdS)Nrrr rrr) rrrr'ryrJrVr r)rr[rrrs rtest_where_structured_maskedz5TestMaskedArrayFunctions.test_where_structured_maskeds XSzC:. / / H---R 8 8 8 999a ( ( 1--RXx~...R"""RWhm,,,,,rctjdt}tj|d<tj|d<t jtd5tj |ddddS#1swxYwYdS)Nrrrrz!not supported for the input typesr) rr rXPINFNaNrrr3rmasked_invalidrs rtest_masked_invalid_errorz2TestMaskedArrayFunctions.test_masked_invalid_errors Iav & & &w!v! ]9!DFFF $ $ E  # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s BB BcGdd}tj|}t|jtj|t|jgddS)NceZdZdZdZdS)CTestMaskedArrayFunctions.test_masked_invalid_pandas..SeriesnonsensecXtjdtjtjgSr)rr'rPrxr s r __array__zMTestMaskedArrayFunctions.test_masked_invalid_pandas..Series.__array__sxBFBF 3444rN)rrrrr.r~rrSeriesr+s(E 5 5 5 5 5rr/)FTT)rrr'r rr'r)rr/rs rtest_masked_invalid_pandasz3TestMaskedArrayFunctions.test_masked_invalid_pandass 5 5 5 5 5 5 5 5 e""6688,,39bhvvxx&8&899939&9&9&9:::::rrTFc4tjgd}|jtusJtj||}|jtusJ|jtusJtj|j|j|ksJdS)Nrcr) rrr'rr`r'rrr)rrrr"s rtest_masked_invalid_full_maskz6TestMaskedArrayFunctions.test_masked_invalid_full_masks EKK % %w&    e""14"00xv%%%%v"17CI66$>>>>>>rcgdgdgdgdg}tgd|}t|tgdtgd|d }t|tgdtgd|d }t|tgd tgdgd  }t||d }t|tgdt|jgd t|gdgdgdgdg }gd}t||d }t|tgdt|jgd dS)NrrrrrrQrrrrrErr!rrrrrrrr)rrrrrrIwrap)rrrrrrrrr)rbrrrbrrrrrrr)r)r r'r)rchoiceschosenindices_s r test_choosez$TestMaskedArrayFunctions.test_chooses<>>22333LLL999'777VU???33444V[,,,///|||\\\'3||\\\'CDDD<<'777VU???33444V[,,,/////rcgdgdgdgdg}tdt}tgd||}t|t gd t ||utdt}t gdgd  }t||d | }t|t gdt|jgd t |gdgdgdgdg }gd}tdtt}t||d | }t|t gddS)Nr4r5r6r9rrr;rr<r>rr=)rJr)rbrrrbrr?rr)rSrrrS) r3rr)r r'r rrr )rr@rrArBs rtest_choose_with_outz-TestMaskedArrayFunctions.test_choose_with_outs<)rr)r=r)r>r)r&rrr) rrHr rr rrrr)rntyperr# base_type base_mtypesub_types rtest_make_mask_descrz-TestMaskedArrayFunctions.test_make_mask_descrNsuU|,u%%TS$K#t5666---... u%%TD!9%%%---...u%%T28D>>***---...utUmdE]%CDEu%%(K# l/K)LMNNT7###---...qz"#u%%T28cD!9%5$677888---...e$%u%%T28j$%7$899:::---...HsCm_-- $Y// 8c3Z#z):;<<x((T28c4[3#tQ8H2I$JKKLLL C #z122222rc&ddg}t|}t|jtt|ddgt jddgt }t|}t|jtt|ddgdt fdt fg}t jddg|}t|}t|jtt|ddgdt fdt fg}t jddg|}t||j}t|j|t||dtfdtfg}dt fdt fg}t jddg|}t||j}t|j|t|t jddg|t jdd d }tt|tj t||j}t||t||ut jdd d }t||j}t||d d g}ttg}d}tj |||D];\} } } tt| | | } t| tu|| | | fz > > > ? ?rcldtfdtfg}tjgd|}t|t}t ||tt|}t ||t|d}t ||tjgd|}t||}tjgd|}t ||dtfd tfg}tjgd|} t||}n#t $rYnwxYwdtfdd tfd tfgfg}tjd d g|}tjd dg|} tjdd g|} t t|| | dS)Nrr)rrrrrF)rrrr)rrrrr&rr=r>rrrrr)rrr'rIr`r r) rrrrrr# othertyperrbmaskcntrls r test_mask_orz%TestMaskedArrayFunctions.test_mask_orstsDk*x888FFFtV$$T4   vt$$T4   tU##T4   999GGGtU##(;;;5IIIT7###4[3+. 999KKK 4''DD    D tsdD\D$<$@AB+{35AAA+{35AAA+{35AAAWUE**E22222sD!! D.-D.c(tjgdt}tt ||tjddgdtfdtfg}t |}tjgdt}t||dtfddtfd tfgfg}d d g}tj||}t |}tjgd t}t||dS) NrNrrrrrrr=r>rZr)rrrrrr)rr'rr r7)rrrr#rPrs rtest_flatten_maskz*TestMaskedArrayFunctions.test_flatten_masks x ...\$''...x(#tsDk0JKKKD!!(<<.ANrrrr~rrr&rh Drr&rrceZdZdS)3TestMaskedArrayFunctions.test_compressed..MNrir~rrrrl rjrrceZdZdZdS)rlcdS)Nrhr~r s rrz>TestMaskedArrayFunctions.test_compressed..M.compressedsrrN)rrrrr~rrrz3TestMaskedArrayFunctions.test_compressed..Ms#     rrh) rrr'rr rhr r rr)rrrr&rs rrz(TestMaskedArrayFunctions.test_compresseds EKKA  u""T bj()))          EKK # #u""T a   u!aS **TY"""uQC5' ,,TY"""         uB4",00TY"""         uB4",00T2rc6ttjdd}tjddg}tj||}t |tgddtj||d}t |tgddtjddggd }t |tgd dddg}tgd d}tj||d}t |tgd dtj||d }t |tgdddS)Nrrr)rrrrrrrrF)propagate_mask)rrrrrrrr)rrrr)rrrr)rrrrrT)rrrrr)rLrr r'rconvolver )rrrrs r test_convolvez&TestMaskedArrayFunctions.test_convolvesm 1q ) ) HaV  u~~a##T<(<(<(>>u~~a4~88T<(<(<($$$$,,, $ $ $"""HCCCCCrrcPeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d S) TestMaskedFieldsc  gd}gd}gd}dtfdtfdg}dtfdtfdtfg}gd}tt t ||||| }t |||| |_dS) NrW)r?r@rZr\r^)rXrYthreefourfiverrrarrr)baserddtyperP)rrrr'rrr*r)rilistflistslistr{rPrrzs rrzTestMaskedFields.setup_method-s)))777*sElL9+T{S$K8T#eUE2233$fMMMdfVLLL rcn|jd}|jd}t|_t|jt j|j|t|_t|jt j |j|d|_t|jt j|j|d|_t|jt j |j|gd|_t|jt j ddD|dS)NrzrPrFTr?cg|]}|||fSr~r~)rrs rrz;TestMaskedFields.test_set_records_masks..Gs&J&J&JQ1ay&J&J&Jr) rr`rrrrrzrmrJrbr')rrzrPs rtest_set_records_masksz'TestMaskedFields.test_set_records_masks7sy 8$ TZ$*F)K)K)KLLL TZ6)J)J)JKKK TZ$*F)K)K)KLLL TZ6)J)J)JKKK#OO TZX&J&J/&J&J&J,2444 5 5 5 5 5rc|jd}|d|d|d}}}ttdf|d<t|jtt|jgdt|jt t|jtdd d d gt|jd t|jgd dS)Nrzrrrrr)rrrrrr@rZr\r^r )pirRsthreefourfiverrr rrrrrrzbase_abase_bbase_cs rtest_set_record_elementz(TestMaskedFields.test_set_record_elementJsy $(ItCy$s)r4.QV\3'''V\???333V\5)))V\BS#s#;<<<V\5)))V\@@@ B B B B Brc|jd}|d|d|d}}}ttdf|dd<t|jtt|jgdt|jt t|jtttdd gt|jd t|jgd dS) Nrzrrrrr)rrrrrr\r^r )rrrrrrrs rtest_set_record_slicez&TestMaskedFields.test_set_record_sliceZsy $(ItCy$s)D>RaRV\3'''V\???333V\5)))V\BBS#9:::V\5)))V\<<< > > > > >rc|jd}t|d<dD]E}t||jgdt||j|j|FdS)zCheck record accessrzr)rrrr-N)rrJr rr)rrzrs rtest_mask_elementz"TestMaskedFields.test_mask_elementisiy Q  7 7A a 7 7 7 a 1 6 6 6 6 7 7rc8dtfdtfg}td|}tt |t jgdddgt|dd<tt |t jgdddgdS) Nrrrr)rrr)r|b1)rr)rrr)rrr3r r=rr'rJ)rrrs rtest_getmaskarrayz"TestMaskedFields.test_getmaskarrayrs*sEl+Qf%%%\$''X666%1<$@BBB C C CQQQ\$''X666%1<$@BBB C C C C Crctttjdtjd}tj|}t |dtfdtfg}d|jd<tjdgddgzzt}| t}t|| t|j|| td f}t||t|j| d d dS) Nrrrrrrrrr)rrrr rrr'rrrrr rirk)riteratorrr controlmaskrs r test_viewzTestMaskedFields.test_view~sBIbMM29>>"+=+=>>??x!! (C<#u"> ? ? ?q hsR1#X~T::: vve}}T4::<<(((TY ,,,vvuaj!!T4   TY 3 3B : :;;;;;rc dtfdtfg}ttttjdt jd|t jttgdgddtfdtfg_ fd}|d|d |d dS) Nrrrr) rrrrrrrrrr) rrrrrrrrrrctt|tt|jj|t|jj|tt|dft t|dfjj|dft|dfjj|dfdS)N.)r rhr_rrrr)rrs r _test_indexz2TestMaskedFields.test_getitem.._test_indexs adU + + + 1QWQZ 8 8 8 1QWQZ 8 8 8 a3i+ 6 6 6 1S53 @ @ @ 1S53 @ @ @ @ @rrrr) rr'rrrrrr rr)rrrrs @r test_getitemzTestMaskedFields.test_getitems,e - $s29>>"--ry}}==>>f M M M$s#A#A#A#A#A#A C CDD"%tsDk :<<< A A A A A  A A Brchtjdtfdtfg}tjddg|}d|dd<t |dtjddgd |dd<t |dtjdd gtjdtfdtfg}tjd d g|}tj d |}d |dd<t |j |tj d |}d |dd<t |j |tjd d g|}tj d |}| d |dd<t |j |tj d |}| d |dd<t |j |dS)Nrr)rr)rrrrrrrr)TTrGrr) rrrrrrr r'rrwrrG)rrrrPr#rs r test_setitemzTestMaskedFields.test_setitemsC<#s455 U  (36  B B3 RWbhSz223331c RWbhSz22333C;d 455(M<8GGG E  T  0 0#q QVW%%% E  T  0 0!S QVW%%%(L,7vFFF E  T  0 0 #q QVW%%% E  T  0 0 !S QVW%%%%%rctjdd}tjd}||d<t |jgddS)NrTrrrrt)rrrKr r r)rmask_0drs rtest_setitem_scalarz$TestMaskedFields.test_setitem_scalarsU%$$QT$22ell1ooA38%9%9%9:::::rc|jdD]7}tt|t|jd8dS)Nrzr{)rr r)rrecs rtest_element_lenz!TestMaskedFields.test_element_lensJ9V$ = =C S3ty':#;#; < < < < = =rN)rrrrrrrrrrrrrrr~rrruru+sMMM555&BBB > > >777 C C C<<< (&&&<;;;=====rruceZdZdZdZdS)TestMaskedObjectArrayctjddg}ttfD]>}tjd|}tjd|}||d<||d<t|d|ut|d|utt|dttt|dtt|dd|ut|dd|utjj |d<t|d|utt|dttt|dtt|dj dt|dd|ut|dj |t|dj dt|ddj |t|ddj d@dS) Nrrrrr.)r.r~T)rrr'rrXr=rr rrrJr rr)rrr[a0a1s rrz"TestMaskedObjectArray.test_getitems ekk4,''&/ 4 4B!!"%%B!!"%%BCFCF CFbL ! ! ! CFbL ! ! ! Js5z;77 8 8 8 Js5z;77 8 8 8 CJrNb( ) ) ) CJrNb( ) ) )U\CF CFbL ! ! ! Js5z;77 8 8 8 Js5z;77 8 8 8 U$ / / / CJrNb( ) ) ) Qb ) ) ) Qd + + + UB,b 1 1 1 UB,d 3 3 3 33 4 4rctjddg}tjtjjgtd|d<t |jdtjjut |dtjjutjj|d<t |dtjjudS)Nrr)rrr'rJrXr r)rrs rtest_nested_maz$TestMaskedObjectArray.test_nested_masekk4,''Xru|nf55e<E   ru|+,,, A"%,&'''AA"%,&'''''rN)rrrrrr~rrrrs2444:(((((rrc8eZdZdZdZdZdZdZdZdZ dS) TestMaskedViewcvtttjdtjd}tj|}t |dtfdtfg}d|jd<tjdgddgzzt}|||f|_ dS) Nrrrrrrrr) rrrr rrr'rrrr)rrrrrs rrzTestMaskedView.setup_methodsBIbMM29>>"+=+=>>??x!! (C<#u"> ? ? ?q hsR1#X~T::: 1k* rc|j\}}}|}tt|tt |j|jt |j|jdSr)rrr rrr rrrrrrrs rtest_view_to_nothingz#TestMaskedView.test_view_to_nothingsc!%q+vvxx 4--...TZ)))TZ)))))rc>|j\}}}|tj}t t |t  t||jt|||j  dSr) rrrr r rrr rrrr;rs rtest_view_to_typez TestMaskedView.test_view_to_types!%q+vvbj!!Jt[111222T17###T499QW#5#5#=#=#?#?@@@@@rc|j\}}}|t}tt |t t ||t |j|dSr) rrrr rrr rirrs rtest_view_to_simple_dtypez(TestMaskedView.test_view_to_simple_dtypesg!%q+vve}} 4--...T4::<<(((TY ,,,,,rc|j\}}}|dtfdtfg}t|jjjdt|d|dt|d|d|ddtfdtfg}tt|tt|jjjdt|d|ddt|d|dd|ddtfdtfg}tt|tt|jjdt|d|ddt|d|dddS)Nr&r)r&rrrrr) rrrr rrr,r rrrs rtest_view_to_flexible_dtypez*TestMaskedView.test_view_to_flexible_dtypes!%q+vvU|c5\233TY_*J777T#Y#'''T#Y#'''tyy3,e 566 4--...TY_*J777T#Y#q ***T#Y#q ***uzzC<#u677 4--...TZ%z222T#Y#r +++T#Y#r +++++rc|j\}}}|tdf}tt |t t ||t |j|dd|dtdf}tt |t t ||dt |jd|dtdf}tt |t t ||ddS)Nrrrr) rrrr rrr rrkrs rtest_view_to_subdtypez$TestMaskedView.test_view_to_subdtype1s!%q+vvuaj!! 4--...T4   TY 3 3B : :;;;tyy%$$ 4--...T47###TY'''uzz5!*%% 4--...T48$$$$$rc|j\}}}|tdftj}t ||t t|tjt t|t dS)Nr) rrrrrr r rrrs rtest_view_to_dtype_and_typez*TestMaskedView.test_view_to_dtype_and_typeBst!%q+vvuaj"+..T4    4--...Jt[11122222rN) rrrrrrrrrrr~rrrrs+++***AAA---,,,(%%%"33333rrceZdZdZdZdS)TestOptionalArgscTtjdd}tjdtd}d|dddddf<tj||}d}d }d D]}||||||||d D]}||||tjddd zd k}tj||}dD]}||||||||dS)N8@rrrTrrc Ttj|}tj|}t ||ddddf||dddfdt ||ddddf||dddfddS)Nrr.rr)r"__getattribute__rrr r rrnumpy_fma_fs rtestaxisz4TestOptionalArgs.test_ndarrayfuncs..testaxisUs,Q//G5))!,,D aaSbS1771S"W:A3N3N3N O O O ae,,,S"W5 3ss7%888 : : : : :rc tj|}tj|}t ||dj||djt ||dj||djt ||dddddf||dddfddt ||dddddf||dddfdddS) NTkeepdimsFrrr.rr)r"rrrr rmrs r testkeepdimsz8TestOptionalArgs.test_ndarrayfuncs..testkeepdims^sW,Q//G5))!,,D a$///5 T2228 : : : a%0006 U3339 ; ; ; aa$777CRC@ 3ss7!dCCC E E E aed;;;CGD 3ss7%$GGG I I I I Ir)rtrrrrrrr)rr)rr rkrzrrr')rrrBrrrr s rtest_ndarrayfuncsz"TestOptionalArgs.test_ndarrayfuncsLsr IdOO # #G , , HRt $ $ $ , ,W 5 5!!!AAAb& EKKK " " : : : I I I 7 " "A HQ1    LAq ! ! ! !  A HQ1     Yr]] " "7 + +A - 2 EKKK " " " "A HQ1    LAq ! ! ! ! " "rcntjdd}tjdtd}d|dddddf<tj||}tt|dtt|d d td ztt|d dtdztt|ddtdztt|d dd tdztt|d ddtdztt|d d td zttt|d ttj t|d tj|t}tt|dtt|d dtd ztt|d dtdztt|ddtdzttjt|ddtt|d ddtdztt|d ddtdztt|d dtd zttt|d ttj t|d tttjjdttj ttjd d dS)NrrrrTrrrrrr)rrrrrrrr)rrr)rrrrrrr)rr rkrzrrr'r r.rbrrrr`rrJ)rrrBrs r test_countzTestOptionalArgs.test_count{sd IdOO # #G , , HRt $ $ $ , ,W 5 5!!!Aaaa% EKKK " "U1XXr"""U11%%%qe}555U15)))1T$ZZ<888U1t,,,bg.>???U11t444aW oFFFU154888!DMM/JJJU12&&&$u++ 666j%7777blE115555 EKKK ' 'U1XXr"""U11%%%qe}555U15)))1T$ZZ<888U1t,,,bg.>???RWU1t44455q999U11t444aW oFFFU154888!DMM/JJJU12&&&$u++ 666j%7777blE115555 U25<((!,,, blE25;;q>>BBBBBBrN)rrrrrr~rrrrKs8-"-"-"^$C$C$C$C$CrrceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zejd dZejd dZdZdZdS)TestMaskedConstantcHt|tjjdtjjutjgd}|tjj|}t|tjjutt |tjjj t|j |j ttj |tj |j tdS)Nrrr) r rrrJr'rrMaskedConstantr rmr<rbr)rrvectorrs r _do_add_testzTestMaskedConstant._do_add_testsBEL!$$ 4555)))$$RU\6** bel*+++Jvruz'@AAABBBV\6<000RU]]6**BGFL,M,M,MNNNNNrcD|tjdSr)rrrr s r test_ufunczTestMaskedConstant.test_ufuncs "&!!!!!rc2|ddS)Nc ||zSrr~rrs rrz2TestMaskedConstant.test_operator..s q1ur)rr s r test_operatorz TestMaskedConstant.test_operators  ,,-----rctjtjj}t t |tjjj t |tjjudSr)rrr'rJr rrrrs r test_ctorzTestMaskedConstant.test_ctorsZ EKK % % Jq"%*";<<<===%&&&&&rctttjjdtjjtjjj}tt|ddS)NrJ) r rgrrrJr__new__rrr)rmasked2s r test_reprzTestMaskedConstant.test_reprs] T"%,''222%#++BEJ,EFFg11111rctddlm}tdtjdzD]}|5}tjt jj||| dtj |}dddn #1swxYwYt|t jjudS)Nr)BytesIOrrr) iorrr|rdumprrrJseekloadr )rrrr r"s r test_picklezTestMaskedConstant.test_pickles1f59:: ) )E %a BEL!e<<<<q k!nn % % % % % % % % % % % % % % % C25<' ( ( ( (  ) )sAB  B B cttjjtjjutjtjudSr)r rrrJrTrue_r s rrzTestMaskedConstant.test_copysP  EL    25< / HMMOOrx ' ) ) ) ) )rcddl}t|jtjjtjjudSr)rr rrrJrrs r test__copyzTestMaskedConstant.test__copysC  DIbel # #ru| 3 5 5 5 5 5rcddl}t|jtjjtjjudSr)rr rrrrJrs rrz TestMaskedConstant.test_deepcopysC  DM"%, ' '25< 7 9 9 9 9 9rcltjj}ttjjjt j|ddttt j|j ddttt j|j ddtjj tjj }ttt j|ddttt j|j ddttt j|j dddS)Nr~rF) rrrJrrrr3setitemrrrrr)rorigrs rtest_immutablez!TestMaskedConstant.test_immutablesu|bej*H,.SubNrir~rrSubrsrrrJ)rhrrrJr rrg)rrrs r test_subclassz TestMaskedConstant.test_subclasss~+++++$ru|$$+++ CEESSUU %&&&a(+++++rcttttjjddttttjjdtjdS)NrmrLr)rrsetattrrrrJrr s rtest_attributes_readonlyz+TestMaskedConstant.test_attributes_readonly s>ngru|WdKKKngru|WbhOOOOOrN)rrrrrrrrrrrrrrrrr/xfailrrrrr~rrrrsO O O O"""...'''222))))))555 999 J J J444 ###  [m,,$$-,$  [m,,%%-,% ,,,PPPPPrrceZdZdZdS)TestMaskedWhereAliasescttjdgtjd}t |jdgttjtj}t |jdtjtjtj }t |jdtjgddd}t|jtjj utjgddd}t |jdgdzdS) NgiTFrcrrr) rUrr'r1r rrxrr r`)rr"s rtest_masked_valuesz)TestMaskedWhereAliases.test_masked_valuessBHhZ00"(62B2BCCSXv&&&BFBF++SXt$$$e!!"&26'22SXu%%%e!!,,,$!??BEL()))e!!,,,%!@@SXw{+++++rN)rrrr r~rrr r s#,,,,,rr ctjgdgd}ttj|dgdggdS)Nr4)rrrrrrr)rrr'r argwherers rtest_masked_arrayr'sG  LLL||| 44AQ1#s,,,,,rcRtjgd}tj|dk|d}t |jgdtjgdgd}tj|dk|d}t |jgdtjtjd d dd g}tj|d}t |jgd dS) NrcrFr)FFTFrr)TFTFrrr)TFFFF)rrr'rVr rrxr')rrs rtest_masked_array_no_copyr+s  LLL!!A 161511Aqv:::;;;  LLL||| 44A 161511Aqv999:::  RVQ1a())A QU++AqvAAABBBBBrctjgdd}tjgdd}tj||}gd}gd}t |j|t |j|tjd}tjd}tj||}d gd z}d gd zd gd zz}t |jd|t |j|tj||d}t |jd|t |j|dS)Nrrr)rrr)rrrrrr)FTFFFTrs)rrrrTrFrr) rrrLrr rrrwrb)rrr expected_data expected_masks rtest_append_masked_arrayr9sZ 777!,,A 777!,,A U\\!Q  F&&&M<<%:; < 28E??#8 8 8 8 8C A!'.. .///ahhqweh4455rzBBB ((17#( & &C CI "### CHN '((( 8AU$ / / /D : rx4 4 4 4 4 9? BHUOO$9 9 9 9 9D A!5uDAAA ABBB 8AQWCt < < 1r cd}d}ttjj|jd|dS)NcdS)zyThis docstring Has multiple lines And notes Notes ----- original note Nr~r s rrztest_doc_note..methods  rzNThis docstring Has multiple lines And notes Notes ----- note original notenote)r rrrr2__doc__)r expected_docs r test_doc_noter;sF     L$$V^V<>Q      rctjddgdtj}tjd}tj||d}tj|tj|jtj}tjddtj}tj |tj |dS) NrTr8rFrrr) rrrKrr'rrbrmrrr)r?rrr's r test_gh_21022rBs U  b"XD  K KF 8A;;D WV$ 7 7 7F U  %'WV\%J%J%J LLF E  BT  D DEM%M&rctjddgddgddgdggddgddgddggt}t j|}|ddd gt|ddksJt|dd ksJt|j |j d|j d <|j d dksJdS) Nrdogrrcatrrr=rrr) rrr'rXrrextendrr rr>s rtest_deepcopy_2d_objrGs U[[1e*a&q65/+ !!f !f !f&% &&F}V$$H TN=qABBB vd|   ! ! ! ! x~  ! # # # #...HN4 <  " " " " " "rctjddgt}t j|}d|d<t |dt |ddS)Nrr.)rrr'rXrrr r>s rtest_deepcopy_0d_objrJs[ U[[!F[ 3 3F}V$$HHSM2r)r9 __author__sysrrr3rOrr functoolsrr"r numpy.ma.corenumpy.core.fromnumericrrnumpy.core.umathr numpy.testingrrrrnumpy.testing._private.utilsrr numpy.compatr numpy.ma.testutilsr 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@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rr_rrMaskedArrayFutureWarningr1r2rrar9rlrrrrqrrrurrrrr rrrrrrr$r-r/r0rr1r3r5rsr?optimizer;r@rBrGrJr~rrrWs  )   ,,,,,,,,, 988888  " U$5#4#6#6 '' HM*MOOO 9 8$7 8 8 8 ' 'w ' ' 'ttttttttnf .f .f .f .f .f .f .f .Rm,m,m,m,m,m,m,m,`OEOEOEOEOEOEOEOEd NNNNNNNN`m0m0m0m0m0m0m0m0`I 1I 1I 1I 1I 1I 1I 1I 1XX)X)X)X)X)X)X)X)v 2=2=2=2=2=2=2=2=jf Cf Cf Cf Cf Cf Cf Cf CR_=_=_=_=_=_=_=_=D-(-(-(-(-(-(-(-(`K3K3K3K3K3K3K3K3\TCTCTCTCTCTCTCTCnmPmPmPmPmPmPmPmP`,,,,,,,,*--- C C C3330 3 3 3888 ...2***@W55W55:;;  <;6565  $ $ $### CI&*eggLLggL:   ###"r