+
    eiEZ c                   s   R t Rt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIt^ RIt^ RIHu Ht ^ RIHu Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtNHOtOHPtPHQtQHRtRHStSHTtTHUtUHVtVHWtWHXtXHYtYHZtZH[t[H\t\H]t]H^t^H_t_H`t`HataHbtbHctcHdtdHeteHftfHgtgHhthHitiHjtjHktkHltlHmtmHntnHotoHptpHqtqHrtrHstsHtttHutuHvtvHwtwHxtxHytyHztzH{t{H|t|H}t}H~t~HtHt ^ RIHtHtHtHtHtHtHtHt ^ R	IHtHtHtHtHt ^ R
IHt ]EP$                  t]! 4       t]EP)                  ]EP*                  EP,                  EP.                  R4       R U u. uF  p ]EP1                  V 4      NK  	  up t] U u. uF  q EP4                  NK  	  up t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R 4      t ! R! R"4      t ! R# R$4      t ! R% R&4      t ! R' R(4      t ! R) R*4      t ! R+ R,4      tR- tR. tR/ tR0 tR1 tR2 tR3 tR4 t]EPh                  EPk                  R5]]R67      ]EPh                  EPk                  R7]]R67      ]EPh                  EPm                  R84      R9 4       4       4       tR: tR; t]EPh                  EPu                  ]EPv                  EPx                  ^8  R<R=7      R> 4       tR? tR@ tRA tRB tRC tR# u up i u up i )DznTests suite for MaskedArray & subclassing.

:author: Pierre Gerard-Marchant
:contact: pierregm_at_uga_dot_edu
zPierre GF Gerard-MarchantN)reduce)ndarray)asbytes)	AxisError)hMAErrorMaskedArray	MaskErrorMaskTypeabsabsoluteaddallallcloseallequalalltrueangleanomarangearccosarccosharcsinarctanarctan2argsortarrayasarraychooseconcatenate	conjugatecoscoshcountdefault_fill_valuediagdivideempty
empty_likeequalexpfilledfix_invalidflatten_maskflatten_structured_arrayfromflexgetmaskgetmaskarraygreatergreater_equalidentityinnerisMaskedArrayless
less_equalloglog10	make_maskmake_mask_descrmask_ormaskedmasked_arraymasked_equalmasked_greatermasked_greater_equalmasked_insidemasked_lessmasked_less_equalmasked_not_equalmasked_outsidemasked_print_optionmasked_valuesmasked_wheremaxmaximummaximum_fill_valueminminimumminimum_fill_valuemodmultiplymvoidnomask	not_equalones	ones_likeouterpowerproductputputmaskravelrepeatreshaperesizeshapesinsinhsometruesortsqrtsubtractsumtaketantanh	transposewherezeros
zeros_like)assert_assert_almost_equalassert_array_equalassert_equalassert_equal_recordsassert_mask_equalassert_not_equalfail_if_equal)IS_WASMassert_raisesassert_warnssuppress_warningstemppath)requires_memoryzGsetting an item on a masked array which has a shared mask will not copyz?bhilqBHILQefdgFDc                   s  a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR t]R 4       tR tR tR t R t!R t"R t#R  t$R! t%R" t&R# t'R$ t(R% t)R& t*R' t+R( t,R) t-R* t.]R+ 4       t/R, t0R- t1R. t2R/ t3R0 t4R1 t5R2 t6R3 t7R4 t8R5 t9R6 t:R7 t;R8 t<R9 t=R: t>R; t?R<t@V tAR=# )>TestMaskedArrayc                s   \         P                  ! R R R R	\        R,          RRR
RR RR.4      p\         P                  ! . RO4      pRp. ROp. ROp\        WR7      p\        W%R7      p\         P                  ! . RO4      p\        V. ROR7      p	\         P                  ! VRV4      p
VP                  R4       WW4WVWxW3
V n        R# )      ?       @      @      @      $@      @mask@xDN             $r~           r   r|               r   r   r   r{   r   r          r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r         r         ?g?r   r   r   r   )npr   pir;   ri   set_fill_valuedselfxya10m1m2xmymzzmxf   &          ?/usr/lib64/python3.14/site-packages/numpy/ma/tests/test_core.pysetup_methodZTestMaskedArray.setup_method   s    HHb"b#rCxRsBBOPHHJK11!%!%HH&'!,/XXb%#
% 7    c                sJ   \        . RO4      p\        . RO. ROR7      p\        VP                  ^4       \        VP                  ^4       \        VP                  ^4       \        VP                  ^4       \        VP                  R4       \        VP                  R4       R# )r   r   Nr         r   r   r   r   )r   ro   ndimsizer]   r   ab   &  r   test_basicattributesZ$TestMaskedArray.test_basicattributes   sl    ))),QVVQQVVQQVVQQVVQQWWd#QWWd#r   c                st   \        ^ 4      p\        \        V4      R4       \        ^ RR7      p\        \        V4      \        \        4      4       \        ^ RR7      p\        \        V4      R4       \	        ^ ^R7      p\        VP                  4       P                  VP                  P                  J 4       R# )r   0Tr   FN)	r;   ro   strrD   r   rl   r'   dtype_datar   r      & r   test_basic0dZTestMaskedArray.test_basic0d   s    OSVS!&SVS!456'SVS!!!
  AGGMM12r   c           
     sj   V P                   w
  rr4rVrxr\        \        V4      '       * 4       \        \        V4      4       \        Wg,
          P                  ^ 4      P	                  4       4       \        VP                  P                  \        4      VP                  P                  \        4      4       VP                  p\        \        P                  ! V4      V4       \        VP                  V4       \        VP                  VP                  4       \        V	P                  VP                  4       \        VP                  \        R V4      4       \        \        V4      \!        V4      \        R V4      ,
          4       \#        Wj4       \#        \        VR4      V
4       \#        W4       R# )r   c                     W,          # N r   r      &&r   <lambda>.TestMaskedArray.test_basic1d.<locals>.<lambda>   s    !%r   c                     W,           # r   r   r   r   r   r   r      s    aer   r   N)r   rl   r2   r'   anyrs   r   astypeintr]   ro   r   r   r   r    r   lenrn   r   r   r   r   r   r   r   r   r   r   r   s   &           r   test_basic1dZTestMaskedArray.test_basic1d   s   15.srM!$$%b!"  #'')*bggnnS)277>>#+>?GGRXXb\1%RXXq!RXXqww'RXXqww'RWWf%7;<U2YB&1CR*H HI2"6"e,b11!r   c           
     s"   V P                   w
  rr4rVrxrR F  pWn        Wn        Wn        Wn        Wn        \        \        V4      '       * 4       \        \        V4      4       \	        \        V4      V4       \	        VP                  V4       \	        VP
                  \        R V4      4       \	        \        V4      \        V4      \        R V4      ,
          4       \	        Wj4       \	        \        VR4      V
4       \	        W4       K  	  R# )   c                 r   r   r   r   r   r   r   .TestMaskedArray.test_basic2d.<locals>.<lambda>   s    aer   c                 r   r   r   r   r   r   r   r      s    !%r   r   N)r   r   )   r   )
r   r]   rl   r2   ro   r   r    r   r   r'   r   r   r   test_basic2dZTestMaskedArray.test_basic2d   s    15.sr!AGGHHHa(()M"%&rA&1%&);Q"?@rCGf5G.L$LM E*B/ "r   c           
     s   V P                   w
  rr4rVrxr\        \        P                  ! W34      \        Wg34      4       \        \        P                  ! W34      \        W34      4       \        \        P                  ! W34      \        Wb34      4       \        \        P                  ! WV34      \        WV34      4       R # r   )r   ro   r   r   r   r   r   test_concatenate_basicZ&TestMaskedArray.test_concatenate_basic   s    15.srR^^QF+["-BCR^^QF+[!-@AR^^QF+["-ABR^^Q1I.QAJ0GHr   c           
     s   V P                   w
  rr4rVrxrRpV;Vn        ;Vn        ;Vn        Vn        \        VP                  \        P
                  ! WK4      4       \        VP                  \        P
                  ! W[4      4       \        Wg3^4      p\        \        P                  ! W3^4      V4       \        \        P                  ! VP                  VP                  3^4      VP                  4       \        ^4      p\        \        ^4      RR.R7      p\        W34      p\        V. RO4       \        VP                  . RO4       \        W!34      p\        V. RO4       \        VP                  . R	O4       R# )
r   FTr   Nr   r   )r   r   r   r   )FFFTr   r   r   r   )FTFF)r   r]   ro   r   r   r[   r   _maskrj   r   rR   rn   )r   r   r   r   r   r   r   r   r   r   r   r   Zxmym   &            r   test_concatenate_alongaxisZ*TestMaskedArray.test_concatenate_alongaxis   s   15.sr2333!'3BHrxRWWbjj/0RWWbjj/0B8Q'R^^QFA.5R^^RWWbgg$6:DJJG!H$q'.1l+166#>?1l+166#>?r   c           
     s   \        \        \        \        P                  P                  ^
4      \        P                  ! ^
4      4      4      R\        3R\        3.R7      p\        VR,          VR,          .4      p\        W!4       R# )
   r   r   r   :N   N:r   NNN)r;   listzipr   randomrandr   floatr   r   rp   )r   datatestr   r   test_concatenate_flexibleZ)TestMaskedArray.test_concatenate_flexible  se    DRYY^^B%7%'YYr]"4 5$'<#s"<> DHd2h/0T(r   c                s    \        . RO. RO^R7      p\        VP                  R4       \        VP                  . RO.4       \        VP                  . RO.4       R# )r   )r   ndminNr   r   r   r   r   r   r   r   )r   ro   r]   r   r   r   r   r   test_creation_ndminZ#TestMaskedArray.test_creation_ndmin  s>    ))15QWWf%QWWyk*QWWyk*r   c                s    \        . RO4      p\        VR&   \        V^\        R7      p\        VP                  VP
                  P                  4       \        VP                  VP
                  P                  4       R# )r   )r   r   Nr   )r   r:   r   ro   r]   r   r   r   xxr   r   $test_creation_ndmin_from_maskedarrayZ4TestMaskedArray.test_creation_ndmin_from_maskedarray!  sO    )"1AU+QWWaggmm,RXXrxx~~.r   c                s   \        ^\        R7      p\        V. RO&   \        V4      p\	        VP
                  VP
                  4       \        V4      p\	        VP
                  VP
                  4       \        V. RO^,          R7      p\        VP
                  VP
                  4       \        . R	ORR7      p\	        VP                  . R
O4       \        . R	ORR7      p\	        VP                  . RO4       \        . R	OVP                  RR7      p\        \        P                  ! VP
                  VP
                  4      4       \        . R	OVP                  RR7      p\        \        P                  ! VP
                  VP
                  4      '       * 4       \        . R	ORR7      p\	        VP                  . RO4       R# )   r   r   TFr   copyN)r   r   i   r   r   r   r   r   TTTFFF)r   r   r:   r   ro   r   rs   r   r   rl   r   may_share_memory)r   r   Zdma_1Zdma_2Zdma_3r   r      &      r   test_creation_maskcreationZ*TestMaskedArray.test_creation_maskcreation)  s%   b&!ZD!UZZ+E"UZZ,Eq(89ejj%**-)$'QWW01)%(QWW34)!''6##AFFAFF34)!''5B''778)$'QWW34r   c                s@   \         P                  ! \         P                  P                  4       \        P
                  ! \        4      ;_uu_ 4        \         P                  ! R \         P                  P                  .4       RRR4       R#   + '       g   i     R# ; i)r   N)r   r   mar:   pytestwarnsUserWarningr      &r   *test_masked_singleton_array_creation_warnsZ:TestMaskedArray.test_masked_singleton_array_creation_warns?  sQ     	\\+&&
 HHb"%%,,'( '&&&s   1BB	c                sp   \        \        P                  ! ^4      . ROR7      p\        WRRR1,          34      p\        V. RO. RO.4       \        VP                  . RO. RO.4       \
        Vn        \        WRRR1,          34      p\        V. RO. RO.4       \        VP                  \
        J 4       R# )r   r   Nr   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   )r   r   r   ro   r   rP   r   rl   )r   r   r   r   r   'test_creation_with_list_of_maskedarraysZ7TestMaskedArray.test_creation_with_list_of_maskedarraysJ  s    "))A,_5a4R4\"TO_=>TZZ/?!CDa4R4\"TO_=>		V#$r   c                s   \         P                  P                  R R.RR.R7      p\         P                  ! ^4      p\         P                  P	                  W.RR7      p\        VP                  RR.RR..4        ! R R4      p\         P                  P                  V! 4       R.RR.R7      p\        P                  ! \        R	R
7      ;_uu_ 4        \         P                  ! V.\        R7       RRR4       \         P                  P	                  WR.4      p\        VP                  RR.RR..4       R#   + '       g   i     LN; i)r   r   TFr   ZU21r   c                   &   a  ] tR tRt o R tRtV tR# )UTestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_cast.<locals>.NotBooli_  c                s    \        R 4      h)not a bool!)
ValueErrorr   r   r   __bool__Z^TestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_cast.<locals>.NotBool.__bool__`  s     //r   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell____classdict__   @r   NotBoolr   _  s     0 0r   r
  r   ZmatchN)r   r   r;   r   r   rn   r   r   raisesr   bool)r   Z
masked_strZ
normal_intresr
  Z
masked_obj   &     r   4test_creation_with_list_of_maskedarrays_no_bool_castZDTestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_castV  s    UU''c
$'G
YYq\
eemmZ4EmB388tUmeU^%DE	0 	0 UU''C(8e}'M
]]:];;JJ
|40 < eemmZ45388tUmeU^%DE	 <;s   D66E	c           
     sf    \         P                  ! R
.RRR.RRR.R^ ^./R7      p\        V4       R	# )Anamesf0f1ZformatsZS4Zi8Zoffsetsr   N)r  r   r   r   r   r   r   'test_creation_from_ndarray_with_paddingZ7TestMaskedArray.test_creation_from_ndarray_with_paddingj  s<    HHhZ$(1D$<(1Aq6(; < 	ar   c                s    \         P                  ! \        R R7      ;_uu_ 4        \        . RO. ROR7       RRR4       R#   + '       g   i     R# ; i)zunexpected keyword argumentr  )ZmaksNr   r   r   r   )r   r  	TypeErrorr   r   r   r   test_unknown_keyword_parameterZ.TestMaskedArray.test_unknown_keyword_parameterp  s.    ]]9,IJJ		2 KJJJs   AA	c           
     s\   V P                   w
  rr4rVrxrRVn        RVn        \        V4      p\	        VP
                  VP
                  4       \	        VP                  VP                  4       \	        VP                  VP                  4       \	        VP                  VP                  4       R# )'  TN)r   
fill_value	_hardmaskr   ro   r   r   )r   r   r   r   r   r   r   r   r   r   r   Zxmmr   r   test_asarrayZTestMaskedArray.test_asarrayt  su    15.srbkSYY)SYY)S^^R]]3S]]BLL1r   c                s    \         P                  ! ^4      P                  p\        VP                  P
                  '       * 4       \        V4      p\        VP                  P
                  4       R# )r   Nr   eyeTrl   flagsZc_contiguousr   r   mZnew_mr   r   test_asarray_default_orderZ*TestMaskedArray.test_asarray_default_order~  sC    FF1IKKAGG((()
(()r   c                s    \         P                  ! ^4      P                  p\        VP                  P
                  '       * 4       \        VRR7      p\        VP                  P
                  4       R# )r   CorderNr  r#  r   r   test_asarray_enforce_orderZ*TestMaskedArray.test_asarray_enforce_order  sF    FF1IKKAGG((()%(()r   c                sJ   \         P                  ! R R7      ;_uu_ 4        \        \         P                  RR.. ROR7      p\	        V4      p\        VP                  VP                  RR.4       \        VP                  . RO4       RRR4       R#   + '       g   i     R# ; i)ignoreinvalidr   r{   r   Nr   r   r   )r{   r   r{   )	r   errstater;   nanr(   ro   r   r  r   )r   r   Z
data_fixedr   r   test_fix_invalidZ TestMaskedArray.test_fix_invalid  sl    [[**R 0yAD$T*J))DOOR+DE))<8	 +***s   A'BB"	c                s    \        ^4      p\        V^&   \        \        \        4      R8H  4       \        V^,          \        J 4       \	        \        V^,          ^ 4      ^ 4       R# )r   --N)r   r:   rl   r   ro   r'   r   r   r   test_maskedelementZ"TestMaskedArray.test_maskedelement  sI    1I!Ft#$!VAaD!_a(r   c                s    \        ^\        R7      pRpW!^ &   \        V^ ,          V4       \        V^ ,          VJ 4       ^ RIpVP                  P                  4       pWA^ &   \        V^ ,          VJ 4       R# )r   r   Nr   r   r   r   r   )r#   objectro   rl   datetimeZnow)r   r   r   r5  dt   &    r   test_set_element_as_objectZ*TestMaskedArray.test_set_element_as_object  sf    !6"!QqT1!	""$!!
r   c           	     s   \         P                  ! . RO4      p\        V. ROR7      p\        V. ROR7      p\        V4      p\        V4       \        V4       \	        \         P
                  ! V4      \        VRR7      4       \        \        V^,          4      \        V^,          4      J 4       \        V^,          V^,          8H  4       \        V^ ,          \        J 4       \	        V^,          V^,          4       \	        VR,          VR,          4       \	        VR,          VR,          4       \	        VR,          VR,          4       ^	V^&   ^	V^&   \	        W4       ^cVR&   ^cVR&   \	        W4       \        V^&   \	        W4       \        VR&   \	        W4       WR&   \        V^&   \        \        \        V4      \        . RO4      4      4       \        . RO. RO4      VR&   \        \        \        V4      \        . RO4      4      4       \        . RO. RO4      VR&   \        \        \        V4      \        . RO4      4      4       \        \        V\        . RO4      4      4       \         P                  ! ^4      R,          p\        VR	4      p\	        W4       \        \        \        . RO\        4      VP                  4      4       \	        R	VP                   4       \        . RO\"        4      p\         P                  ! . RO\"        4      pV^,          pV^,          p\	        \        V4      \        4       \	        \        V4      \        4       \	        WV4       \        VR
,          P$                  R8H  4       R# )r   r   Fendwith:r   r   NNNNr   NN:r   r   Nr{   r   :r   r   NN)r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   )r   Zhellor   r   r   )r   r   r   reprro   ra   rl   typer:   r   r,   r;   r   rE   r   r   r  r4  r]   )r   x1x2x3x4Zs1Zs2r   r   test_indexingZTestMaskedArray.test_indexing  sz   XXl#2L)2L)2YBRRWWR[$r5"9:RUtBqE{*+1A1 RUBqE"RWbg&RUBqE"RVRV$11R33R1R3R11eL&9:;\<81eL&9:;\<81eL&9:;U<012YYq\C2s#R9277CDS"--(%v.XX(&1UUT"Xs#T"Xs#R3%&r   c                s   \         P                  P                  ^<4      P                  R4      p\	        ^^^4      ^^.3p\         P                  P                  R4      p\         P                  VP                  R&   W1V&   \         P                  P                  VR&   \         P                  P                  R\         P                  R7      p\         P                  P                  . RO. R	OR7      pW1R&   W1. R
O&   R# )<   .r   r   r   N)r   r   r   r   )gCD pr   r   TFFr   r   r   )r   r   r   r[   Zslice
masked_allinfr   r:   float32r   )r   r   Zindexvalue   &   r   test_setitem_no_warningZ'TestMaskedArray.test_setitem_no_warning  s    
 EELL$$W-q!Q!Q(  (66C%#EELL2::L.M0DE#)r   c                sd   . ROp\        V4      p\        V4      p\        W#J 4       \        VRR7      p\        W$J4       \        P                  ! ^4      p\	        WRR7      p\        VP                  P                  VP                  4       \        \        WVP                  4      4       \        VP                  P                  VP                  4       \	        V4      p\        VP                  P                  VP                  P                  8H  4       \        VP                  P                  VP                  P                  8H  4       \	        WTR7      p\        VP                  P                  VP                  8H  4       \        VP                  P                  VP                  8H  4       \        V^,          \        J 4       ^	V^&   \        V^,          \        J4       \        VP                  P                  VP                  8H  4       \        \        VP                  ^ 4      4       \	        WR^R7      p	\        V	P                  P                  VP                  8g  4       \        V	P                  P                  VP                  8g  4       \        V	^,          \        J 4       ^	V	^&   \        V	^,          \        J4       \        V	P                  P                  VP                  8g  4       \        \        V	P                  ^ 4      4       \	        VR,          VR7      p
\        \        V
4      P                  VR,          P                  J 4       \        ^4      p\        V^&   \        VR	4      p\        \!        W.4      V4       \        \#        V4      . R
O4       \%        VR^ R7      p\        V. RO4       \%        V^^ R7      p\        W4       VP%                  R^ R7      p\        W4       VP%                  ^^ 4      p\        VV4       VP'                  4       p\        VP                  VP                  4       \        VP                  VP                  4       \)        . RO. ROR7      p\)        V4      p\        VP                  P*                  P                  VP                  P*                  P                  4       \        VP                  P*                  P                  VP                  P*                  P                  4       \)        VRR7      p\-        VP                  P*                  P                  VP                  P*                  P                  4       \-        VP                  P*                  P                  VP                  P*                  P                  4       R# )r   Tr   r   r   r{   axisNr   r   r   r   r   )   )r   r   r   r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   r   r   r   r   r  )r7   rl   r   r   r   ro   r   Z__array_interface__r   r   r   r:   r   r'   r   r\   r   r,   rZ   r   r;   ctypesrr   )r   nr$  r   Zm3rC  Zy1Zy1aZy2Zy2aZy3rF  Zy4Zy5Zy6Zy7Zy8Zy9r   r   s   &                   r   	test_copyZTestMaskedArray.test_copy  s    aLq\qt$YYq\2RXX1123I3IJWW%&RXX1113H3HIBi		--445 	6		--445 	6 2,,0F0FFG,,0F0FFG1 11V#$,,0F0FFG!$%BQ'		--1G1GGH		--1F1FFGA& !AAf$%		--1F1FFG1%&28!$r
  R#X$4$445AY1B["*B/WR[":;B1-R12B"RYY|!Y,RYYq!_RWWYRXXrxx(RXXrxx(3OQWW^^((!''..*=*=>QWW^^((!''..*=*=>&,,aggnn.A.AB,,aggnn.A.ABr   c                s    \         P                  P                  ^+RR7      pVP                  4       p\	        VP
                  R4       R# )i+   Tr   N)r   r   r   r   ro   r   )r   r   Zxcr   r   test_copy_0dZTestMaskedArray.test_copy_0d8  s1    EEKKK&VVXRWWd#r   c                s    \        \        \        P                  P	                  . RO4      4      4       \        \        \        P                  P	                  R4      4      4       R# )r   Nr   )rl   r2   r   r   r   r   r   r   test_copy_on_python_builtinsZ,TestMaskedArray.test_copy_on_python_builtins>  s6    beejj345beejj345r   c                s    \         P                  P                  . RO4      p\         P                  P                  . RO4      pVP                  pVP                   \	        V! 4       . RO4       R# )r   Nr   r   r   r   )r   r   r   r   ro   )r   r   r   Za_copy_methodrP  r   test_copy_immutableZ#TestMaskedArray.test_copy_immutableC  sB    EEKK	"EEKK	"	]_i0r   c                s    ^ RI Hp \        . RO. ROR7      pV! V4      p\        VP                  VP                  4       \        \        VP                  4      \        VP                  4      4       ^V^&   \        VP                  . RO4       \        VP                  . RO4       V! V4      p\        VP                  VP                  4       RVP                  ^&   \        VP                  . RO4       \        VP                  . RO4       R# )	r   )deepcopyFr   NrK  FTFr   r   r   r  )r   r^  r   ro   r   rr   Zidr   )r   r^  r   ZcopiedrP  r   test_deepcopyZTestMaskedArray.test_deepcopyK  s    !)"67!V[[!&&)AGGb&67q	V[[),QVVY'!V[[!&&)AV[[),QVVY'r   c                sV   \        . RO. ROR7      p\        \        V4      R4       \        \        \        4      R4       \        \        \        R4      R4       \	        \
        4      ;_uu_ 4        \        \        R4      pRRR4       \        XR4       R#   + '       g   i     L; i)	r   r   [0 -- 2]r1  Z z >5NrK  r_  )r   ro   Zformatr:   rv   FutureWarning)r   r   Zwith_format_stringr   r   test_formatZTestMaskedArray.test_format\  so    )"67VAY
+VF^T*VFB'. -((!'!6 )'. )(s   1BB(	c           	     s$   \        . RO. ROR7      p\        \        V4      R4       \        \        V4      \        P
                  ! R4      4       \        P                  P                  R4      p\        P                  P                  VR&   \        \        V4      \        P
                  ! R4      4       \        P                  P                  ^4      p\        \        V4      \        P
                  ! R4      4       \        . RO. RO.\        P                  R7      p\        P                  P                  VR&   \        \        V4      \        P
                  ! R	\        P                   ! R
4      R,          : R24      4       \        \        VR,          4      \        P
                  ! R\        P                   ! R
4      R,          : R24      4       \        \        VP                  \        4      4      \        P
                  ! R4      4       R# )r   r   rb  z            masked_array(data=[0, --, 2],
                         mask=[False,  True, False],
                   fill_value=999999)  r   2   Nz            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)r   z            masked_array(
              data=[[1, 2, 3],
                    [4, --, 6]],
              mask=[[False, False, False],
                    [False,  True, False]],
              fill_value=?B z,
              dtype=int8):Nr   Nz            masked_array(data=[[1, 2, 3]],
                         mask=[[False, False, False]],
                   fill_value=z%,
                        dtype=int8)z            masked_array(
              data=[[1, 2, 3],
                    [4, --, 6]],
              mask=[[False, False, False],
                    [False,  True, False]],
              fill_value=999999)NrK  r_  r   r\  r   r   r   )r   ro   r   rA  textwrapZdedentr   r   r   r:   int8r   r   r   r   r   r   test_str_reprZTestMaskedArray.test_str_reprk  s   )"67SVZ(GOO ) *	
 EELL%%,,$GOO ) *	
 EELLGOO ) *	
 9i(8%%,,$GOO ! ((6*2.1 2 
	
 	2KOO !  "xx/36 7$' (	
 	#OO $ %		
r   c                s   \         P                  ! 4       p\         P                  ! R R7        \        . R	O. R
OR7      p\	        \        V4      R4       \	        \        V4      R4       \         P                  P                  R4      p\         P                  P                  VR&   \	        \        V4      R4       \         P                  ! R/ VB  R#   \         P                  ! R/ TB  i ; i)z1.13)Zlegacyr   rb  zcmasked_array(data = [0 -- 2],
             mask = [False  True False],
       fill_value = 999999)
re  rf  zmasked_array(data = [0 -- -- ..., 1997 1998 1999],
             mask = [False  True  True ..., False False False],
       fill_value = 999999)
NrK  r_  r   )
r   Zget_printoptionsZset_printoptionsr   ro   r   rA  r   r   r:   )r   Zoldoptsr   r   r   test_str_repr_legacyZ$TestMaskedArray.test_str_repr_legacy  s    %%'
6*	+i&:;AQ,a #B C T"AeellAdGQ0 *'*B*'*s   BC C*c                s    R p\        V4      p\        P                  P                  V4      p\        P                  P                  VRR7      p\	        V! V4      V4       \	        V! V4      R4       R# )u   caféTr   r1  N)rB  r   r   r   ro   )r   uZutypeZ
arr_nomaskZ
arr_maskedr7  r   test_0d_unicodeZTestMaskedArray.test_0d_unicode  sU    QUU[[^
UU[[[.
U:&*U:&-r   c           
     s   \         \        \        \        3 EF(  p\	        ^
4      P                  V4      pRVn        . RORR3p\        ^\        P                  ^,           4       F  pV F  pWRn
        \        P                  ! \        P                  ! W$R7      4      p\        VP                  VP                  4       \        VP                  VP                  4       V\        \         39   d   \        VP                  R4       M\        VP                  V! R4      4       \!        VP                  V4       K  	  K  	  EK+  	  R# )r     TFZprotocolN)
r   r   r   r   r   r   r   r   r   r   )r   r   r   r4  r   r   r  rangepickleHIGHEST_PROTOCOLr   loadsdumpsro   r   r   rn   )r   r   r   Zmasksprotor   	a_pickledr   r   test_picklingZTestMaskedArray.test_pickling  s    5#v.Er
!!%(AAL3E q&"9"9A"=>!D!F &V\\!-L MI !'': !'':-$Y%9%93?$Y%9%95:F&y~~t< " ? /r   c                s   \         P                  ! RR.R\        3R\        3.R7      P	                  \         P
                  4      p\        VR	R
.R7      p\        ^\        P                  ^,           4       F  p\        P                  ! \        P                  ! W#R7      4      p\        VP                  VP                  4       \        WB4       \        \        VP                   \         P
                  4      4       K  	  R# )r{   r   r   r   r   rr  N)r{   r   )r   r   TFFT)r   r   r   r   viewrecarrayr;   rs  rt  ru  rv  rw  ro   r   rl   
isinstancer   )r   r   r   rx  ry  r7  r   test_pickling_subbaseclassZ*TestMaskedArray.test_pickling_subbaseclass  s    HHh) %L3*577;tBKK7H 	
-!?@1f559:EV\\!%DEI!''2&Jy<=	 ;r   c                s   \         P                  P                  p\        ^\        P
                  ^,           4       F  p\        P                  ! \        P                  ! WR7      4      p\        VP                  VP                  4       \        VP                  VP                  4       \        VP                  VP                  4       K  	  R# )r   rr  N)r   r   r:   rs  rt  ru  rv  rw  ro   Z
_baseclassr   r   )r   Zmcrx  Z
mc_pickledrP  r   test_pickling_maskedconstantZ,TestMaskedArray.test_pickling_maskedconstant  s~    UU\\1f559:Efll2&FGJ..>))2884))2884	 ;r   c                sB   \        RR.RR	.R\        3R\        3.R7      p\        ^\        P
                  ^,           4       FY  p\        P                  ! \        P                  ! WR7      4      p\        VP                  VP                  4       \        W14       K[  	  R# )
r   r   r   r   r   rr  Nr   r{   r   r|   r   r   r   r   )
r   r   r   rs  rt  ru  rv  rw  ro   r   )r   r   rx  ry  rP  r   test_pickling_wstructuredZ)TestMaskedArray.test_pickling_wstructured  sw    7G$FF+;sc5\241f559:EV\\!%DEI!''2& ;r   c                s    \        ^
4      pRVn        VP                  p\        ^\        P
                  ^,           4       F9  p\        P                  ! \        P                  ! W#R7      4      p\        WB4       K;  	  R# )r   rr  N)r   r   )	r   r]   r!  rs  rt  ru  rv  rw  ro   )r   r   r   rx  r   r7  r   test_pickling_keepalignmentZ+TestMaskedArray.test_pickling_keepalignment  sV    2JCC1f559:E<<Q ?@D! ;r   c                s    \        . RO4      p\        . RO. ROR7      p\        V^ ,          P                  R4       \        V^ ,          P                  R4       \        V^,          P                  R4       R# )r   r   Nr   r   r   )r   ro   r]   r   r   r   test_single_element_subscriptZ-TestMaskedArray.test_single_element_subscript  sN    ))),QqTZZ$QqTZZ$QqTZZ$r   c                s  a \        ^\        \        ^4      4      4       \        R\        \        ^4      4      4       \        ^\        \        ^...4      4      4       \        R\        \        ^..4      4      4       \	        \
        \        \        ^^.4      4       \        4       ;_uu_ 4       pVP                  \        R4       \        \        P                  ! \        \        ^.^.R7      4      4      4       \        . RO. R	OR7      o\	        \
        V3R l4       \        \        SR
,          4      R4       \        \        P                  ! \        S^ ,          4      4      4       RRR4       \	        \
        \        S4       \        \        SR
,          4      ^4       \	        \        V3R l4       R#   + '       g   i     LW; i)r   r{   z$Warning: converting a masked elementr   c                  s   < \        S 4      # r   )r   r      r   r   /TestMaskedArray.test_topython.<locals>.<lambda>!  s	    U1Xr   r   Nc                  s(   < \        S ^ ,          4      # r@  )r   r  r  r   r   r  &  s    s1Q4yr   r   r   r   )ro   r   r   r   ru   r  rw   filterr   rl   r   isnanr   r   supr   s   & @r   test_topythonZTestMaskedArray.test_topython  s!   QE!H&S%a/*QEQC5'N+,S%se-.iq!f6  CJJ{$JKBHHU5!A3#789:ii0A)%56qur*BHHU1Q4[)* ! 	ia(S2Z#g01 ! s   1B<F<<G	c           	     s6   \        ^4      pVP                  ^^4      p^VP                  ^&   \        VR,          ^8H  4       VRV,          ,           p\	        VP
                  V4       \	        VP                  ^
V,          4       \	        V\        V4      ,          P
                  ^eV,          V,          4       RVP                  R&   \        ^
4      p\        V^&   \        \        V^,          4      \        \        4      8H  4       V^8  p\        \        \        V\        \        4      4      ^ 8H  4       \        \        \        V\        \        4      4      VP                  8H  4       \        W14      p\        VP                  VP                  J 4       \        V^,          \        J 4       \        V^,          \        J4       \        V^,          \        J4       \        V^,          \        J 4       \        V^	,          \        J 4       \	        W4       R# )   y              $@r   .Nr   r   )r   r[   flatrl   ro   realimagr   r:   r   r   ri   r]   rF   r   )r   r   r   crP  r   test_oddfeatures_1Z"TestMaskedArray.test_oddfeatures_1(  sy   2JIIaOq	$2aKQVVQQVVR!V$a)A,&,,cAgk:s2J!AaD	S[()FeAvv./145eAvv./177:;177"#!!F"#!F"#!!Qr   c                sZ   \        . RO4      p\        . RO4      p\        V^&   \        W!V) 4      p\        V. RO4       \        V^ &   \        W!V) 4      p\        V. RO4       \	        V^ ,          \        J 4       \	        V^,          \        J4       \	        V^,          \        J 4       R# )r{   Nr{   r|   r   r}   r~   r   r   r   r   r   r{   r|   r   r   i)r   r:   ri   ro   rl   r   r   r  r   rP  r   test_oddfeatures_2Z"TestMaskedArray.test_oddfeatures_2D  s    &'/"!!OQ-.!!OQ-.!!F"#!r   c                s    \        ^
.RR7      p\        ^.4      pVP                  pW#,          W&   \        V^.4       R# )r   Tr   N)r   r   ro   )r   atestbtestZidxrP  r   test_oddfeatures_3Z"TestMaskedArray.test_oddfeatures_3R  s;     rd&rdjjZ
URD!r   c                s    \         P                  P                  ^RR7      p\        VP	                  R4      ^ ,          R4       R# )r   Or   r   N)r   r   rL  ro   r'   rl  r   r   test_filled_with_object_dtypeZ-TestMaskedArray.test_filled_with_object_dtype[  s2    EEQc*QXXc]1%s+r   c           
     s   \        R.R\        3RR\        3.R7      p\        V^ &   \	        VP                  4       \        P                   ! \        ^ 4      \        R4      \        R4      3.VP                  R7      4       \        V^ &   \	        VP                  ^4      \        P                   ! R	.VP                  R7      4       R# )
r   ifr   r   r   Nr   r   r   r   |S8)r   Z1r{   )	r   r   r   r:   ro   r'   r   r    r   )r   Zflexir   r   test_filled_with_flexible_dtypeZ/TestMaskedArray.test_filled_with_flexible_dtype_  s    yk!3ZU|DFaU\\^XX 21 5 23 7 22 6 9 :AFN	O aU\\!_XX|nEKK@	Br   c                sD   R \         3R\        3.p\        RR.VR7      pVP                  4       p\	        \        V4      ^\        R4      34       VP                  R4      p\	        \        V4      R4       R	Vn        \	        \        VP                  4       4      R
4       R# )r   r   r  r{   Nr   r|   r  r   r   )r   r   r  )r   r  )r   r   rO   r'   ro   tupler    r  )r   ndtyper   r   rP  r   test_filled_with_mvoidZ&TestMaskedArray.test_filled_with_mvoidl  s    *sEl+'7xxzU4[1&8&<"=>xx!U4['*#U188:&	2r   c                s   R \         3RR\         3R\         3.3.p\        RR	.R
R.VR7      pVP                  ^ 4      p\        P                  ! RR.VR7      p\	        W44       VR,          P                  ^ 4      p\        P                  ! RR.VR,          P
                  R7      p\	        W44       \        P                  P                  ^\        P
                  ! R.4      4      p\	        VP                  P
                  \        P
                  ! R RR.R3.4      4       \	        VP                  P
                  \        P
                  ! R RR.R3.4      4       R# )r  BBABBr  r   Nr   ri  rI  r   rI  r   r  r  r   r  r   r  r   r   )r   r  )r  z(2,2)i1,(2,2)i1rI  )r  i1rI  )r  r  rI  )r  ?rI  )r  r  rI  )r   r   r'   r   ro   r   numpyr   rj   r   r   )r   r  r   r   controlZZr  r   test_filled_with_nested_dtypeZ-TestMaskedArray.test_filled_with_nested_dtypez  s9   *sdC[4+$>?@;,#[1Axx{((K5VDT#v}}Q((FF+1S6<<@T# HHNN1ekk+K*LMNQVV\\5;;7K*>7@AG1I 0J $K 	LQVV\\5;;7J*=7?@F1H 0I $J 	Kr   c                s   \        \        P                   ! RR.RR7      \        P                   ! RR	.RR7      RR7      p\        VP                  R,          4       \        VP	                  ^ 4      P                  R,          4       R# )
r   Fr'  )r   r(  ZF_CONTIGUOUSNrK  r\  r-  r   )r   r   rl   r"  r'   rl  r   r   test_filled_with_f_orderZ(TestMaskedArray.test_filled_with_f_order  sb    "((Iy1=xxI 6cB 	'(!!.12r   c                s    \        . RO\        R7      pRVP                  R&   VP                  4       p\	        VP                  R,          R4       RVP                  R&   \	        VP                  R,          R4       R# )r   r   ???infoz!!!Nr   )r   r   _optinfor   ro   r   r   r   r   r   test_optinfo_propagationZ(TestMaskedArray.test_optinfo_propagation  s[    +U+"

6FFHQZZ'/"

6QZZ'/r   c                s   \        . RO4      pRVP                  R&   \        VP                  R,          V^8H  P                  R,          4       \        VP                  R,          V^8g  P                  R,          4       \        VP                  R,          V^8  P                  R,          4       \        VP                  R,          V^8  P                  R,          4       \        VP                  R,          V^8*  P                  R,          4       \        VP                  R,          V^,           P                  R,          4       \        VP                  R,          V^,
          P                  R,          4       \        VP                  R,          V^,          P                  R,          4       \        VP                  R,          V^,          P                  R,          4       \        VP                  R,          VR,          P                  R,          4       \        VP                  R,          V. RO,          P                  R,          4       \        VP                  R,          \        P                  ! V4      P                  R,          4       \        VP                  R,          \        P
                  ! V4      P                  R,          4       \        VP                  R,          \        VRR7      P                  R,          4       \        VP                  R,          \        P                  ! V4      P                  R,          4       R# )	r   rO  Zkey:Nr   NTrR  N)r   r   r   r   )r   r   r   )r   r  ro   r   r&   r   rk   rl  r   r    test_optinfo_forward_propagationZ0TestMaskedArray.test_optinfo_forward_propagation  s&   ,#

5QZZ&a(9(9%(@AQZZ&a(9(9%(@AQZZ&Q(8(8(?@QZZ&a(9(9%(@AQZZ&a(9(9%(@AQZZ&Q(8(8(?@QZZ&Q(8(8(?@QZZ&Q(8(8(?@QZZ&Q(8(8(?@QZZ&"u(=>QZZ&)(=(=e(DEQZZ&q	(:(:5(ABQZZ&q	(:(:5(ABQZZ&ad(;(D(DU(KLQZZ&a(8(A(A%(HIr   c                s"   \         P                  ! R \        3RR\        3R\        3.3.4      p\	        RR.RR.VR7      pRp\        \        V4      V4       \        ^ . RO. RO.R3R. RO. RO.R3RR	7      pR
p\        \        V4      V4       R# )r   r   tr   r  z[(--, (2, --)) (4, (--, 6.0))]r   Fint, (2,3)float, floatr   r   r   z)(0, [[--, 0.0, --], [0.0, 0.0, --]], 0.0)N)r   )r   r   )r   )r         @r  r  )r   r   r   )TFTFFT)r   r   r   r   r   ro   r   r;   )r   Z
fancydtyper   r  Zt_2d0r7  r   test_fancy_printoptionsZ'TestMaskedArray.test_fancy_printoptions  s    XXSzC3*sEl1K+LMN
m]3&4%' 3SY( 1'6'8#&#( $)+>+?+A#(#* $<= >SZ)r   c                sb   R \         3R\        3.p\        P                  ! R	R
.VR7      p\	        V4      p\        P                  ! RR.RR..\        R7      p\        W44       \        VP                  VP                  4       \        R	R
.RR.VR7      p\	        V4      p\        RR.RR..^ ^.^^ ..\        R7      p\        W44       \        VP                  VP                  4       \        VP                  VP                  4       R \         3RR\         3R\        3.3.p\        RR.RR.VR7      p\	        V4      p\        . RO. RO.. RO. RO.\        R7      p\        W44       \        VP                  VP                  4       \        VP                  VP                  4       R \         3R\        3.p\        P                  ! R	.R
..VR7      p\	        V4      p\        P                  ! RR..RR...\        R7      p\        W44       \        VP                  VP                  4       R# )r   r   r   r{   r|   r  babbNri  rI  r  r  )r   )r   皙?)r   )r   皙@r  r  )r{   r{   r  )r|   r|   r  r  r   )r   r   r   r   r*   ro   r   r   )r   r  r   r   r  r7  r   test_flatten_structured_arrayZ-TestMaskedArray.test_flatten_structured_array  s    *sEl+HHff%V4'*((RHr2h/u=T#TZZ/66"&&)9H'*"bB8, !fq!f-U<T#TZZ/TYY-*sdC[4-$@AB=-0#[1A'*6'35BT#TZZ/TYY-*sEl+HHvj6*-V<'*((b"XLB8,7uET#TZZ/r   c                s   R \         3R\         3.p\        P                  ! R.VR7      ^ ,          p\        V4      p\	        \        V\        4      4       \        R.R.VR7      ^ ,          p\	        \        V\        4      4       \        RR.RR.VR7      p\        VP                  ^ ,          VP                  ^ ,          4      p\	        \        V\        4      4       R# )r   r   r   r  Nr   r   r  r  )	r   r   r   rO   rl   r  r;   r   r   )r   r  r   r  rP  r   test_void0dZTestMaskedArray.test_void0d  s    *sCj)HHgYf-a0!H
1e$%&?B
1e$%&&)0@O!''!*aggaj)
1e$%r   c           	     s   R \         3R\         3.p\        R	R
.RR.VR7      pV^ ,          p\        \        V\        4      4       \        V^ ,          VR ,          3R4       \        VR,          ^4       V^,          p\        \        V\        4      4       \        V^ ,          \        J 4       \        VR ,          \        J 4       \        V^,          ^4       \        ^ ^.3.RR.3.R.R7      p\        V^ ,          R,          VR,          ^ ,          4       \        V^ ,          R,          \        ^ ^.RR.RR7      4       R# )r   r   r  TFr  >i2r  Nr  r   r  r  ri  )r  r  r   )r   r;   rl   r  rO   ro   r:   )r   r  r   r  r  r7  r   test_mvoid_getitemZ"TestMaskedArray.test_mvoid_getitem  s!   *sCj)'6*&&1A%' aD
1e$%adAcF^V,QsVQaD
1e$%!#& !QqT1 Ayk!%u/0 235 	QqT#Y#q	*QqT#Y1a&#Um5!: 	;r   c                s    R \         3R\         3.p\        RR.RR.VR7      p\        \        V^ ,          4      ^^.4       \        \        V^,          4      \        ^.4       R# )r   r   r  Nr  r   r  r  )r   r;   ro   r   r:   )r   r  r   r   r   test_mvoid_iterZTestMaskedArray.test_mvoid_iter  s]    *sCj)'6*&&1A%' 	T!A$Z!Q(T!A$Z&!-r   c                s   \        R	R
.R\        3R\        3.R7      p\        \        V^ ,          4      R4       \        VR,          ^ &   \
        P                  p\
        P                  ! R4        \        \        V^ ,          4      R4       \        \        V^ ,          4      R4       \
        P                  ! V4       \        RR.R.R7      p\        \        V^ ,          4      R4       R#   \
        P                  ! T4       i ; i)r   r   r   r   z(1, 1)z-X-z(1, -X-)z(1,)Nri  rI  r   r  )r   r  )	r   r   ro   r   r:   rD   Z_displayZset_displayrA  )r   mxZini_displayr   r   test_mvoid_printZ TestMaskedArray.test_mvoid_print  s    FF#S#Jc
+CDSAZ*3
)22''.	9RUZ0bej1++K8 D$<
|4SAZ(	  ++K8s   18C- -Dc                sj   \        . RO3.. RO3.. RO3R.R7      p\        \        V^ ,          4      R8H  4       \        \        V^ ,          4      R8H  4       \        ^^.^^..3.RR.RR..3.R.R7      p\        \        V^ ,          4      R8H  4       \        \        V^ ,          4      R8H  4       \        R.R.RR.R7      p\        \        V^ ,          4      R8H  4       \        \        V^ ,          4      R8H  4       \        ^^.^^..^3.RR.RR..R3.RR\        3.R7      p\        \        V^ ,          4      R	8H  4       \        \        V^ ,          4      R	8H  4       \        R.R.RR.R7      p\        \        V^ ,          4      R
8H  4       \        \        V^ ,          4      R
8H  4       R# )r   FT)r   r   r  r   z([1, --, 3],)r  z([[1, --], [--, 4]],)r   z(--, 2)z([[1, --], [--, 4]], 1.0)z(--, (--, 1))Nr   r_  )rh  rh  rh  )r   <i4r   )r   r  rI  r  r{  )r   r  )r   r  r  )Tr{  )r   i4,i4)r;   rl   r   rA  r   )r   Zt_maZt_2dZt_0dZt_ner7  r   test_mvoid_multidim_printZ)TestMaskedArray.test_mvoid_multidim_print+  s    9,#7"9!:(@'B#5"68 	DG/0T!W01 QFQF#3"5!6%*DMD%=#A"C!D#7"8: 	DG 778T!W!889&"/#/">@ 	DG	)*T!W*+QFQF#3Q"7!8%*DMD%=#A5"I!J#7#u"FH 	DG ;;<T!W!<<=+"7!8#/"@B 	DG/0T!W01r   c                s   \        R .R.R7      p\        R R.4      p\        W.RR.\        R7      p\        V^ ,          VJ 4       \        V^,          VJ4       \        \        P                  ! V^,          P
                  VP
                  8H  4      4       \        \        P                  ! V^,          P                  4      4       RV^,          P
                  ^ &   \        V^ ,          R8H  4       R# )r{   Tr   r|   Fr  r   N)r;   r4  rl   r   r   r   r   )r   Zmx1Zmx2r  rP  r   test_object_with_arrayZ&TestMaskedArray.test_object_with_arrayO  s    B4tf-B8$3*E4=G11S !r!uzzSXX-./r!uzz"#1

1A"r   c           	     s2   \        . RO. ROR7      p\        RR7      ;_uu_ 4       p\        P                  ! \        4      ;_uu_ 4        \
        P                  ! W!4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   r   z.npy)ZsuffixNr   r_  )r;   rx   r   r  ZNotImplementedErrorr   Zsave)r   r   Zpathr   r   2test_maskedarray_tofile_raises_notimplementederrorZBTestMaskedArray.test_maskedarray_tofile_raises_notimplementederror[  sZ    )*>? V$$233! 4 %$33 %$$s#   #B	A2	 B2B=BB	r   N)Br  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r%  r)  r0  r2  r8  rG  rQ   suppress_copy_mask_on_assignmentrY  rZ  r[  r]  ra  rd  rm  rn  rp  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r   rz   rz      s_    8	$	3"$ (I@*)+/5,	)
%F(32**9)0'd$ &FC &FCP$6
1("/D
L+*.=,	>5'"%2(8  &" &",B3K(30J&*(!0F&;2.)""2H
" "r   rz   c            
       s  a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR t]P4                  P7                  RR4      ]P4                  P7                  R. RFO. RGO. RHO.4      ]P4                  P7                  RRRI.4      R 4       4       4       t]P4                  P7                  RRR.4      R  4       tR! tR" tR# t R$ t!R% t"R& t#R' t$R( t%R) t&R* t'R+ t(R, t)R- t*R. t+]P4                  P7                  R/R0R1.4      ]P4                  P7                  R2RR3.4      R4 4       4       t,]P4                  P7                  R/R0R1.4      ]P4                  P7                  R2RR3.4      R5 4       4       t-]P4                  P7                  R6].]/R77      ]P4                  P7                  R8].]/R77      ]P4                  P7                  R2R^.4      R9 4       4       4       t0]P4                  P7                  R:]1Pd                  ]1Pf                  .4      R; 4       t4]P4                  P7                  R:]1Pd                  ]1Pj                  .4      R< 4       t6]P4                  P7                  R6].]/R77      ]P4                  P7                  R8].]/R77      ]P4                  P7                  R2R^.4      R= 4       4       4       t7]P4                  P7                  R6].]/R77      ]P4                  P7                  R8].]/R77      ]P4                  P7                  R2R^.4      ]P4                  P7                  R:]1Pp                  ]1Pf                  ]1Pr                  ]1Pj                  .4      R> 4       4       4       4       t:]P4                  P7                  R:]1Pp                  ]1Pf                  ]1Pr                  ]1Pj                  .4      ]P4                  P7                  R2RR?.4      R@ 4       4       t;RA t<RB t=RC t>RD t?REt@V tAR# )JTestMaskedArrayArithmeticid  c                s   \         P                  ! R R R R\        R,          RRRRR RR.4      p\         P                  ! . RO4      pRp. ROp. ROp\        WR7      p\        W%R7      p\         P                  ! . RO4      p\        V. ROR7      p	\         P                  ! VRV4      p
VP                  R4       WW4WVWxW3
V n        \         P                  ! 4       V n        \         P                  ! RRR	7       R
# )r{   r|   r}   r~   r   r   r   r   r*  r"   r,  Nr   r   r   r   r   r   r   )
r   r   r   r;   ri   r   r   geterr
err_statusseterrr   r   r   r   Z&TestMaskedArrayArithmetic.setup_methodg  s    HHb"b#rCxRsBBOPHHJK11!%!%HH&'!,/XXb%#
% 7))+
		84r   c                F    \         P                  ! R/ V P                  B  R # Nr   r   r  r  r   r   r   teardown_methodZ)TestMaskedArrayArithmetic.teardown_methodx      
		$DOO$r   c           
     s    V P                   w
  rr4rVrxr\        ^^.^ ^..4      p\        V^ ^ .^^ ..4      p\        W,          W,          4       \        W,           W,           4       \        W,
          W,
          4       R EF  pVP	                  V4      pVP	                  V4      pVP	                  V4      pVP	                  V4      pV
P	                  V4      p
\        V) V) 4       \        W,           Wg,           4       \        W,
          Wg,
          4       \        W,          Wg,          4       \        W,          Wg,          4       \        W2,           W7,           4       \        W2,
          W7,
          4       \        W2,          W7,          4       \        W2,          W7,          4       \        W,           Wc,           4       \        W,
          Wc,
          4       \        W,          Wc,          4       \        W,          Wc,          4       \        V^,          V^,          4       \        \        V4      R,          \        V4      R,          4       \        W,          Wg,          4       \        \        P                  ! W4      \        Wg4      4       \        \        P                  ! W4      \        Wg4      4       \        \        P                  ! W4      \        Wg4      4       \        \        P                  ! W4      \        Wg4      4       EK  	  R# )r         @N))   r   )r   r   )r   r   r;   ro   r[   r   r   r
   rc   rN   r"   )r   r   r   r   r   r   r   r   r   r   r   Za2dZa2dmr      &             r   test_basic_arithmeticZ/TestMaskedArrayArithmetic.test_basic_arithmetic{  s   15.sraVaV$%C1a&1a&!12SY
+SY
+SY
+(A		!A		!AABABAB!bS!((((#(+#(+#(+#(+"(+"(+"(+"(+aq)Q3B37*s2{3Q*HR,<=Q*HR,<=1&.93 )r   c                s   \        ^\        R7      pRVn        \        ^\        R7      pW,          p\        V. RO. RO.4       \        VP                  . RO. RO.4       WR,          ,          p\        V. RO. RO.4       \        VP                  . RO. RO.4       \        ^\        R7      pWR,          ,          p\        V. R	O. R
O.4       \        VP                  . RO. RO.4       R# )r   r   Nr   r   )r   r{   r{   )r   r}   r  r   Nr;  r;  N)r   r   r   )r   r}   r~   r  r`  )r   r   r]   ro   r   r   r   r   r   rP  r   test_divide_on_different_shapesZ9TestMaskedArrayArithmetic.test_divide_on_different_shapes  s    1E"1E"EQ78QVVi34'
NQ78QVVi341E"'
NQ,78QVVi34r   c                s    \         P                  ! ^.4      p\        ^.4      p\        \        W,           \        4      4       \        \        W!,           \        4      4       R# r   N)r   r   rl   r  r   )r   Znar   r   r   test_mixed_arithmeticZ/TestMaskedArrayArithmetic.test_mixed_arithmetic  s>    XXqc]A3Z
27K01
27K01r   c                s    \         P                  ! \        4      P                  p\	        VR V,          R.4      p\        \        V^,          4      . RO4       \        \        ^V,          4      . RO4       R# )r{   r   Nr`  r   )r   finfor   tinyr   ro   r-   )r   r  r   r   r   test_limits_arithmeticZ0TestMaskedArrayArithmetic.test_limits_arithmetic  sP    xx##4dB'(\!a%()4\!a%()4r   c                sF   \        ^ ^R7      p\        ^\        ^ 4      ,          P                  4       \        ^V,           P                  4       \        V) P                  4       \        \        W4      P                  4       \        \	        W4      P                  4       R# r   r   N)r   rl   r   rH   rK   )r   r   r   r    test_masked_singleton_arithmeticZ:TestMaskedArrayArithmetic.test_masked_singleton_arithmetic  sh     11U1X##$R"

$$%$$%r   c                s    \        . RO. ROR7      p\        V^ ,          ^ 8H  \        J 4       \        V^ ,          ^ 8g  \        J 4       \        VR,          ^ 8H  R4       \        VR,          ^ 8g  R4       R# )r   r   FTNr   r   r   r   r   )r   rl   r:   ro   rl  r   r   test_masked_singleton_equalityZ8TestMaskedArrayArithmetic.test_masked_singleton_equality  s\    )),1v%&1v%&aeqj5)aeqj4(r   c                s~   \        ^^.4      pV\        ,          p\        VP                  VP                  4       \        VP                  RR.4       V^ ,          \        ,          p\        V\        J 4       V\        ,           p\        VP                  VP                  4       \        VP                  RR.4       R# r   TN)r;   r:   ro   r]   r   rl   r  r   r   %test_arithmetic_with_masked_singletonZ?TestMaskedArrayArithmetic.test_arithmetic_with_masked_singleton  s    !Q JQWWagg&QWWtTl+aD6MVJQWWagg&QWWtTl+r   c                s    \        ^.4      pV\        ,           p\        VP                  VP                  4       \        VP                  R.4       R# r  )r;   r:   ro   r]   r   r  r   r   5test_arithmetic_with_masked_singleton_on_1d_singletonZOTestMaskedArrayArithmetic.test_arithmetic_with_masked_singleton_on_1d_singleton  s9    !JQWWagg&QVVdX&r   c                s$   \        ^ ^ R7      p\        VP                  4       P                  P                  VP                  P                  4       \        R4      R,          p\        VP
                  R4       \        VP                  ^^.4       R# )r   r   r   Nr  r  )r   ro   r'   rW  r   r]   r   )r   r   r   r   r   test_scalar_arithmeticZ0TestMaskedArrayArithmetic.test_scalar_arithmetic  s`    !!QXXZ&&++QXX]];6]RRXXt$RWWq!f%r   c           
     s   V P                   w
  rr4rVrxr\        \        P                  ! V4      \        V4      4       \        \        P                  ! V4      \	        V4      4       \        \        P
                  ! V4      \        V4      4       \        \        P                  ! V4      \        V4      4       \        \        P                  ! V4      \        V4      4       \        \        P                  ! V4      \        V4      4       \        \        P                  ! \        V4      4      \        V4      4       \        \        P                  ! \        V4      4      \        V4      4       \        \        P                  ! \        V4      4      \        V4      4       \        \        P                  ! V4      \        V4      4       \        \        P                  ! V4      \        V	4      4       \        \        P                  ! V4      \        V	4      4       \        \        P                   ! V4      \!        V	4      4       \        \        P"                  ! W4      \#        Wg4      4       \        \        P$                  ! V4      \%        V4      4       \        \        P&                  ! VR V,          ,           4      \'        VR V,          ,           4      4       \        \        P&                  ! VR V,          ,           RR7      \'        VR V,          ,           RR7      4       \        \        P(                  ! W4      \)        Wg4      4       \        \        P*                  ! W4      \+        Wg4      4       \        \        P,                  ! W4      \-        Wg4      4       \        \        P.                  ! W4      \/        Wg4      4       \        \        P0                  ! W4      \1        Wg4      4       \        \        P2                  ! W4      \3        Wg4      4       \        \        P4                  ! V4      \5        V4      4       R# )              ?T)ZdegN)r   ro   r   r   r   r^   r_   rf   rg   rb   r   r5   r6   r&   r   r   r   r   r	   r   r%   rQ   r3   r.   r4   r/   r   r   r   r   test_basic_ufuncsZ+TestMaskedArrayArithmetic.test_basic_ufuncs  se   15.srRVVAYB(RWWQZb*RVVAYB(RWWQZb*RVVAYB(RWWQZb*RWWSV_d2h/RVVCF^SW-RXXc!f%uRy1RVVAYB(RYYq\6":.RYYq\6":.RYYq\6":.RZZ%wr7R[[^Xb\2RXXa"q&j)5b2g+>?RXXa"q&jd3U2R<T5RSRXXa^U2]3R\\!'2):;RWWQ]DL1RZZ%wr7R]]1(*R*<=R%%a+]2-BCR\\!_im4r   c                s    \         P                  ! \         P                  P                  4      \         P                  P                  J g   Q hR # r   )r   rb   r   r:   r   r   r   test_basic_ufuncs_maskedZ2TestMaskedArrayArithmetic.test_basic_ufuncs_masked  s)    wwruu||$444r   c                sP   \        ^\        ^4      4       \        ^ \        ^^.R7      4       \        . RO. ROR7      p\        V4      p\        VP                  P
                  \        P                  J 4       \        ^V4       VP                  R4      p\        V4      p\        VP                  P
                  \        P                  J 4       \        ^V4       \        V^ 4      p\        \        V\        4      4       \        ^^.V4       \        \        V4      \        J 4       \        . RO4      p\        V^ 4      p\        \        V\        4      4       \        VP                  P
                  \        P                  J 4       \        \        VP                  ^R7       R# )r   r   rS  N)r   r{   r|   r   r   rI  )ro   r   r   rl   r   rB  r   Zintpr[   r  r   r,   rP   ru   r   )r   Zottr  r   r   test_count_funcZ)TestMaskedArrayArithmetic.test_count_func
  s   Qa!Qaqc*+$<8Cj		"'')*Qkk&!Cj		"'')*QCm
3()aVS!&'$%Cm
3()		"'')*i3r   c                s^    \        ^\        . RO4      4       \        ^\        R4      4       R# )r   Nr   r  )ro   r   r   r   r   test_count_on_python_builtinsZ7TestMaskedArrayArithmetic.test_count_on_python_builtins#  s    Qi()Qf&r   c           
     s   V P                   w
  rr4rVrxr\        P                  ! V4      p\        V4      p\        \	        V4      \
        P                  ! V4      4       \        \        V4      \        P                  ! V4      4       \        \        . RO. RO4      . RO4       \        \        . RO. RO4      . RO4       \        ^4      p\        ^4      ^,
          p\        V^&   \        V^ &   \        \        W4      \        \        W4      W4      4       \        \        W4      \        \        W4      W4      4       \        \        P                  ! V4      ^ 8H  4       \        \
        P                  ! V4      ^8H  4       \        ^4      P                  ^^4      p\        VR&   \        \
        P                  ! VRR7      ^4       R# )r   NrS  r   )r   r   	   r   r   r   )r   r   r  r  )r   r   rY   ro   rG   rH   r    rJ   rK   r   r:   ri   r3   r.   rl   r[   )r   r   r   r   r   r   r   r   r   r   r   ZxrZxmrr   r   test_minmax_funcZ*TestMaskedArrayArithmetic.test_minmax_func(  s6   15.srXXa[BiSWgnnS12SWgnnS12WY	2I>WY	2I>1I1IM!!WQ]E$q*a$;<WQ]E'!-$>?q!Q&'q!Q&'1Ia#&	W^^AD115r   c                s   \         P                  ! R4      p\        W4      p\        \	        V\
        4      4       \        V\         P                  ! W4      4       \        P                  ! W4      p\        \	        V\
        4      4       \        V\         P                  P                  W4      4       \        W4      p\        \	        V\
        4      4       \        V\         P                  ! W4      4       \        P                  ! W4      p\        \	        V\
        4      4       \        V\         P                  P                  W4      4       R# )r   NrI  )	r   rR   rK   rl   r  r   ro   rT   rH   )r   r   ZaminimumZamaximumrP  r   test_minimummaximum_funcZ2TestMaskedArrayArithmetic.test_minimummaximum_funcA  s    GGFO1=
8[12Xrzz!/0==&
8[12Xrzz//561=
8[12Xrzz!/0==&
8[12Xrzz//56r   c                s~    \        . RO. ROR7      p\        P                  P                  V4      p\	        V^4       R# )r   r   Nr   r   )r   r   rH   r    ro   r   r   r   test_minmax_reduceZ,TestMaskedArrayArithmetic.test_minmax_reduceS  s-    )"78JJa Qr   c                sh   \         P                  P                  ^4      P                  4       p\	        \         P                  P                  ^ ^
^4      VR7      pRVn        R F  p\        \         V4      p\        \        P                  P                  V4      p\         P                  ! R\        R7      p V! V^ VR7      p\         P                  ! R\        R7      pV! V^ VR7      p\        WvJ 4       VP!                  R4       V! V^ VR7      p\        WvJ 4       K  	  R#   \         d     Lni ; i)	r  r   r   rT  outNr   rJ   rG   r   r  )r   r   r   roundr   uniformr]   getattrr  r   corer#   r   r   r   rl   fill)r   r   r   funcnamenpfuncZmafuncnoutresult   &       r   test_minmax_funcs_with_outputZ7TestMaskedArrayArithmetic.test_minmax_funcs_with_outputY  s    yy~~b!'')299$$QB/d;&HR*FUXX]]H5F88D,D5 88D.DBQD1FFN#IIdOBQD1FFN#! '  s   7D##D10D1c           
     s   V P                   w
      r   pVP                  3Vn        \        VP	                  4       ^
4       \        V^ ,          P	                  4       \        J 4       \        V^ ,          P	                  ^ 4      \        J 4       \        V^ ,          P	                  R4      \        J 4       \        VP                  4       R4       \        V^ ,          P                  4       \        J 4       \        V^ ,          P                  ^ 4      \        J 4       \        V^ ,          P                  R4      \        J 4       \        VP                  4       R4       \        V^ ,          P                  4       \        J 4       \        V^ ,          P                  ^ 4      \        J 4       \        V^ ,          P                  R4      \        J 4       \        . RORR7      p\        VP                  4       \        J 4       \        VP	                  4       \        J 4       \        VP                  4       \        J 4       R# )r         4@Tr   Nr   r   r   )
r   r   r]   ro   rG   rl   r:   rJ   ptpr   )r   _r   r   rP  r   test_minmax_methodsZ-TestMaskedArrayArithmetic.test_minmax_methodsp  s{   *.&&'Aq!QAq!QGG:RVVXr"1		v%&1		!&'1		"'(RVVXt$1		v%&1		!&'1		"'(RVVXs#1		v%&1		!&'1		"'()$'6!"6!"6!"r   c                s   \         P                  ! R R R R\        R,          RRRRR RR.4      pRpRp. ROp\        WR7      pVP	                  R4       \         P
                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  .pV FY  p\        \        WVR7      P                  4       V! V4      4       \        \        WVR7      P                  4       V! V4      4       K[  	  \        VP                  4       V4       \        VP                  4       V4       VR	,           FY  p\        \        WVR7      P                  4       V! V4      4       \        \        WVR7      P                  4       V! V4      4       K[  	  VRR
  EF  p\        . RO. ROVR7      p\        VP                  4       V! R4      4       \        VP                  4       V! R4      4       \        \         P                  R,           \         P                  R,           \         P                  ) R,
          .. ROVR7      p	\        V	P                  4       V! \         P                  ) R,
          4      4       \        V	P                  4       V! \         P                  R,           4      4       \         P                  R\         P                   ! \         P                  4      P                  ,          ,
          p
\        V
) ^ .^ ^.R7      P                  4       V
) 8X  g   Q h\        V
^ .^ ^.R7      P                  4       V
8X  d   EK  Q h	  R
# )r{   r|   r}   r~   r   r   r   r   r  :Nr   NNr  y               @y              @r   r   r   @xD      ?@xD      )r  y@xD       r   r  )r   r   r   r;   r   Zfloat16rN  float64Z
longdoubleZ	complex64Z
complex128Zclongdoublero   rG   rJ   rM  r  )r   r   r   Zan10r   r   Zfloat_dtypesZfloat_dtyper   r   Zcmaxr   r   test_minmax_dtypesZ,TestMaskedArrayArithmetic.test_minmax_dtypes  s   HHb"b#rCxRsBBOP1!%
% 

BJJ

BMMbmmR^^E'KaDHHJ$S)+aDHHJ$T*, ( 	RVVXt$RVVXs# (++KaDHHJ$S)+aDHHJ$T*, , (,K?i +-B;y#9:;y#9:rvv{BFFRK"&&2FY$/1B;w|#<=;rvv{#;<66B"**!5!9!999D$
!Q8<<>4%GGGq	A7;;=EEE -r   r   ZbBiIqQr   rT  Nc                s   \         P                  ! V4      p\         P                  ! ^ ^
RVP                  VP                  ..^,          4      P                  V4      p\         P                  ! V.^,          4      p\        WRR7      p\        VP                  V4      WR( ,          P                  V4      4       \        VP	                  V4      WR( ,          P	                  V4      4       R# )r   r   N)	r   iinfor   rJ   rG   r   r   r;   rn   )r   r   r   rT  r$  r   Zmasked_a   &&&&   r   test_minmax_intsZ*TestMaskedArrayArithmetic.test_minmax_ints  s     HHq"c599eii89A=>EEeLzz4&1*%-8<<-qx||D/AB8<<-qx||D/ABr   	time_typezM8[s]zm8[s]c                s    R  p\         P                  ! . ROVR7      p\         P                  ! . ROVR7      p\         P                  ! . ROVR7      pW4V.p. ROpV F  pV! W4       K  	  R# )c                 sN   \        WR 7      pV \        P                  ! V\        R7      ( ,          P	                  4       pV \        P                  ! V\        R7      ( ,          P                  4       p\        VP	                  4       V4       \        VP                  4       V4       R# )r   r   N)r;   r   r   r  rJ   rG   rn   )arrr   Z
masked_arrZexpected_minZexpected_max   &&   r   minmax_with_maskZKTestMaskedArrayArithmetic.test_minmax_time_dtypes.<locals>.minmax_with_mask  sp    %c5JT ::;??ALT ::;??ALz~~/>z~~/>r   r   N)
r   r   r   r   r#  r   r   r   l )
NaTr   r+  r   r   r#  r   r   r   r   )
r,  r,  r+  r   r   r#  r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   r  )	r   r'  r*  rC  rD  rE  Zx_testr$  r   s	   &&       r   test_minmax_time_dtypesZ1TestMaskedArrayArithmetic.test_minmax_time_dtypes  s\    	? XXASXX<INXX@	R"*AQ" r   c           
     s   V P                   w
  rr4rVrxr\        \        P                  P	                  V4      \        P                  ! V4      4       \        \        P                  P                  V4      \        P
                  ! V4      4       \        ^\        \        ^4      ^ R7      4       \        ^\        \        ^4      ^ R7      4       \        \        P                  ! V^ R7      \        V^ R7      4       \        \        P                  ! \        V^ 4      ^ R7      \        V^ R7      4       \        \        P                  ! V^ 4      \        V^ 4      4       \        \        P                  ! V^ R7      \        V^ R7      4       \        \        P                  ! V^ 4      \        V^ 4      4       \        \        P                  ! \        V^4      ^ R7      \        V^ R7      4       RpV;Vn        ;Vn        ;Vn        Vn        \        V4      ^8  d   \        \        P                  ! W3^4      \        Wg3^4      4       \        \        P                  P	                  V^4      \        P                  ! V^4      4       \        \        P                  ! V^4      \        V^4      4       \        \        P                  ! V^4      \        V^4      4       R# R# )r   rS  Nr   )r   ro   r   r
   r    Z
accumulaterd   r   r'   prodrV   r]   r   r   r   r   r   test_addsumprodZ)TestMaskedArrayArithmetic.test_addsumprod  s   15.srRVV]]1%szz!}5RVV&&q)3>>!+<=QE!H1-.QE!H1-.RVVAA&AA7RVVF2qM2CODRVVAq\3q!9-RWWQQ');<RWWQ]GAqM2RWWVB]3WRa5HI2333!'3BHrxq6A:2K!4LMq!,cjjA.>?1s1ay1A16	 r   c                sP   \        R .R.R..R.R.R..R7      p\        RR.RR.RR	..4      pW,          p\        RR.RR.RR..^ ^ .^^.^^..R7      p\        W44       \        VP                  VP                  4       \        VP                  VP                  4       W!,          p\        RR.RR.RR	..^ ^ .^^.^^..R7      p\        W44       \        VP                  VP                  4       \        VP                  VP                  4       \        R .R.R..4      p\        RR.RR.RR	..^ ^ .^ ^ .^ ^..R7      pW,          p\        ^^.^^
.^^..^ ^ .^ ^ .^ ^..R7      p\        W44       \        VP                  VP                  4       \        VP                  VP                  4       W!,          p\        ^^.^^
.^^..^ ^ .^ ^ .^ ^..R7      p\        W44       \        VP                  VP                  4       \        VP                  VP                  4       R
# )r{   r|   r   FTr   r}   r~   r        @Nr   ro   r   r   r   r   r   r   r  r7  r   test_binops_d2DZ)TestMaskedArrayArithmetic.test_binops_d2D  s1   B4"t$UGdVdV+DEB8b"XBx01u"bB8b"X6 !fq!fq!f57T#TYY-TYY-u"bB8b"X6 !fq!fq!f57T#TYY-TYY-B4"t$%B8b"XBx0AAA/1u!Q!R2q'2 !fq!fq!f57T#TYY-TYY-u!Q!R2q'2 !fq!fq!f57T#TYY-TYY-r   c                sP   \        R .R.R..R.R.R..R7      p\        RR.RR.RR	..4      pW,          p\        RR.RR.RR..^ ^ .^^.^^..R7      p\        W44       \        VP                  VP                  4       \        VP                  VP                  4       W!,          p\        RR.RR.RR	..^ ^ .^^.^^..R7      p\        W44       \        VP                  VP                  4       \        VP                  VP                  4       \        R .R.R..4      p\        RR.RR.RR	..^ ^ .^ ^ .^ ^..R7      pW,          p\        RR.RR.R^..^ ^ .^ ^ .^ ^..R7      p\        W44       \        VP                  VP                  4       \        VP                  VP                  4       W!,          p\        RR.RR.R^..^ ^ .^ ^ .^ ^..R7      p\        W44       \        VP                  VP                  4       \        VP                  VP                  4       R
# )r{   r|   r   FTr   r}   r~   r  r0  Nr   gUUUUUU?g?r  r1  r2  r7  r   test_domained_binops_d2DZ2TestMaskedArrayArithmetic.test_domained_binops_d2D  s7   B4"t$UGdVdV+DEB8b"XBx01u'7+b"XBx@ !fq!fq!f57T#TYY-TYY-u'7+b"XBx@ !fq!fq!f57T#TYY-TYY-B4"t$%B8b"XBx0AAA/1u&&)FF+;fa[I !fq!fq!f57T#TYY-TYY-u&&)FF+;fa[I !fq!fq!f57T#TYY-TYY-r   c                s2   \        . RO. RORR7      pV^,           p\        VP                  . RO4       V^,          p\        VP                  . RO4       VR ,          p\        VP                  . RO4       VR ,          p\        VP                  . RO4       R# )r{   Fr   shrinkNr{   r|   r   r   r`  r;   ro   r   r   r   r   test_noshrinkingZ*TestMaskedArrayArithmetic.test_noshrinking2  sr     ,A %'EQVVY'	QQVVY'FQVVY'	RQVVY'r   c                s    \         P                  P                  ^.4      p\        \         P                  ! V^4      P
                  P                  R4       R# )r   Nr   )r   r   r   ro   true_divider   r]   r   r$  r   r   test_ufunc_nomaskZ+TestMaskedArrayArithmetic.test_ufunc_nomaskC  s7    EEKKR^^Aq)..44b9r   c                s~    \         P                  P                  . RORRR7      p\        VP                  . RO4       R# )r{         ?Fr6  N)r{   r  @r`  )r   r   rE   ro   r   rl  r   r   test_noshink_on_creationZ2TestMaskedArrayArithmetic.test_noshink_on_creationI  s+    EEEBQVVY'r   c           
     s   V P                   w
  rr4rVrxr\        \        W4      \        Wg4      4       \        Wv4      p\        V\        P                  ! Wv4      4       \        VP                  \        VP                  VP                  4      4       \        Wg4      p\        V\        P                  ! Wg4      4       \        VP                  \        \        VP                  VP                  4      V^ 8H  4      4       R# r   N)r   ro   rM   r   r   r9   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   test_modZ"TestMaskedArrayArithmetic.test_modN  s    15.srSYB,2{T266">*TYY 9:2{T266">*TYY(AB!G MNr   c           	     s   \        ^4      p\        P                   ! ^4      p\        VR&   VP                  ^^^4      pVP                  ^^^4      p\	        \        P
                  ! VR4      \        VR4      4       \	        \        P                  ! VR^4      \        VR^4      4       \	        \        P                  ! \        V^ 4      \        V^ 4      4      \        W4      4       \	        \        P                  ! \        V^ 4      \        V^ 4      4      \        W4      4       \        . RO\        4      p\        V^&   \        V. RO4      p\        V^ ,          R8H  4       \        V^,          ^8H  4       \        V^,          ^8H  4       R# )r   :r   r   NabcNr   r   r   )rC  r   Zdefr   r   )r   r   r   )r   r   r:   r[   ro   rh   re   r1   r'   rT   r   r4  rl   )r   r   r   r  rP  r   test_TakeTransposeInnerOuterZ6TestMaskedArrayArithmetic.test_TakeTransposeInnerOuterY  s#   2JIIbM#IIaAIIaAR\\!Y/1i1HIRWWQ	1-tAy!/DERXXfQlF1aL91[	"RXXfQlF1aL91[	")62!I!!	!	r   c                s   \        RR.^^ .R7      p\        VP                  ^
^.4       \        VP                  P                  4       R^.4       \        VP                  P                  VP
                  P                  P                  4       \        VP                  ^^.4       \        VP                  P                  4       R^.4       \        VP                  P                  VP
                  P                  P                  4       R# )r   r   r   Ny      ?      $@y      4@       @)r   ro   r  r'   r   r   r  )r   r   r   r   test_imag_realZ(TestMaskedArrayArithmetic.test_imag_realm  s    GW%QF3RWWr1g&RWW^^%qz2RWW]]BHHMM$7$78RWWq"g&RWW^^%r{3RWW]]BHHMM$7$78r   c           	     s   \        \        P                  P                  ^ ^
^4      4      P	                  ^^4      p\
        ;VR&   ;V^ &   VR&   RpV F  p\        \        V4      p\        W4      p\        P                  ! ^\        R7      pVP                  R4       V! V^ VR7      p\        WvJ 4       \        Wu! ^ VR7      4       \        ^\        R7      pV! ^ VR7      p\        WvJ 4       \        V^ ,          \
        J 4       K  	  R# )r   r   r  Nr;  r   r  )rd   r.  varstdrG   rJ   r  meanr  r   r   r   r  r[   r:   r  r#   r   r  rl   ro   r   )r   r   Zfunclistr  r  xmmethoutputr  r  r   test_methods_with_outputZ2TestMaskedArrayArithmetic.test_methods_with_outputw  s    299$$QB/088A>(..4.2a52f:N HR*FR*FXXau-FKKBQF3FF$%QF!;<1C(F/FF$%F1I'( !r   c                s   R \         3R\         3.p\        RR	.R
R.VR7      pW"8H  p\        VP                  RR.4       \        VP                  RR.4       \        VP                  R8H  4       W"^ ,          8H  p\        VP                  RR.4       \        VP                  RR.4       \        VP                  R8H  4       \        RR	.RR.VR7      pW$8H  p\        VP                  RR.4       \        VP                  RR.4       \        VP                  R8H  4       V^ ,          V8H  p\        VP                  RR.4       \        VP                  RR.4       \        VP                  R8H  4       \        RR	.R
R.VR7      pW$8H  p\        VP                  RR.4       \        VP                  RR.4       \        VP                  R8H  4       R \         3RR\         3R\         3.3.p\        RR.RR..RR.RR..VR7      pVR,          V8H  p\        VP                  RR.RR..4       \        VP                  RR.RR..4       \        VP                  R8H  4       R# )r  r  r  TFr  r  Nri  rI  r  r  r  r  r  r   r   r   r   r   r   r  r  r   r  r   r   ro   r   r   rl   r  r   r  r   r   r   r7  r   test_eq_on_structuredZ/TestMaskedArrayArithmetic.test_eq_on_structured  sA   *sCj)66"&&)9HTYYt-TYY/4'(qT	TYYu.TYY/4'(66"&&)9HTYY.TYYu.4'(!	TYY/TYYu.4'(66"&&)9HTYYt-TYY/4'( *sdC[4+$>?@K--/$k2$k24;AC $1TYY$ ?@TYY%% ?@4'(r   c                s   R \         3R\         3.p\        RR	.R
R.VR7      pW"8g  p\        VP                  RR.4       \        VP                  RR.4       \        VP                  R8H  4       W"^ ,          8g  p\        VP                  RR.4       \        VP                  RR.4       \        VP                  R8H  4       \        RR	.RR.VR7      pW$8g  p\        VP                  RR.4       \        VP                  RR.4       \        VP                  R8H  4       V^ ,          V8g  p\        VP                  RR.4       \        VP                  RR.4       \        VP                  R8H  4       \        RR	.R
R.VR7      pW$8g  p\        VP                  RR.4       \        VP                  RR.4       \        VP                  R8H  4       R \         3RR\         3R\         3.3.p\        RR.RR..RR.RR..VR7      pVR,          V8g  p\        VP                  RR.RR..4       \        VP                  RR.RR..4       \        VP                  R8H  4       R# )r  r  r  FTr  r  Nri  rI  r  r  r  r  r  rO  rQ  r  r  rS  rT  rU  r7  r   test_ne_on_structuredZ/TestMaskedArrayArithmetic.test_ne_on_structured  sA   *sCj)66"&&)9HTYY/TYY/4'(qT	TYY.TYY/4'(66"&&)9HTYYu.TYYu.4'(!	TYYt-TYYu.4'(66"&&)9HTYY/TYY/4'( *sdC[4+$>?@K--/$k2$k24;AC $1TYY%t =>TYY%% ?@4'(r   c                s$   \        . RO. RORR7      pWP                  8H  pVP                  V8g  p\        \        P                  ! V4      4       \        \        P
                  ! V4      '       * 4       VP                  \        P                  ! RVP                  P                  4      8H  p\        VP                  V4       \        VP                  V4       \        VP                  . RO4       \        VP                  VP                  ( 4       R# )r   r  r  N)ri  rI  r   )r  r  ri  r   TTF)r   r   rl   r   r   r   r   rR   r   rn   ro   )r   r   eqZneexpected_maskr7  r   %test_eq_ne_structured_with_non_maskedZ?TestMaskedArrayArithmetic.test_eq_ne_structured_with_non_masked  s    */w@&&[VVq[r
BFF2J"''"affll";;277M2277M2 	RWW12277RWWH-r   c           
     s   \         P                  ! R 4      p\        RRVR7      \        RRVR7      \        RRVR7      \        RR	VR7      3 EF  pVP                  \        4      pVP                  R4      p\         P
                  ! R	VR7      \        R	VR7      \        RRVR7      \        R
RVR7      3 EF  pVP                  \        4      pVP                  R4      pWG8H  P                  4       p\        W%8H  V4       \        WR8H  V4       \        W58H  V4       \        W&8H  V4       \        W68H  V4       VP                   U	u. uF  qV	,          WY,          8H  NK  	  p
p	\        \        V
\        R7      P                  4       V4       WG8g  P                  4       p\        W%8g  V4       \        WR8g  V4       \        W58g  V4       \        W&8g  V4       \        W68g  V4       VP                   U	u. uF  qV	,          WY,          8g  NK  	  p
p	\        \        V
\        R7      P                  4       V4       EK  	  EK  	  R# u up	i u up	i )r  r  Z2i4r   Nr  r  r  r  ri  r   r   )r   r   rO   r}  r   r   r   ro   r  r  r   )r   r6  r   ma1r1r   ma2Zr2Zeq_expectedZnameZel_by_elZne_expectedr   r   test_eq_ne_structured_extraZ5TestMaskedArrayArithmetic.test_eq_ne_structured_extra  s    XXgfB7fB7fB7fB79B ''+&C%Bxxb1V2.V&;V&;= ggk*XXe_!xnn.RX{3RX{3SY4RY4SZ5=?XXFXTtH0XFU848<<>L!xnn.RX{3RX{3SY4RY4SZ5=?XXFXTtH0XFU848<<>L-=9& G Gs   I1Ir6  ZSZUr  r  c                sv   \        R R.V^ ^.VR7      pW38H  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       W3^ ,          8H  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       \        R R.V^^ .VR7      pW58H  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       V^ ,          V8H  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       WS^ ,          8H  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       R# )r   r   r   r   r  TFNr   ro   r   r   rl   r  r   r6  r  r   r   r      &&&   r   test_eq_for_stringsZ-TestMaskedArrayArithmetic.test_eq_for_strings  sn    3*BaVETYYt-TYY.4'(qT	TYYu.TYY.4'(3*BaVETYY/TYYt-4'(!	TYY/TYYu.4'(qT	TYY/TYYu.4'(r   c                sv   \        R R.V^ ^.VR7      pW38g  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       W3^ ,          8g  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       \        R R.V^^ .VR7      pW58g  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       V^ ,          V8g  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       WS^ ,          8g  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       R# )r   r   ra  FTNrb  rc  rd  r   test_ne_for_stringsZ-TestMaskedArrayArithmetic.test_ne_for_strings6  sn    3*BaVETYY/TYY.4'(qT	TYY.TYY.4'(3*BaVETYYt-TYYt-4'(!	TYYt-TYYu.4'(qT	TYYt-TYYu.4'(r   dt1Zidsdt2c                sv   \        ^ ^.V^ ^.VR7      pWD8H  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       WD^ ,          8H  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       \        ^ ^.V^^ .VR7      pWF8H  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       V^ ,          V8H  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       Wd^ ,          8H  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       R# )r   ra  TFNrb  r   rg  ri  r  r   r   r   r%  r   test_eq_for_numericZ-TestMaskedArrayArithmetic.test_eq_for_numericV  sn   
 1a&1a&TBTYYt-TYY.4'(qT	TYYu.TYY.4'(1a&1a&TBTYY/TYYt-4'(!	TYY/TYYu.4'(qT	TYY/TYYu.4'(r   opc                sp   \        ^ ^.^ ^.R7      p\        P                  ! ^
4      P                  ^^4      pV! W#4      p\	        VP
                  P                  VP                  8H  4       \        VP
                  \        P                  ! VP                  \        4      VP
                  ,          4       R# r  )
r   r   r   r[   rl   r   r]   ro   rj   r  )r   rl  r   r   r  r)  r   test_eq_broadcast_with_unmaskedZ9TestMaskedArrayArithmetic.test_eq_broadcast_with_unmaskedw  sz    1a&1v&IIbM!!!Q'A!!QWW,-V[["((177D"9AFF"BCr   c                s    \        . RO. RO. RO.4      pV! V^4      p\        VP                  P                  '       * 4       \        VP                  \        J 4       R# )r   Nr   r\     rV  r  )r   rl   r   r]   rP   )r   rl  r   r     &&  r   test_comp_no_mask_not_broadcastZ9TestMaskedArrayArithmetic.test_comp_no_mask_not_broadcast  sF     9i34AqFKK%%%&v%&r   c                sv   \        ^ ^.V^ ^.VR7      pWD8g  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       WD^ ,          8g  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       \        ^ ^.V^^ .VR7      pWF8g  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       V^ ,          V8g  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       Wd^ ,          8g  p\        VP                  RR.4       \        VP                  RR.4       \	        VP
                  R8H  4       R# r   ra  FTNrb  rj  r%  r   test_ne_for_numericZ-TestMaskedArrayArithmetic.test_ne_for_numeric  sn   
 1a&1a&TBTYY/TYY.4'(qT	TYY.TYY.4'(1a&1a&TBTYYt-TYYt-4'(!	TYYt-TYYu.4'(qT	TYYt-TYYu.4'(r   c                s   \        ^ ^.V^ ^.VR7      pV! WU4      p\        VP                  V! VP                  VP                  4      4       \        VP                  RR.4       \        VP                  R8H  4       V! WU^ ,          4      p\        VP                  V! VP                  VP                  ^ ,          4      4       \        VP                  RR.4       \        VP                  R8H  4       \        ^ ^.V^^ .VR7      pV! WW4      p\        VP                  V! VP                  VP                  4      4       \        VP                  RR.4       \        VP                  R8H  4       V! V^ ,          V4      p\        VP                  V! VP                  ^ ,          VP                  4      4       \        VP                  RR.4       \        VP                  R8H  4       V! Wu^ ,          4      p\        VP                  V! VP                  VP                  ^ ,          4      4       \        VP                  RR.4       \        VP                  R8H  4       R# rr  )r   ro   r   r   r   rl   r  )r   rl  rg  ri  r  r   r   r   s   &&&&&   r   test_comparisons_for_numericZ6TestMaskedArrayArithmetic.test_comparisons_for_numeric  s    1a&1a&TB!xTYY177AGG 45TYY.4'(!qT{TYY177AGGAJ 78TYY.4'(1a&1a&TB!xTYY177AGG 45TYYt-4'(!A${TYY1771:qww 78TYYu.4'(!qT{TYY177AGGAJ 78TYYu.4'(r   zN/Ac                s    \        . RO. ROVR7      p\        . RO. ROVR7      p\        V! W44      P                  V! VP                  VP                  4      4       R# )r   )r   r  N)r   r   cder  )ru  r   r   )r;   ro   r   )r   rl  r  r]  r_     &&&  r   test_comparisons_stringsZ2TestMaskedArrayArithmetic.test_comparisons_strings  sE     ,9N,9NR\''CIIsyy)ABr   c           
     s   \        4       ;_uu_ 4       pVP                  \        R 4       \        R^.^ ^.R7      p\	        VR8H  \        RR.^ ^.R7      4       \	        VP
                  R8H  RR.4       \	        VR8g  \        RR.^ ^.R7      4       \        R^.RR7      p\	        VR8H  RR.4       \	        VR8g  RR.4       \        R^.RR7      p\	        VR8H  \        RR.RR7      4       \	        VR8g  \        RR.RR7      4       \        p\	        VR8H  \        4       RRR4       R#   + '       g   i     R# ; i)zComparison to `None`Nr   TF)rw   r  rc  r   ro   r   r:   r  r   r   test_eq_with_NoneZ+TestMaskedArrayArithmetic.test_eq_with_None  s      CJJ}&<=tQiq!f-AdE4-q!f$EF4$7dE5$-q!f$EFtQie,AdT5M2dUDM2tQid+AdE5$-d$CDdE4-d$CDAdF+! !   s   DD--D>	c                sF   \        ^4      p\        V^8H  R4       \        V^ 8H  R4       \        V^8g  R4       \        V^ 8g  R4       \        ^RR7      p\        V^ 8H  \        4       \        V^8H  \        4       \        V^ 8g  \        4       \        V^8g  \        4       R# )r   TFr   N)r   ro   r:   r   r   r   test_eq_with_scalarZ-TestMaskedArrayArithmetic.test_eq_with_scalar  s    !HQ!VT"Q!VU#Q!VU#Q!VT"!$Q!VV$Q!VV$Q!VV$Q!VV$r   c                s   \        ^^.^ ^.R7      p\        ^ ^.^^..4      \        P                   ! ^ ^.^^..4      3 F?  pW8H  p\        VP                  RR.RR..4       \        VP                  RR.RR..4       KA  	  R# )r   r   FTN)r   r   ro   r   r   )r   r   r   r   rP  r   test_eq_different_dimensionsZ6TestMaskedArrayArithmetic.test_eq_different_dimensions  s    Aq6A'1a&1a&)*88aVaV,-/BHDeU^&*E]%4 5eT]&+T]%4 5/r   c                s   \        . RO. ROR7      p\        \        P                  \        P                  ^ \        P                  ! ^4      R.. ROR7      p\        V4      p\	        W24       \	        VP
                  VP
                  4       \	        VP
                  . RO4       \        P                  ! V4      p\	        W24       \	        VP
                  VP
                  4       \	        VP
                  . RO4       R# )r   r   Nr   r   r   r   r   r   r   r   r   r   r   r   )r;   r   r/  r5   ro   r   )r   r   r  r   rP  r   test_numpyarithmeticZ.TestMaskedArrayArithmetic.test_numpyarithmetic  s    )@266!9bA$35 1vT#TYY-QVV_-vvayT#TYY-QVV_-r   r   r  )FFFTT)FFFTF)FFFFTr   )Br  r  r  r  r   r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r	  r
  r  r  r"  r   markparametrizer&  r-  r/  r3  r4  r9  r<  r@  rB  rE  rF  rN  rV  rW  r[  r`  re  rf  num_dtsnum_idsrk  operatorrY  Zltrm  Zgtrq  rs  ZleZgert  rw  rx  ry  rz  r}  r  r  r  r	  r   r  r  d  s(    5"%!:F5$25&)
,'&58542'
627$$.#,(FT [[Wh/[[V)**& 
 [[VdBZ0C 1 0C [[[7G*<=# >#&7*".H".H(":(
	O(9),))V))V." MD [[TC:.[[VdC[1) 2 /)< [[TC:.[[VdC[1) 2 /)< [[UG9[[UG9[[VdAY/) 0 : :)< [[THKK#=>D ?D [[THKK#=>' ?' [[UG9[[UG9[[VdAY/) 0 : :)< [[UG9[[UG9[[VdAY/[[T[[(++x{{HKK@B)B 0 : :
)< [[T[[(++x{{HKK@B[[VdE]3C 4BC,2
%	5. .r   r  c                   sP   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestMaskedArrayAttributesi  c                sl   \        . RO. ROR7      p\        V4      p\        VP                  VP                  4       \        V. RORR7      p\        VP                  . RO4       \        V. RORR7      p\        VP                  . R	O4       \        V. ROR7      p\        VP                  . R	O4       R# )
r   r   F)r   Z	keep_maskTNr   r   r  r  r8  r   r   r  r   r   test_keepmaskZ'TestMaskedArrayAttributes.test_keepmask  s{    3!_RWWaff%!)u=RWWi(!)t<RWWi(!),RWWi(r   c                s   \        ^4      p. ROp\        V4      p\        WRR7      p\        WRRR7      p^
^(.V^^.&   ^
^(.V^^.&   \        VP                  . R	O4       \        VP                  . R
O4       \        VP
                  . RO4       \        VP                  4       \        VP                  '       * 4       . ROVR&   . ROVR&   \        VP                  . RO4       \        VP                  . RO4       \        VP
                  \        4       \        V^ &   \        V^ &   \        VP
                  . RO4       \        VP
                  . RO4       ^VR&   ^VR&   \        VP                  . RO4       \        VP                  . RO4       \        VP
                  . RO4       \        VP
                  \        4       VP                  4        \        ^4      VR&   \        VP                  . RO4       \        VP
                  \        4       VP                  4        \        WD^8  &   \        VP                  . RO4       \        VP                  . RO4       ^V\        V^8  R4      &   \        VP                  . RO4       \        VP                  . RO4       \        ^^.^^..^^ .^ ^ ..RR7      p^ V^ &   \        VP                  ^^ .^^..4       \        VP                  ^^ .^ ^ ..4       ^VR&   \        VP                  ^^ .^^..4       \        VP                  ^^ .^ ^ ..4       ^V\        V^8  R4      &   \        VP                  ^^.^^..4       \        VP                  ^^ .^ ^ ..4       R# )r   Tr   	hard_maskFr   r  r   :r   r   Nr;  Nr   r   r   r   r   )r   r   r   r   r   )r   r   r   r   (   r?  r   r     )r   r   r  r   r   )r   r   r  r  r  )r   r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   r  )r   r   r   r   r   r  )r   r7   r   ro   r   r   rl   r  rP   r:   soften_maskharden_maskr   r'   )r   r   rX  r$  xhZxsr  r   test_hardmaskZ'TestMaskedArrayAttributes.test_hardmask'  s   1IaL1-1D9"XAq6
"XAq6
RXX/0RXX01RWWo.BLL !33RXX01RXX23RWWf%11RWWo.RWWo.11RXX/RXX/RWWo.RWWf%
q	1RXX/RWWf%
6
RXX/RXX/$%6"q&% !RXX/RXX/QFQF#Aq6Aq6*:dK1RXXAA/0RXXAA/06
RXXAA/0RXXAA/0$%6"q&% !RXXAA/0RXXAA/0r   c                s    \        ^4      p. ROp\        V4      p\        WRR7      pRVR&   RVR&   \        VP                  . RO4       R# )	r   Tr  rq  :r   r   N:r   r   NNr  )rq  r   r   r   r   )r   r7   r   ro   r   r   r   rX  r$  r  r7  r   test_hardmask_againZ-TestMaskedArrayAttributes.test_hardmask_again^  sF    1IaL1-33RXX01r   c                s*   \        . RO. ROR7      pVP                  4       p\        W4       ^ V^ &   \        W4       \        V\        . RO. ROR7      4       VP                  4       p^ V^ &   \        W4       \        V\        . RO. ROR7      4       R# )r   r   Nr   r   r   r   r   r`  )r   r  ro   r  r   r   r   test_hardmask_oncemore_yayZ4TestMaskedArrayAttributes.test_hardmask_oncemore_yayh  sr     )),MMOQ!QQii89MMO!QQii89r   c                s    \        ^
4      p\        V^&   ^V^&   \        VP                  \        4       \        ^
4      pRVn        \        V^&   ^V^&   \        VP                  \        ^
4      4       R# )r   FN)r   r:   ro   r   rP   Z
_smallmaskrj   rl  r   r   test_smallmaskZ(TestMaskedArrayAttributes.test_smallmaskv  s_    2J!!QWWf%2J!!QWWeBi(r   c                sp   \        . RO. ROR7      pVP                  4       p\        W4       \        VP                  \        4       \
        P                  P                  R.R\        3R\        3.4      pVP                  4       pVP                  4        \        VP                  VP                  4       R# )r   r   r   r   Nr   r`  r  )
r   Zshrink_maskro   r   rP   r   r   r   r   r   r   r   r   test_shrink_maskZ*TestMaskedArrayAttributes.test_shrink_mask  sz    )),MMOQQVVV$ EEKK
c3Z#u$>?FFH	QVVQVV$r   c                sB   \        . RO. R	O.R\        3R\        3R
.R7      p\        VR,          R&   \        VR,          R&   \        VR,          R&   \        VR&   VP                  p\        V^ ,          VR,          4       \        V^,          VR,          4       \        V^,          VR,          4       \        VR,          V^ ,          4       \        V^,          VR,          4       \        V^,          VR,          4       \        V^,          VR,          4       \        VR,          V^,          4       \        VR,          VR,          4       ^ p^ pV FC  p\        WQWC3,          4       V^,          pW1P                  R,          8  g   K8  ^ pV^,          pKE  	  R# )r   r   r   r  r   Nr   Nr   NNN))r   r  one)r   r  two)r   ffffff
@thr))r   皙@Zfou)r         @Zfiv)r   gffffff@Zsixr  r  r  r  )r   r   r   r  r  ri  r  )r   r   r   r:   r  ro   r]   )r   r   Zxflatr  Zjr   r  r   	test_flatZ#TestMaskedArrayAttributes.test_flat  sQ    FFHsc5\<@B #t#t#t&	U1Xqw'U1Xqw'U1Xqw'U2Y!%U1Xqw'U1Xqw'U1Xqw'U2Y!%U2Y&	*BqtW%FAGGBKQ r   c                s@  a \         P                  ! ^RR7      o\         P                  P                  S4      p\         P                  ! R4      Vn        \        V4       \        VP                  \         P                  ! R4      4       V3R lp\        \        V4       SP                  R\         P                  P                  R7      p\        VP                  \         P                  ! R4      4       \         P                  ! ^RR7      o\         P                  P                  S4      p\         P                  ! R4      Vn        \        VP                  \         P                  ! R4      4       \        VP                  \         P                  P                  4       R# )r   zf4,i4r   f4c                  s|   < \         P                  P                  S4      p \         P                  ! R 4      V n        R# )f8N)r   r   r   r   )r$  r   s    r   assignZ;TestMaskedArrayAttributes.test_assign_dtype.<locals>.assign  s#    AAhhtnAGr   )r   rB  N)r   rj   r   r   r   rA  ro   ru   r   r}  r   r   rP   )r   r$  r  r   r      &   @r   test_assign_dtypeZ+TestMaskedArrayAttributes.test_assign_dtype  s    HHQg&EEKKN((4.QQWWbhhtn-	% 	j&)FFBEE$5$5F6QWWbhhtn- HHQd#EEKKN((7#QWWbhhw/0QWWbeell+r   r   N)r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r   r  r    s3     )51n2:
)%<, ,r   r  c                   s   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tRtV tR# )TestFillingValuesi  c                s   \         P                  P                  P                  pV! ^ \        4      p\        V^ 4       V! R\        4      p\        V\        ^ 4      4       V! ^ R4      p\        VR4       V! RR4      p\        V\        R4      4       \        \        VR\        4       \        \        VR\        4       R# )r   N|S3   0s   camelot!r   Zstuff)	r   r   r  _check_fill_valuer   ro   r    ru   r  )r   r  fvalr   r   test_check_on_scalarZ&TestFillingValues.test_check_on_scalar  s    EEJJ88 C(T1 s+T-a01 E*T4  u-T-k:;i!2E3?i!2GSAr   c           
     sx   \         P                  P                  P                  pR \        3R\
        3R	.pV! . R
OV4      p\        \        V\        4      4       \        VP                  4       . RO4       V! RV4      p\        \        V\        4      4       \        VP                  4       \        ^ 4      \        R4      \        \        R4      4      .4       \         P                  ! R
VR7      pV! WB4      p\        \        V\        4      4       \        VP                  4       . RO4       \         P                  ! R
R\        3R\
        3R.R7      pV! WB4      p\        \        V\        4      4       \        VP                  4       . RO4       \         P                  ! R\        R7      pRV^ &   V! V\        4      p\        \        V\        4      4       \        VP                  4       . RO4       R \        3.pV! RV4      p\        \        V\        4      4       \        VP                  4       R4       R# )r   r   Nr   r   r   r  r  r]   r   )r  r  )r  )gr  )r  r     ???)r&  r  r  6e)r  )r   r   r  r  r   r   rl   r  r   ro   itemr    r   r   r4  )r   r  r  r  Zfill_valr7  r   test_check_on_fieldsZ&TestFillingValues.test_check_on_fields  s   EEJJ88*sElL9 !;VD
4)*TYY["=> v.
4)*TYY[#5a#8#5b#9#*+=c+B#C#E 	F 886fE 2
4)*TYY["=>
 886$':U|\"JL 2
4)*TYY["=> ::D71 62
4)*TYY["=> * V4
4)*TYY[-0r   c                s   \        . RO4      pVP                  P                  RR/4       \        V\        R7      p\	        VP
                  . RO4       \	        VP                  \        ^ 4      4       \        V\        R7      p\	        VP
                  . RO4       \	        VP                  \        R4      4       VP                  \        4      p\	        VP
                  . RO4       \	        VP                  \        ^ 4      4       \	        VP                  R,          R4       VP                  R	.4      p\	        VR,          P
                  VP
                  4       \	        VR,          P                  VP                  4       R# )
   3Zcommentzupdated!r   r   r   N)r  s   4s   5)r   r   r   )r   r  )
r   r  Zupdater   ro   r   r  r    r   r   r   r   r   test_fillvalue_conversionZ+TestFillingValues.test_fillvalue_conversion		  s    $%	

9j12!3QWWi(Q\\#5a#89!5!QWWi(Q\\#5b#9:HHSMQWWi(Q\\#5a#89QZZ	*J7HHl^$QsV\\177+QsV&&5r   c                s    \        R 4      p\        \        P                  ! R 4      4      p\        \        P                  ! R 4      P                  4      p\	        W4       \	        W4       R# )r{   N)r    r   r   r   ro   )r   r  f2Zf3rP  r   test_default_fill_valueZ)TestFillingValues.test_default_fill_value!	  sF    #- 2 23RRr   c                s,   \        R.R\        3RR\        3.R7      p\        V4      p\        VP                  4      p\
        P                   ! \        ^ 4      \        R4      \        R4      3VP                  R7      p\        W$4       \        W44       R# )	r   r  r  r   r   r   Nr  r  )r   r   r   r    r   r   ro   )r   fieldsr  r  expectedr7  r   "test_default_fill_value_structuredZ4TestFillingValues.test_default_fill_value_structured)	  s    	{!3ZU|DF  '-88/2/4/35<BLLJ 	R"R"r   c           	     s    \         P                  ! R.4      p\        V4      p\        VR ,          \         P                  ! \        VR ,          4      VR ,          4      4       R# )vN)r  ZV7)r   r   r    ro   r   )r   r6  r  r   r   test_default_fill_value_voidZ.TestFillingValues.test_default_fill_value_void5	  sC    XX{m$r"QsVRXX&8C&A2c7KLr   c                sj   \        . RORR7      pV. RO,          p\        VP                  VP                  4       R\        3R.p\	        RR\
        R3.VR7      pRVn        \        VP                  P                  4       RR.4       \        VR,          P                  R4       \        VR,          P                  R4       RVn        \        VP                  P                  4       R4       \        VR,          P                  ^	4       \        VR,          P                  R	4       \	        . RO4      pRVn        \        \        P                  ! VP                  4      P                  \        4       \        VP                  R4       \        VP                  \        P                  ! R4      4       R
# )r   rq  r  r  r   r   r        8@s   999r  Nr   r  )r   r   r   r   r  )r   r   )r   r   )r  r  )r  r  )r   r   r?  )r;   ro   _fill_valuer   r   r   r  r  r   r   r   )r   r   Zseriesmtyper   r7  r   test_fillvalueZ TestFillingValues.test_fillvalue:	  s4   I$7iV'')9)9:u|,8XDz2%@Q\\&&(4.9QsV&&,QsV&&/!Q\\&&(+6QsV&&*QsV&&/+RZZ-33U;Q\\4(Q]]BHHTN3r   c                s<   \        R.R\        3RR\        3.R7      p\        4       ;_uu_ 4       pVP	                  \
        R4       VRR.,          p\        \        VP                  4      R	4       VR,          VRR
 8H   RRR4       R#   + '       g   i     R# ; i)r   r  r  r   zNumpy has detectedr<  Nr  r  )rh  r   r   )	r   r   r   rw   r  rc  ro   r  r  )r   r  r  Z	subfieldsrP  r   test_subarray_fillvalueZ)TestFillingValues.test_subarray_fillvalueR	  s    	{!3ZU|DF  CJJ}&:;Sz*Iy3346FGbMYs^+ !   s   AB

B	c                s   \         P                  P                  P                  pR \        3R
R\
        3.p\         P                  ! \        ^ 4      \        R4      \        R4      3VR7      p\        V! RV4      V4       R\
        R3.p\         P                  ! \        R4      3R\
        3.R7      P                  V4      p\        V! RV4      V4       \         P                  ! RR\
        3.R7      P                  V4      p\        V! ^ V4      V4       \         P                  ! R4      p\         P                  ! \        ^ 4      \        R4      \        R4      3RR7      P                  V4      pV! RV4      p\        WC4       \         P                  ! RRR7      P                  V4      p\        V! ^ V4      V4       \        V4      p\        VR	,          P                  P                  ^ 4       R# )r  r  r   r   r   Nr  r  zint, float, floatr  r  rI  r@  r`  )r   r   r  r  r   r   r   r    ro   r   r   r;   r  r   )r   r  r  r  r   Mr  r   test_fillvalue_exotic_dtypeZ-TestFillingValues.test_fillvalue_exotic_dtype]	  s   EEJJ88*lS%L9((.q1.s3.r25 "() 	&tV4g>'(((.r24#'-228&. 	&tV4g>((4u7>>vF&q&17;23((.q1.r2.r25 "56 7=fVn 	 !v.T#((9,?@GGO&q&17; !QtW'',,a0r   c                s   R F  p\         P                  ! RV4      p\        \         P                  ! RV,           R,           4      4      p\        P
                  P                  W24       \         P                  ! RV4      p\        \         P                  ! RV,           R,           4      4      p\        P
                  P                  W24       K  	  R# )asr,  z<M8[Z]z<m8[N)r  ZfsZpsnsZusZmsr   r$  ZhZDZWr  ZY)r  Z
datetime64r    r   r   testingro   timedelta64)r   Ztimecoder  r   rP  r   !test_fillvalue_datetime_timedeltaZ3TestFillingValues.test_fillvalue_datetime_timedelta|	  s    
2H&&uh7G%ekk&82Cc2I&JKDJJ##D2''x8G%ekk&82Cc2I&JKDJJ##D22r   c                s   \        RR.R\        3RR\        3R\        3.3.R7      pVP                  p\        VP                  VP                  4       \        VR,          \        VR,          4      4       \        VR,          R,          \        VR,          R,          4      4       \        VR,          R,          \        VR,          R,          4      4       \        V4      p\        VP                  VP                  4       \        V^ ,          \        VR,          4      4       \        V^,          ^ ,          \        VR,          R,          4      4       \        V^,          ^,          \        VR,          R,          4      4       \        V^,          \        VR,          4      4       \        V4      p\        VP                  VP                  4       \        V^ ,          \        VR,          4      4       \        V^,          ^ ,          \        VR,          R,          4      4       \        V^,          ^,          \        VR,          R,          4      4       \        V^,          \        VR,          4      4       R# )	r   r  r  r  r  r   N)r   r  )r   r   r   )r   r   r  ro   r   r    rL   rI   r   r   r   r   r   test_extremum_fill_valueZ*TestFillingValues.test_extremum_fill_value	  s   ;,scT3K$+E%FGI||TZZ)T#Y 21S6 :;T#Yt_&83&FGT#Yt_&83&FG!!$TZZ)T!W0389T!WQZ!3AcF4L!ABT!WQZ!3AcF4L!ABT!W0389!!$TZZ)T!W0389T!WQZ!3AcF4L!ABT!WQZ!3AcF4L!ABT!W0389r   c           
     s   \        . RO3R\        P                  ^3.R7      p\        V4      p\	        VP
                  VP
                  4       \	        V^ ,          \        P                  ! ^\        VR,          4      4      4       \        V4      p\	        VP
                  VP
                  4       \	        V^ ,          \        P                  ! ^\        VR,          4      4      4       R# )r   rO  r   Nr   r   r   )r   r   rk  rL   ro   r   fullrI   r  r   r   !test_extremum_fill_value_subdtypeZ3TestFillingValues.test_extremum_fill_value_subdtype	  s    9,!'<&=>!!$TZZ)T!Wbgga);AgJ)GHI!!$TZZ)T!Wbgga);AgJ)GHIr   c           	     s   R \         3R\         3.p\        \        \        . RO. RO4      4      RVR7      pVR ,          pVP	                  ^
4       \        VP                  \        P                  ! ^
4      4       \        \        VP                  4      R4       R	VP                  R&   \        \        VP                  4      R
4       \        \        \        . RO. RO4      4      VR7      pVR ,          pVP	                  ^
4       \        VP                  \        P                  ! ^
4      4       \        \        VP                  4      ^
\        ^ 4      34       R# )r   r   r  r   r   Nr   r\  r  )r   r  r#  )r   r#  )r   r   r   r   r   ro   r  r   r  r  r    )r   r  r   Zaar  Zttr  r    test_fillvalue_individual_fieldsZ2TestFillingValues.test_fillvalue_individual_fields	  s    *sCj)$s9i01)9sV
"R^^RXXb\2U1<<(*5SU1<<()4$s9i01@sV
"R^^RXXb\2U1<<(2/A!/D*EFr   c                s   R \         3pR\         3p\        RR.RR.\        P                  3\        P                  ! V.4      R7      p\        VP                  W!.R7      pVR,          VR&   VR,          P                  VR,          P                  4       VP                  R	,          p\        \        P                  ! V^ ,          4      4       \        VR
,          \        R4      4       R# )r   r   r{   )r   r  r   r   Nr{   r|   )Fr   r   )r   r   r   r/  r   r#   r]   r   r  r  rl   r  ro   r    )r   r  Zadtyper   r   r  r  r   (test_fillvalue_implicit_structured_arrayZ:TestFillingValues.test_fillvalue_implicit_structured_array	  s    uu5%.('; ffYbhhx.@B!''&!123#	#af//0MM"1QrU.r23r   c                s<   \        ^RR7      p\        VP                  R4       \        ^R\        R7      p\        VP                  R4       \        ^R\        R7      p\        VP                  R4       \        ^R\        R7      p\        VP                  R4       R# )r   r  r  r  r   N)r#   ro   r  rR   r   rj   complexr0   rl  r   r   test_fillvalue_as_argumentsZ-TestFillingValues.test_fillvalue_as_arguments	  sp    !%Q\\4(t51Q\\4(!'2Q\\2&Q2W5Q\\2&r   c                s    \        RR7      p\        VP                  R4       \        R\        R7      p\        VP                  R4       \        R\        R7      p\        VP                  R4       R# )r   r]   r  Nr   )r#   ro   r]   rR   r   rj   r  rl  r   r   test_shape_argumentZ%TestFillingValues.test_shape_argument	  sP     QWWe$uE*QWWe$W-QWWe$r   c                s   \        . RO^\        P                  R7      pVP                  4       p\	        VP
                  ^8H  4       VP                  \        4      p\	        VP
                  ^8H  4       VP                  \        R7      p\	        VP
                  ^8H  4       VP                  \        P                  4      pVP                  \        P                  R7      pVP                  \        ^R7      p\	        VP
                  ^8H  4       VP                  \        ^R7      p\	        VP
                  ^8H  4       VP                  \        P                  R7      p\	        VP
                  R8H  4       R# )	r   r  )rB  r  )rB  r  r   rh  Nr   )	r   r   int64r}  rl   r  r   r   int32r  r   r   test_fillvalue_in_viewZ(TestFillingValues.test_fillvalue_in_view	  s    ): FFH!" FF;!"
 FFF$!" FF2::FF

F# FF;1F-!" FFF2!" FFF"&'r   c                s    \        RRR7      p\        VR,          P                  \        R4      4       \        VR,          P                  \        R4      4       R# )	r   z(2,)3S,(2,)3Ur  r  s   spamr  ZeggsNr   )r#   ro   r  r    rl  r   r   test_fillvalue_bytes_or_strZ-TestFillingValues.test_fillvalue_bytes_or_str
  sD     _5QtW'');G)DEQtW'');F)CDr   r   N)r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r   r  r    sl     B -1^60
#M
40	,1>3:0	JG&4'
%((TE Er   r  c                   sV   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )
TestUfuncsi
  c                sD   \        R ^ R\        ^,          .^,          ^ ^.^ .^,          ,           R7      \        R ^ R\        ^,          .^,          ^^ .^ .^,          ,           R7      3V n        \        P                  ! 4       V n        \        P                  ! RRR7       R# )r{   r   r*  r  Nr   )r   r   r   r   r  r  r  r   r   r   r   ZTestUfuncs.setup_method
  s}    aR!V,q01va7GHaR!V,q01va7GHK))+
		84r   c                r  r  r  r   r   r   r  ZTestUfuncs.teardown_method$
  r  r   c                sP   . R NRNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)N F  p \        \        V4      p\        \        P
                  P                  V4      pV P                  R*VP                   pV! V!  pV! V!  p\        VP                  ^ 4      VP                  ^ 4      V4       \        VP                  VP                  VR+7       K  	  R*#   \         d    \        \        T4      p Li ; i),rb   r5   r6   r&   r   r^   r   rf   r   r   r   r_   r   rg   Zarcsinhr   Zarctanhr	   ZfabsZnegativeZfloorZceilZlogical_notr
   rc   rN   r"   r:  Zfloor_divideZ	remainderZfmodZhypotr   r%   rQ   r4   r/   r3   r.   Zlogical_andZ
logical_orZlogical_xorN)Zerr_msg)r  umathAttributeErrorfromnumericr  r   r  r   Zninro   r'   rq   r   )r   r  ZufZmfZargsZurZmrr   r   test_testUfuncRegressionZ#TestUfuncs.test_testUfuncRegression'
  s1   & %  %   %$&.  ! #) 	
    % '1  "    $ &0  * ,:   & (/ 1:  ' )5 7F  $   ". 0=A"-UA& *B66'266?DTBTB1ryy|Q7bggrww:5& " -[!,-s   DD%$D%c                s@   V P                   ^ ,          p\        \        V^ R7      '       * 4       \        \        V^ R7      4       \	        \        VR,          ^ R7      ^ 4       \	        \        V^ R7      ^ 4       \	        \        P                  ! V4      \        4       R# )r   rS  r  N)
r   rl   r   r`   ro   rd   rV   r
   r    r   rl  r   r   test_reduceZTestUfuncs.test_reduceE
  sh    FF1IGAA&&'#$S2Q'+WQQ'+SZZ]B'r   c                s   \        ^^4      P                  ^^4      p\        V^8  V4      p\        VP	                  4       VP	                  4       4       \        VP                  4       ^4       \        VP	                  ^ 4      VP	                  ^ 4      4       \        VP                  ^ 4      . RO4       \        VP	                  ^4      ^ ,          P                  4       \        VP                  ^4      ^ ,          P                  4       R# )r   N)r   r   ro  rV  )r   r[   rF   ro   rG   rJ   rl   r   )r   r   amaskr   r   test_minmaxZTestUfuncs.test_minmaxN
  s    1bM!!!Q'QUA&UYY[!%%'*UYY[!$UYYq\1558,UYYq\<0		!Q$$%		!Q$$%r   c                sJ   \        . RO. ROR7      p\        P                  ! V4      p\        R^ ^\        P                  ! ^4      R.. ROR7      p\        W#4       \        VP                  VP                  4       \        \        VP                  \        4      '       * 4       R# )r   r   Nr   r{  r   r   r   r   r   r   )r;   r   rb   ro   r   rl   r  r   )r   r   r   r  rP  r   test_ndarray_maskZTestUfuncs.test_ndarray_maskY
  sn    )@wwqzAq"''!*b9$35T#TYY-Jtyy+667r   c                s  a \        R R.^^ .R7      o\        \        \        P                  SR4       \        \        \        P
                  SR4        ! V3R lR4      pV! 4       p\        VS,          R8H  4       \        SV,          R8H  4        ! R R	4      pV! 4       p\        SP                  V4      \        J 4       \        \        \        P                  ! SV4      R
8H  4      4       \        SP                  V4      \        J 4       \        VS,          R8H  4       \        SV,          R
8H  4       \        SV,          R8H  4       R# )r{   r|   r   rC  c                   sV   <a  ] tR tRt o  ZP                  ^,           tR tR tRtV tR# )<TestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClassij
  c                    R # )My mulr   r   otherr   r   __mul__ZDTestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass.__mul__m
      r   c                r  )My rmulr   r  r   r   __rmul__ZETestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass.__rmul__p
       r   r   N)	r  r  r  r  __array_priority__r  r  r  r  )r  r   s   @r   MyClassr  j
  s%     !"!5!5!9 ! !r   r  r  r  c                   s6   a  ] tR tRt o ^dtR tR tR tRtV t	R# )=TestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2ix
  c                r  )Me2mulr   r  r   r   r  ZETestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2.__mul__{
  r  r   c                r  )Me2rmulr   r  r   r   r  ZFTestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2.__rmul__~
  r  r   c                r  )Me2rdivr   r  r   r   __rtruediv__ZJTestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2.__rtruediv__
  r  r   r   N)
r  r  r  r  r  r  r  r  r  r  r  r	  r   MyClass2r  x
  s     !$ !! !r   r  r  r  r  N)r;   ru   r  r  ZmulZtruedivrl   r  ZNotImplementedr   rN   rT   Z__truediv__)r   r  Zmer  Zme_toor   s   &    @r    test_treatment_of_NotImplementedZ+TestUfuncs.test_treatment_of_NotImplementedc
  s    "bA/iq%8i!1!11e<	! 	! YQ("#B)#$
	! 
	! 		&!^34HNN1f-:;<f%78
h&'F
i'(F
i'(r   c                s   \         P                  P                  R \         P                  .^ ^.R7      p\        P
                  ! 4       ;_uu_ 4        \        P                  ! R4       \        V4       \        V^4       V^ 8   \        V4       \        V4       \        V4       \        V4       \        V4       \        V4       \        V^4       \!        VR 4       RRR4       R#   + '       g   i     R# ; i)r   r   errorN)r   r   r   r/  warningscatch_warningsfilterwarningsr&   r
   rb   r5   rf   r   r   r   r"   r   r;  r   r   test_no_masked_nan_warningsZ&TestUfuncs.test_no_masked_nan_warnings
  s     EEKKbffQFK3$$&&##G, F1IE GFF1I1IAJ 1aL Q) '&&&s   BC((C9	c                sJ   \         P                  ! ^ ^R4      p\         P                  P                  V4      p\         P                  ! RR7      ;_uu_ 4        VR,          p\         P
                  P                  W1^,          4       RRR4       R#   + '       g   i     R# ; i)r   皙?Zraise)Zunderr|   N)r   r   r   r   r.  r  rn   )r   r   XZX2rP  r   test_masked_array_underflowZ&TestUfuncs.test_masked_array_underflow
  sb    IIaC EEKKN[[w''SBJJ))"!e4 ('''s   0BB"	r~  N)r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r	  r   r  r  
  s8     5%;<(	&8')R85 5r   r  c                   s   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"V t#R!# )" TestMaskedArrayInPlaceArithmetici
  c                s   \        ^
4      p\        ^
4      p\        ^
4      p\        V^&   WV3V n        VP                  \        4      VP                  \        4      VP                  \        4      3V n        \        P                  R,          \        P                  R,          ,           V n        V P                   Uu. uF#  p\        P                  ! V4      P                  NK%  	  upV n        VP                  \        P                  4      VP                  \        P                  4      VP                  \        P                  4      3V n        R# u upi )r   Z
AllIntegerZAllFloatN)r   r:   intdatar   r   	floatdatar   	typecodes
othertypesr   rB  uint8	uint8data)r   r   r   r   r  r7  r   r   Z-TestMaskedArrayInPlaceArithmetic.setup_method
  s    2J2JBZ1bz((5/188E?BIIe<LM,,|4r||J7OO59__E_288A;++_EHHRXXHHRXXIIbhh
 Fs   =)Ec                s   V P                   w  rp\        V^&   V^,          p\        W^,           4       V^,          p\        W2^,           4       V P                  w  rpVP                  P
                  P                  pVR,          p\        WQP                  P
                  P                  8H  4       \        WR,           4       R# )r   r{   N)r  r:   ro   r  r   rW  rl   )r   r   r   r   r  Zid1r  r   test_inplace_addition_scalarZ=TestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalar
  s    \\
r1	QQA
aRQ^^
rffmm  	Rvv}})))*QBr   c                s>   V P                   w  rpVP                  p\        ^
\        P                  R7      p\
        VR&   W,          pW5,          p\        WV,           4       \        W2V,           4       \        VP                  \        WEP                  4      4       R# r   r   Nr   )r  r   r   r   int16r:   ro   r9   r   r   r   r   r$  r   r  r   test_inplace_addition_arrayZ<TestMaskedArrayInPlaceArithmetic.test_inplace_addition_array
  sn    \\
rGG2RXX&"	
QARQRWWga01r   c                s    V P                   w  rpV^,          p\        W^,
          4       V^,          p\        W2^,
          4       R# r  )r  ro   r   r   r   r   rP  r   test_inplace_subtraction_scalarZ@TestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalar
  s9    \\
r	QQA
aRQr   c                s*   V P                   w  rpVP                  p\        ^
\        R7      p\        VR&   W,          pW5,          p\        WV,
          4       \        W2V,
          4       \        VP                  \        WEP                  4      4       R# r
  r  r   r   r   r:   ro   r9   r  r  r   test_inplace_subtraction_arrayZ?TestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_array
  j    ^^
rGG2U#"	
QARQRWWga01r   c                s    V P                   w  rpVR ,          p\        W^,          4       VR ,          p\        W2^,          4       R# )r|   N)r  ro   r  rP  r   "test_inplace_multiplication_scalarZCTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalar
  s9    ^^
r	SQA
c	RQr   c                s*   V P                   w  rpVP                  p\        ^
\        R7      p\        VR&   W,          pW5,          p\        WV,          4       \        W2V,          4       \        VP                  \        WEP                  4      4       R# r
  r  r  r  r   !test_inplace_multiplication_arrayZBTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_array
  r  r   c                s    V P                   w  rp\        ^
4      ^,          p\        ^
4      ^,          p\        V^&   V^,          p\        W4       V^,          p\        W24       R# r   N)r  r   r:   ro   r  rP  r    test_inplace_division_scalar_intZATestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_int  sT    \\
r2JNBZ!^1	aQ
qRr   c                s    V P                   w  rpVR ,          p\        WR ,          4       V\        ^
4      ,          p\        V\        R4      4       R# )r|   N)r   )r  ro   r   rR   r  rP  r   "test_inplace_division_scalar_floatZCTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_float  s@    ^^
r	SQC 
fRjRe%r   c           	     sD   V P                   w  rpVP                  p\        ^
\        R7      p\        VR&   W,          pW5,          p\        WV,          4       \        W2V,          4       \        VP                  \        \        WEP                  4      V^ 8H  4      4       R# r
  r  r  r  r   !test_inplace_division_array_floatZBTestMaskedArrayInPlaceArithmetic.test_inplace_division_array_float  su    ^^
rGG2U#"	
QARQRWWgga&816CDr   c                s   R R R R\         R,          RRR	RR RR.p. ROp. ROp. ROp\        WR7      p\        W$R7      pWV,          p\        VP                  . RO4       \        VP                  R R R R
\         ) R,          RRR R R RR.4       VP                  4       pWV,          p\        VP                  . RO4       \        VP                  R R R R
\         ) R,          RRR R R RR.4       R# )r{   r|   r}   r~   r   r   r   Nr   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r;   ro   r   r   r   )r   r   r   r   r   r   r   r   r  r   test_inplace_division_miscZ;TestMaskedArrayInPlaceArithmetic.test_inplace_division_misc#  s    Rb2gr2tS"b"EA11!%!%GQWWBCQWW"b#sRxRRRL	N WWY
RXXCDQWW"b#sRxRRRL	Nr   c                sp   \        . RO. ROR7      pV^,           p\        VP                  . RO4       \        VP                  . RO4       V^,          p\        VP                  . RO4       \        VP                  . RO4       \        . RO. ROR7      pV\        . RO. ROR7      ,           p\        VP                  . RO4       \        VP                  . RO4       \        . RO. ROR7      pV\        . RO. ROR7      ,          p\        VP                  . RO4       \        VP                  . RO4       R# )	r   r   Nr   r-  )r   r   r   r   r   r   r   r   r1  r   r   r   test_datafriendly_addZ6TestMaskedArrayInPlaceArithmetic.test_datafriendly_add7  s    )),URWWi(RWWi(	QQVVY'QVVY')),yy11RWWi(RWWi()),	U99--QVVY'QVVY'r   c                s   \        . RO. ROR7      pV^,
          p\        VP                  . RO4       \        VP                  . RO4       \        . RO. ROR7      pV^,          p\        VP                  . RO4       \        VP                  . RO4       \        . RO. ROR7      pV\        . RO. ROR7      ,
          p\        VP                  . RO4       \        VP                  . RO4       \        . RO. ROR7      pV\        . RO. ROR7      ,          p\        VP                  . RO4       \        VP                  . RO4       R# )	r   r   Nr   r-  )r   r   r   r   r  r   r1  r   r   r   test_datafriendly_subZ6TestMaskedArrayInPlaceArithmetic.test_datafriendly_subM  s     )),URWWi(RWWi()),	QQVVY'QVVY')),yy11RWWi(RWWi()),	U99--QVVY'QVVY'r   c                s   \        . RO. ROR7      pV^,          p\        VP                  . RO4       \        VP                  . RO4       \        . RO. ROR7      pV^,          p\        VP                  . RO4       \        VP                  . RO4       \        . RO. ROR7      pV\        . RO. ROR7      ,          p\        VP                  . RO4       \        VP                  . R	O4       \        . RO. ROR7      pV\        . RO. ROR7      ,          p\        VP                  . RO4       \        VP                  . R	O4       R# )
r   r   Nr   r-  r   r   r   r  r   )r   r  r   r   r1  r   r   r   test_datafriendly_mulZ6TestMaskedArrayInPlaceArithmetic.test_datafriendly_muld  s     )),URWWi(RWWi()),	QQVVY'QVVY')),|)44RWWj)RWWi()),	U<i00QVVZ(QVVY'r   c                s   \        . RO. ROR7      pVR,          p\        VP                  . RO4       \        VP                  . RO4       \        . RO. ROR7      pVR,          p\        VP                  . RO4       \        VP                  . RO4       \        . RO. ROR7      pV\        . RO. R	OR7      ,          p\        VP                  . R
O4       \        VP                  . RO4       \        . RO. ROR7      pV\        . RO. R	OR7      ,          p\        VP                  . R
O4       \        VP                  . RO4       R# )r   r   r|   Nr   r-  )r   r{   r   r7  )r   r  g      >@r   )r{   r  r   r   r1  r   r   r   test_datafriendly_divZ6TestMaskedArrayInPlaceArithmetic.test_datafriendly_div{  s     )),VRWW12RWWi(,Y/	RQVV01QVVY',Y/Y77RWW01RWWi(,Y/	U?33QVV./QVVY'r   c                s   \        . RO. ROR7      pVR,          p\        VP                  . RO4       \        VP                  . RO4       VR,          p\        VP                  . RO4       \        VP                  . RO4       R# )r{   r   r  Nr7  r-  )r{   ;f@r   )r{   r   r   r1  r   r   r   test_datafriendly_powZ6TestMaskedArrayInPlaceArithmetic.test_datafriendly_pow  s\     ,Y/#XRWW12RWWi(	c	QVV/0QVVY'r   c                s   \        ^^.^^..4      p\        ^^.^ ^ .R7      pW,          p\        V^^.^^..4       VP                  \        Jd   \        VP                  ^ ^ .^ ^ ..4       \        ^^.^^..4      p\        ^^.^ ^.R7      pW,          p\        V^^.^^..4       \        VP                  ^ ^.^ ^..4       R# r   r   Nr   ro   r   rP   r   r   r   test_datafriendly_add_arraysZ=TestMaskedArrayInPlaceArithmetic.test_datafriendly_add_arrays      Aq6Aq6"#1a&1v&	Q!Q!Q()661a&1a&!12Aq6Aq6"#1a&1v&	Q!Q!Q()QVVq!fq!f-.r   c                s   \        ^^.^^..4      p\        ^^.^ ^ .R7      pW,          p\        V^ ^ .^^..4       VP                  \        Jd   \        VP                  ^ ^ .^ ^ ..4       \        ^^.^^..4      p\        ^^.^ ^.R7      pW,          p\        V^ ^ .^^..4       \        VP                  ^ ^.^ ^..4       R# r"  r#  r   r   r   test_datafriendly_sub_arraysZ=TestMaskedArrayInPlaceArithmetic.test_datafriendly_sub_arrays  r%  r   c                s   \        ^^.^^..4      p\        ^^.^ ^ .R7      pW,          p\        V^^.^^..4       VP                  \        Jd   \        VP                  ^ ^ .^ ^ ..4       \        ^^.^^..4      p\        ^^.^ ^.R7      pW,          p\        V^^.^^..4       \        VP                  ^ ^.^ ^..4       R# r"  r#  r   r   r   test_datafriendly_mul_arraysZ=TestMaskedArrayInPlaceArithmetic.test_datafriendly_mul_arrays  r%  r   c           
     s  a V P                    F  o\        P                  ! 4       ;_uu_ 4        \        P                  ! R 4       V3R lV P                   4       w  rp\
        V^&   VS! ^4      ,          p\        WS! ^4      ,           4       VS! ^4      ,          p\        W2S! ^4      ,           4       RRR4       K  	  R#   + '       g   i     K  ; i)r  c              3   D   <"   T F  qP                  S4      x  K  	  R # 5ir   r   Z.0r  r     & r   	<genexpr>ZUTestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalar_type.<locals>.<genexpr>       B>ahhqkk>    N)r  r  r  r  r  r:   ro   r   r   r   r   r  r  r   !test_inplace_addition_scalar_typeZBTestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalar_type  s    A((**''0B4>>B
r1QqT	QAaD)ad
RQqT* +* !***s   BCCc           
     s  a V P                    F  o\        P                  ! 4       ;_uu_ 4        \        P                  ! R 4       V3R lV P                   4       w  rpVP
                  p\        ^
SR7      p\        VR&   W,          pW5,          p\        WV,           4       \        W2V,           4       \        VP
                  \        WEP
                  4      4       RRR4       K  	  R#   + '       g   i     K  ; i)r  c              3   r(  r   r)  r*  r+  r   r,  ZTTestMaskedArrayInPlaceArithmetic.test_inplace_addition_array_type.<locals>.<genexpr>  r-  r.  r   Nr   
r  r  r  r  r  r   r   r:   ro   r9   r   r   r   r   r$  r   r     &     @r    test_inplace_addition_array_typeZATestMaskedArrayInPlaceArithmetic.test_inplace_addition_array_type      A((**''0B4>>B
rGG2Q'"QA&RQ'RWWga&89 +* !***   B/C++C<c           
     s  a V P                    F  o\        P                  ! 4       ;_uu_ 4        \        P                  ! R 4       V3R lV P                   4       w  rpVS! ^4      ,          p\        WS! ^4      ,
          4       VS! ^4      ,          p\        W2S! ^4      ,
          4       RRR4       K  	  R#   + '       g   i     K  ; i)r  c              3   r(  r   r)  r*  r+  r   r,  ZXTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalar_type.<locals>.<genexpr>  r-  r.  Nr  r  r  r  r  ro   r/  r  r   $test_inplace_subtraction_scalar_typeZETestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalar_type      A((**''0B4>>B
rQqT	QAaD)ad
RQqT* +* !***   A>B::Cc           
     s  a V P                    F  o\        P                  ! 4       ;_uu_ 4        \        P                  ! R 4       V3R lV P                   4       w  rpVP
                  p\        ^
SR7      p\        VR&   W,          pW5,          p\        WV,
          4       \        W2V,
          4       \        VP
                  \        WEP
                  4      4       RRR4       K  	  R#   + '       g   i     K  ; i)r  c              3   r(  r   r)  r*  r+  r   r,  ZWTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_array_type.<locals>.<genexpr>  r-  r.  r   Nr   r1  r2  r3  r   #test_inplace_subtraction_array_typeZDTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_array_type  r5  r6  c           
     s  a V P                    F  o\        P                  ! 4       ;_uu_ 4        \        P                  ! R 4       V3R lV P                   4       w  rpVS! ^4      ,          p\        WS! ^4      ,          4       VS! ^4      ,          p\        W2S! ^4      ,          4       RRR4       K  	  R#   + '       g   i     K  ; i)r  c              3   r(  r   r)  r*  r+  r   r,  Z[TestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalar_type.<locals>.<genexpr>  r-  r.  Nr7  r/  r  r   'test_inplace_multiplication_scalar_typeZHTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalar_type  r9  r:  c           
     s  a V P                    F  o\        P                  ! 4       ;_uu_ 4        \        P                  ! R 4       V3R lV P                   4       w  rpVP
                  p\        ^
SR7      p\        VR&   W,          pW5,          p\        WV,          4       \        W2V,          4       \        VP
                  \        WEP
                  4      4       RRR4       K  	  R#   + '       g   i     K  ; i)r  c              3   r(  r   r)  r*  r+  r   r,  ZZTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_array_type.<locals>.<genexpr>  r-  r.  r   Nr   r1  r2  r3  r   &test_inplace_multiplication_array_typeZGTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_array_type  r5  r6  c                s  a \         P                  R ,           Uu0 uF#  p\         P                  ! V4      P                  kK%  	  ppV P                   F  o\
        P                  ! 4       ;_uu_ 4        \
        P                  ! R4       V3R lV P                   4       w  r4p\        ^
SR7      S! ^4      ,          p\        ^
SR7      S! ^4      ,          p\        V^&    VS! ^4      ,          pVS! ^4      ,          p\        W44       \        WT4       RRR4       K  	  R# u upi   \         d    RS R2pST9   g   Q T4       h L4i ; i  + '       g   i     EK  ; i)Complexr  c              3   r(  r   r)  r*  r+  r   r,  Z[TestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_scalar_type.<locals>.<genexpr>  r-  r.  r   Supported type  throwing TypeErrorN)r   r  r   rB  r  r  r  r  r  r   r:   ro   r  )r   r  unsupportedr   r   r   msgs   &`     r   'test_inplace_floor_division_scalar_typeZHTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_scalar_type  s    24i1HI1HArxx{''1HIA((**''0B4>>B
r2Q'!A$.Ba(1Q4/11!A$JA1Q4KB & ' +* ! J ! 1+A3.ABC+0S0+1 +**s0   )D"2A-E 4D''E		EE			EEc                s  a \         P                  R ,           Uu0 uF#  p\         P                  ! V4      P                  kK%  	  ppV P                   F  o\
        P                  ! 4       ;_uu_ 4        \
        P                  ! R4       V3R lV P                   4       w  r4pVP                  p\        ^
SR7      p\        VR&    W7,          pWW,          p\        W4V,          4       \        WTV,          4       \        VP                  \        \        WgP                  4      VS! ^ 4      8H  4      4       RRR4       K  	  R# u upi   \         d    RS R2pST9   g   Q T4       h L4i ; i  + '       g   i     EK-  ; i)r>  r  c              3   r(  r   r)  r*  r+  r   r,  ZZTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_array_type.<locals>.<genexpr>2  r-  r.  r   r?  r@  Nr   )r   r  r   rB  r  r  r  r  r  r   r   r:   ro   r9   r  )	r   r  rA  r   r   r   r$  r   rB  s	   &`       r   &test_inplace_floor_division_array_typeZGTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_array_type+  s/    24i1HI1HArxx{''1HIA((**''0B4>>B
rGG2Q'"1GAHB F+ !V, 66 2Q!A$Y@ +* ! J" ! 1+A3.ABC+0S0+1 +**s1   )E2AE-A0EE*	'E-)E*	*E--E?c           
     s  a V P                    EF)  o\        4       ;_uu_ 4       pVP                  \        4       V3R  lV P                   4       w  r#p\        ^
SR7      S! ^4      ,          p\        ^
SR7      S! ^4      ,          p\        V^&    VS! ^4      ,          p\        W#4        VS! ^4      ,          p\        WC4       \        S\        P                  4      '       d&   \        \!        VP"                  4      ^RS R24       M$\        \!        VP"                  4      ^ RS R24       RRR4       EK,  	  R#   \        \        3 d,   p\        P                  ! \        T4      ^R7        Rp?LRp?ii ; i  \        \        3 d,   p\        P                  ! \        T4      ^R7        Rp?LRp?ii ; i  + '       g   i     EK  ; i)c              3   r(  r   r)  r*  r+  r   r,  ZUTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_type.<locals>.<genexpr>I  r-  r.  r   Z
stacklevelNFailed on type=.)r  rw   recordr   r  r   r:   ro   DeprecationWarningr  r  warnr   
issubclassr   integerr   r5   )r   r  r   r   r   er  r3  r   !test_inplace_division_scalar_typeZBTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_typeC  sY   A"$$

;'B4>>B
r2Q'!A$.Ba(1Q4/181IA &8!A$JB ' a,, SWWqOA3a2HI SWWqOA3a2HI? %$ !* +I6 8MM#a&Q778
 +I6 8MM#a&Q7783 %$$s[   A,F<D>,E=A)F<>E:	!E5	0F<5E:	:F<=F9	!F4	/F<4F9	9F<<Gc                s  a V P                    EFJ  o\        4       ;_uu_ 4       pVP                  \        4       V3R  lV P                   4       w  r#pVP
                  p\        ^
SR7      p\        VR&    W&,          p\        W#V,          4        WF,          p\        WCV,          4       \        VP
                  \        \        WVP
                  4      VS! ^ 4      8H  4      4       \        S\         P"                  4      '       d&   \        \%        VP&                  4      ^RS R24       M$\        \%        VP&                  4      ^ RS R24       RRR4       EKM  	  R#   \        \        3 d-   p\        P                  ! \        T4      ^R7        Rp?ELRp?ii ; i  \        \        3 d,   p\        P                  ! \        T4      ^R7        Rp?LRp?ii ; i  + '       g   i     EK  ; i)c              3   r(  r   r)  r*  r+  r   r,  ZTTestMaskedArrayInPlaceArithmetic.test_inplace_division_array_type.<locals>.<genexpr>l  r-  r.  r   rE  NrF  rG  r   )r  rw   rH  r   r  r   r   r:   ro   rI  r  r  rJ  r   r9   rK  r   rL  r   r5   )	r   r  r   r   r   r$  r   rM  r  s	   &       @r    test_inplace_division_array_typeZATestMaskedArrayInPlaceArithmetic.test_inplace_division_array_typeg  sk   A"$$

;'B4>>B
rGG2Q'"8FA E*8GB U+ 66 2Q!A$Y@ a,, SWWqOA3a2HI SWWqOA3a2HIE %$ !( +I6 8MM#a&Q778 +I6 8MM#a&Q7789 %$$s\   AG6EAF'A)GF	0!F	GF	GG	0!G	GG	GG0c           	     sR   V P                    EF   p\        P                  ! 4       ;_uu_ 4        \        P                  ! R 4       \	        . RO. ROVR7      pW!! ^4      ,          p\	        . RO. ROVR7      p\        VP                  VP                  4       \        VP                  VP                  4       W!! ^4      ,          p\        VP                  VP                  4       \        VP                  VP                  4       RRR4       EK  	  R#   + '       g   i     EK  ; i)r  r  Nr   r-  r  )r  r  r  r  r   ro   r   r   )r   r  r   r   Zxx_rr7  r   test_inplace_pow_typeZ6TestMaskedArrayInPlaceArithmetic.test_inplace_pow_type  s    A((**''0))1=!A$Y^)1ERWWdii0RWWdii0ad
QVVTYY/QVVTYY/ +* !***s   CDD&)r  r  r  r  N)$r  r  r  r  r   r	  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r$  r&  r'  r0  r4  r8  r;  r<  r=  rC  rD  rN  rO  rP  r  r  r  r	  r   r  r  
  s     
 
2 
2 
2	&
EN((,(.(.(.
(///
+:	+:	+:1(10"JH%JN0 0r   r  c                   s  a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR t]R 4       tR tR tR tR t]P2                  P5                  RR4      ]P2                  P5                  RR4      R 4       4       tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R-t/V t0R.# )/TestMaskedArrayMethodsi  c           
        \         P                  ! . R NRNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#N4      pVP                  ^^4      pVP                  ^^^^4      p\         P                  ! . ^ N^N^ N^N^ N^ N^N^ N^N^N^ N^N^ N^ N^ N^N^ N^N^ N^ N^ N^N^N^N^N^ N^ N^N^ N^ N^ N^ N^N^ N^N^ N4      p\        WR$7      p\        W$P                  VP                  4      R$7      p\        W4P                  VP                  4      R$7      p\         P                  ! . ^N^N^ N^N^ N^ N^N^N^N^N^ N^N^ N^ N^N^N^ N^N^ N^ N^ N^N^N^N^N^ N^ N^N^N^ N^ N^ N^N^ N^N^N4      p\        WR$7      p	\        W(P                  VP                  4      R$7      p
\        W8P                  VP                  4      R$7      pWW4WVWyW3
V n        R%# &      @Gz.@-!@      !@&1?ʡE@\( @Q@{G#@Pn@h|?!@!rh@jt@J+@zGa@!rh@ʡE@-@)\(@(\B#@+@uV@~j@"~@K7@
ףp=J#@Gz@Mb@}?5^#@羟/$@!rhm@-#@J+@Mb@ʡ@-?r   r   Nr   r   r[   r]   r   r   r   r   XXr$  r  mXmXXr   m2xm2Xm2XXr   r   r   Z#TestMaskedArrayMethods.setup_method     HH @e @U @E @3 @ @u @@ @"'@).@05@7<@@"@$)@+0@27@9>@ @ !@ #(@ */@ 16@ 8=@ 	@ #	@ %*	@ ,1	@ 38	@ :?	@
 @
 #@
 %*@
 ,1@
 38@
 :?@ A IIaOYYq!Q"HH 'a ' 'A 'q '! 'Q '''''!"'$%'''''!"'$%' ' ' '  ' "#' %&' 	' 	' 	'  	' "#	' %&	'
 '
 '
 '
  '
 "#'
 %&' ( "		!'' 23))BHH"56XX (q (! (Q ( (1 (a (((( ("#(%&(((( ("#(%&( ( ( (  !( #$( &'( 	( 	( 	(  !	( #$	( &'	(
 (
 (
 (
  !(
 #$(
 &'( ) $AGG!45"::bhh#78rs;r   c           
     s   \        . RO4      p\        VP                  4       VP                  P                  4       4       \        VP	                  4       VP                  P	                  4       4       \        VP                  4       VP                  P                  4       4       \        VP                  4       VP                  P                  4       4       \        VP                  ^ ^^^^4      VP                  P                  ^ ^^^^4      4       \        VP                  . RO4      VP                  P                  . RO4      4       \        VP                  4       VP                  P                  4       4       \        VP                  4       VP                  P                  4       4       \        ^^.^^..4      p\        VP                  4       VP                  P                  4       4       \        VP                  4       VP                  P                  4       4       \        VP                  ^^.4      VP                  P                  ^^.4      4       \        VP                  4       VP                  P                  4       4       R# )r   Nr   r   )r   ro   r   r   r   argmaxargminr   compressZconjr   diagonalrd   re   rh   r   r   r$  r   r   test_generic_methodsZ+TestMaskedArrayMethods.test_generic_methods  s   )QUUWaggkkm,QUUWaggkkm,QXXZ!12QXXZ!12QXXaAq!,aggnnQ1a.KLQZZ	*AGG,<,<Y,GHQVVXqww||~.Q[[]AGG$5$5$78Aq6Aq6"#QZZ\177#3#3#56QUUWaggkkm,QVVQF^QWW\\1a&%9:Q[[]AGG$5$5$78r   c                s   \         P                  P                  ^
4      pV\         P                  P                  ^
4      R,          ,           p\        \	        W4      4       \         P
                  V^ &   \        \	        W4      '       * 4       \         P
                  V^ &   \        \	        W4      4       \        V4      p\        VR&   \        \	        WRR7      4       \        \	        WRR7      '       * 4       VR,          p^ V^ &   \        \	        V^ RR7      4       \        \         P                  ! \         P                  4      P                  .\         P                  R7      p\        \	        W4      4       R# )r   g:0yE>T)r<   Fr   Nr   )r   r   r   rl   r   rM  r;   r:   r$  Zint_rJ   r   r   r   test_allcloseZ$TestMaskedArrayMethods.test_allclose  s    IINN2		r"T))vv!HQN"#vv!O"D12HQ667	T	!AD12 "((277+//0@r   c                s    \         P                  ! . RO.RR7      p\        W^ R7      '       g   Q h\        W\         P                  ! ^R4      R7      '       g   Q hR# )r   zm8[ns]r   )Zatolr  Nr>  )r   r   r   r  rl  r   r   test_allclose_timedeltaZ.TestMaskedArrayMethods.test_allclose_timedelta  sG     HHl^841%%%%2>>!T#:;;;;r   c                sz   \         P                  ! . RO. RO. RO.4      p\         P                  ! . RO. R	O. R
O.\         P                  R7      p\        WR7      pVR8  pVR8  p\	        VP                  4       '       * 4       \	        VP                  4       4       \        VP                  ^ 4      . RO4       \        VP                  ^4      . RO4       \        VP                  ^ 4      . RO4       \        VP                  ^4      . RO4       \	        VP                  4       '       * 4       \	        VP                  4       4       \        VP                  ^ 4      . R
O4       \        VP                  ^4      . R	O4       \        VP                  ^ 4      . R
O4       \        VP                  ^4      . R
O4       R# )p=
ף?r   r   r   N)r  gp=
ף?g?)gQ?gQ?g)\(?)gףp=
?gףp=
?gffffff?rJ  r   rX  r  r   )r   r   r  r;   rl   r   r   ro   )r   r   r$  r  ZmxbigZmxsmallr  r   test_allanyZ"TestMaskedArrayMethods.test_allany  s6   HH(((* + HH*+)+24''; !$c8EIIK 		UYYq\#78UYYq\#78UYYq\#78UYYq\#56GKKM!"W[[^%89W[[^%:;W[[^%89W[[^%89r   c                s   \        R\        R 7      p\        . RORR7      p\        VP	                  4       \
        J 4       VP	                  VR7       \        V4       \        VP                  R4       \        V\
        J4       \        R\        R 7      p\        VP                  4       \
        J 4       VP                  VR7       \        V'       * 4       \        VP                  R4       \        V\
        J4       R# )r   Tr   r  Nr   r   )r#   r  r   rl   r   r:   r   r   )r   storer  r   r   test_allany_odditiesZ+TestMaskedArrayMethods.test_allany_oddities  s    b%YT*
f$%UT"V#$b%
f$%UE	T"V#$r   c           
     s   V P                   w
  rr4rVrxr\        VP                  4       ^#4       \        VP                  4       ^#4       \        VP                  4       ^4       \        V	P                  4       ^4       \        VP                  4       ^4       \        VP                  4       ^4       \        VP                  4       ^4       \        V	P                  4       ^4       \        VP                  ^ 4      . RO4       \        V	P                  ^ 4      . RO4       \        VP                  ^ 4      . RO4       \        V	P                  ^ 4      . RO4       \        VP                  ^4      . RO4       \        V	P                  ^4      . RO4       \        VP                  ^4      . RO4       \        V	P                  ^4      . R	O4       R# )
i#   N)r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   ro   r  r  )r   r   r   r{  r$  r  r|  r}  r~  r  r  r   r   test_argmax_argminZ)TestMaskedArrayMethods.test_argmax_argmin  s.   59VV2rbcRYY["%RYY["%SZZ\1%SZZ\1%RYY["%RYY["%SZZ\2&SZZ\2&RYYq\#56SZZ]$67RYYq\#56SZZ]$67RYYq\#78SZZ]$67RYYq\#56SZZ]$67r   c                s   \         P                  ! . R NRNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#N4      p\         P                  ! . ^ N^N^ N^N^ N^ N^N^ N^N^N^ N^N^ N^ N^ N^N^ N^N^ N^ N^ N^N^N^N^N^ N^ N^N^ N^ N^ N^ N^N^ N^N^ N4      p\        WR$7      pVP                  ^^4      p\        VP                  VP                  4       \        VP
                  VP                  ^^4      4       \        VP
                  VP
                  P                  ^^4      4       R%# )&rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  r   N)r   r   clipro   r   r   )r   r   r$  r  Zclippedr7  r   	test_clipZ TestMaskedArrayMethods.test_clip5  s   HH @e @U @E @3 @ @u @@ @"'@).@05@7<@@"@$)@+0@27@9>@ @ !@ #(@ */@ 16@ 8=@ 	@ #	@ %*	@ ,1	@ 38	@ :?	@
 @
 #@
 %*@
 ,1@
 38@
 :?@ A HH :a : :A :q :! :Q : :1 :a : :A :q :::: :"#:%&:():+,:./:12:45:78:::: :"#:%&:():+,:./:12:45:78: ; 1''!Q-W\\277+W]]AFF1aL1W]]BHHMM!Q$78r   c                s    \         P                  ! ^
4      p\         P                  P                  V^ ^.^,          R7      pVP	                  ^ ^VR7       \        VP                  ^ ^.^,          4       R# )r   r   r  N)r   r   r   r   r  ro   r   r  r   r   test_clip_outZ$TestMaskedArrayMethods.test_clip_outF  sX    IIbMEEaq!fqj1	q!QVVaVaZ(r   c                s   \        . RORR7      pVR8  VR8  ,          p\        VP                  V4      RR.4       \        V^^.&   VP                  V4      p\        VP                  RR.4       \        VP
                  ^ ^.4       \        VP                  R4       \        W1V,          4       VR8  pVP                  V4      p\        VP                  . RO4       \        VP
                  . RO4       \        VP                  R4       \        W1V,          4       \        . RO. RO.. RO. RO.R7      pVP                  VP                  4       ^8  4      p\        VP                  . RO4       \        VP
                  . RO4       \        P                  ! . RO4      pVP                  V^8  ^R	7      p\        VP                  ^
^.^(^<..4       \        VP
                  ^ ^.^^ ..4       R
# )r{   r|   r   r}   r  r  r=        @r   rS  Nr  r7  r-  r  r  rg  rH  r   )r  r  rg  rH  r   )r   r   r   )
r;   ro   r  r:   r   r   r  rY   r   r   )r   r   Z	conditionr   r   r7  r   test_compressZ$TestMaskedArrayMethods.test_compressM  s   -$?WS)	QZZ	*RH51a&	JJy!QWWr2h'QWWq!f%Q\\4(Q)%V	JJy!QWWl+QWWi(Q\\4(Q)%,5()46JJqwwyB'QWW./QWWl+HHYJJqAvAJ&QWWBx"b23QWW1v1v./r   c                s    \        . RO. ROR7      pVP                  4       p\        W!4       \        V^ &   VP                  4       p\        V. RO4       R# )r   r   Nr>  r   r   r   r   r  )r   
compressedro   r:   r   r   r   test_compressedZ&TestMaskedArrayMethods.test_compressedl  s?    ,\2LLNQ!LLNQ	"r   c                s0   R \         3R\        3R.p\        . ROVR7      p\        \	        VP
                  P                  4       4      \	        V4      4       \        V4      p\        VP                  VP                  4       \        VP
                  VP
                  4       \        \	        V4      VR7      p\        VP                  VP                  4       \        VP
                  VP
                  4       \        . RO. ROR7      p\        V4      p\        \        P                  ! VP                  VP                  4      '       * 4       VP                  \        4      p\        \        P                  ! VP                  VP                  4      4       R# 	r   r   r   r   Nr  ))r   r  z1.1)r   r  z2.2)r   r  z3.3r   r_  )r   r   r;   ro   r   r  r  r$   r]   r#   rl   r   r   r   r}  r   Zdatatyper   r   rP  r   
test_emptyZ!TestMaskedArrayMethods.test_emptyu  s
   #Jel;L')S**,-s8}=qMQWWagg&Q\\1<<0#a&)QWWagg&Q\\1<<0 )=>qMB''778FF< ##AFFAFF34r   c                &   R \         3R\        3R.p\        . ROVR7      p\        \	        VP
                  P                  4       4      \	        V4      4       \        \	        V4      VR7      p\        VP                  VP                  4       \        VP
                  VP
                  4       \        V4      p\        VP                  VP                  4       \        VP
                  VP
                  4       \        . RO. ROR7      p\        V4      p\        \        P                  ! VP                  VP                  4      '       * 4       VP                  4       p\        \        P                  ! VP                  VP                  4      4       R# r  )r   r   r;   ro   r   r  r  rj   r]   rk   rl   r   r   r   r}  r  rP  r   
test_zerosZ!TestMaskedArrayMethods.test_zeros  s   #Jel;L')S**,-s8}=#a&)QWWagg&Q\\1<<0qMQWWagg&Q\\1<<0 )=>qMB''778FFH##AFFAFF34r   c                r  r  )r   r   r;   ro   r   r  r  rR   r]   rS   rl   r   r   r   r}  r  rP  r   	test_onesZ TestMaskedArrayMethods.test_ones  s   #Jel;L')S**,-s8}=Qx(QWWagg&Q\\1<<0aLQWWagg&Q\\1<<0 )=>aLB''778FFH##AFFAFF34r   c           	     s   \        ^4      p. ROp\        V4      p\        WR7      p\        V^,          \        J 4       \        V^,          \        J 4       ^
^(.V^^.&   \        V^,          \        J 4       \        V^,          \        J4       \        V. RO4       \        \        ^
4      . RO^,          R7      p. ROpVP                  V. RO4       \        V\        . RO4      4       \        VP                  . R	O4       VP                  V\        . RO. R
O4      4       \        V. RO4       \        VP                  . RO4       \        \        ^
4      . RO^,          R7      p\        WE. RO4       \        V\        . RO4      4       \        VP                  . R	O4       \        WE\        . RO. R
O4      4       \        V. RO4       \        VP                  . RO4       R# )r   r   Nr  )r   r   r   r   r  r   )r   r   r   r   )r   r   r   r   )
r   r   r   r   r   r   r   ro  rV  r  )
r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )
r   r   r   r   r   r   r   ro  rV  r  )
r   r   r   r   r   r   r   r   r   r   )r   r7   r   rl   r:   ro   r;   rW   r   r   rn   )r   r   rX  r$  r   r  r  r   test_putZTestMaskedArrayMethods.test_put  sa    1IaL!!!H1a&	!!F"#Q*+/A*=>	aQ @ABQVV;<	alL9:1>?QVV;</A*=>A,Q @ABQVV;<A,|\:;1>?QVV;<r   c                s   \        ^
4      p\        RR.RR.R7      pVP                  ^^.V4       \        V^ ,          \        J4       \        V^ ,          ^ 4       \        V^,          \        J4       \        V^,          ^4       \        V^,          \        J 4       \        V^,          \        J4       \        V^,          ^ 4       R# )r   r   FTr   Nr   )rj   r   rW   rl   r:   ro   )r   r   r   r   r   test_put_nomaskZ&TestMaskedArrayMethods.test_put_nomask  s    "I2s)5$-0	q!fa!F"#QqT1!F"#QqT1!!F"#QqT1r   c                s    \        ^4      p. ROp\        V4      p\        V^,           VRRR7      pVP                  . RO. RO4       \	        VP
                  . RO4       R# )r   Tr  Nr  )r   r   r   r   r   r3  )r   r   r   r   r   )r   r7   r   rW   ro   r   r  r7  r   test_put_hardmaskZ(TestMaskedArrayMethods.test_put_hardmask  sI    1IaL1q5qDt<
0RXX/r   c                s   \        ^4      ^,           p\        V. ROR7      p. ROpVP                  4       p\        WC^c4       \	        V. RO4       VP                  4       p\        WS^c4       \	        VP
                  . RO4       \	        VP                  . RO4       \        . RO. ROR7      pVP                  4       p\        WCV4       \	        VP
                  . R	O4       \	        VP                  . R
O4       VP                  4       p\        WSV4       \	        VP
                  . R	O4       \	        VP                  . RO4       VP                  4       pVP                  4        \        WSV4       \	        V. R	O4       R# )r   r   N)r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   c   r   r   r  )r   r   r   r   r   r   )r   r  r  r  rg  rH  )r   r   r   r   r   r   )r   r   r  r   r   rH  )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   rX   ro   r   r   r  )r   r   r  r   r   ZmxxZvaluesr   r   test_putmaskZ#TestMaskedArrayMethods.test_putmask  s   1IM1-.!VVX"R-.ggi2SYY 45SYY 23/6HIVVX&!RXX34RXX12ggi6"SYY 45SYY 23ggi6"S./r   c                s   \        . RO.. R	O.R7      pVP                  4       p\        VP                  P                  VP                  4       \        ^ ^ .^^.R7      pVP                  4       p\        VP                  P                  VP                  4       \        . R
O. RORR7      p\        VP                  4       P                  . RO4       RVn        RVn        VP                  4       p\        VP                  . RO4       \        VP                  . R
O4       \        VP
                  R4       \        VP                  RR7      . R
O4       \        VP                  RR7      . RO4       R# )r   r   Fr5  r&  r'  r  Nr3  r   r   r   r   r   r>  r  rI  )r   r   r   r   )r   rY   ro   r   r]   r  r   )r   r   ZaravelZarrP  r   
test_ravelZ!TestMaskedArrayMethods.test_ravel  s    ?#?*;<V\\''61a&1v&V\\''1,\%@QWWY__l3WWYRXX|,RXX|,R]]C(QWW3W'6QWW3W'6r   r(  ZAKCF
data_orderZCFc                sl   \         P                  ! RVR7      p^ VR&   \         P                  ! R\        VR7      P                  pRVR&   \	        W4R7      pVP
                  P                  P                  VP                  P                  P                  8w  g   Q hVP                  ^ 4      ^ 8H  P                  4       '       g   Q hVP                  V4      pVP                  ^ 4      ^ 8H  P                  4       '       g   Q h\        VP                  V4      VP                  V4      P
                  4       R# )	r   r'  )r   r(  Fr   N)r   r   )r   r;  )r   r   )r   rR   r  r!  r   r   r"  Zfncr   r'   r   rY   rn   )r   r(  r  r(  r   r   Zraveleds   &&&    r   test_ravel_orderZ'TestMaskedArrayMethods.test_ravel_order!  s    
 gggZ0D	wwwd*=??T
#!ww}}  AGGMM$5$5555q %%''''''%.q!Q&++---- 	399U+QWWU^-A-ABr   c                s*   \        ^4      p\        V^ &   VP                  ^^4      p\        VP                  R4       \        VP
                  P                  R4       \        VP                  R4       \        VP
                  P                  R4       R# )r   NrI  r  )r   r:   r[   ro   r]   r   r  r   r   test_reshapeZ#TestMaskedArrayMethods.test_reshape3  sc    1I!IIaOQWWg&QWW]]G,QWWd#QWW]]D)r   c                s   \        . RO. R	O\        P                  R7      p\        V4      p\	        VP
                  . R
O4       \	        VP                  . RO4       \        VRR7      p\	        VP
                  . RO4       \	        VP                  . RO4       VP                  4        \	        VP
                  . R
O4       \	        VP                  . RO4       \        . RO. R	O\        P                  R7      pVP                  RR7       \	        VP
                  . RO4       \	        VP                  . RO4       . ROp\        V4      p\        \        \        \        4      '       * 4       \        . RO\        \        P                  R7      p\        VRR7      p\	        VP
                  . RO4       \        . RO. RO\        P                  R7      p\        VRR7      p\	        VP
                  . RO4       \	        VP                  . RO4       \        ^ R.\        P                  R7      p\        VRR7      p\	        V\        R^ .\        P                  R7      4       R# )r   r  Fr9  r   stablekindNr   r   r   r   r   r>  r   r   r   r   )r   r   r   r   r   r   )r   r   r   r+  r   )r+  r   r   r   r   r   r   r   r   r   )r   r   r+  r   r   r   r   r   r   r   )r   r   r  ra   ro   r   r   rl   r  Zsortedr   rP   rk  )r   r   sortedxr   r   	test_sortZ TestMaskedArrayMethods.test_sort=  s   ,\Bq'W]]L1W]]L1q%(W]]L1W]]L1	QWWl+QWWl+,\B	uQWWl+QWWl+q'Jv{334#&@q%(W]]$56#/Iq%(W]]$56W]]O41b')qx(WeRG277;<r   c                s    \        . RO\        P                  R7      p\        . RO4      p\        VRR7      p\	        W24       R# )r   r   r  r  N)r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r  r   ro   )r   r   r  ZcomputedrP  r   test_stable_sortZ'TestMaskedArrayMethods.test_stable_sortb  s2    $BHH5+,18,X(r   c           	     s>   \        . RO. RO\        P                  R7      p/ RR/RR/R^/R^RR/R^RR/3 Fb  p\        V3/ VB pV\	        V3/ VB ,          p\        VP                  VP                  4       \        VP                  VP                  4       Kd  	  R# )	r   r  r:  TFr  Nr  r   )r   r   r  ra   r   ro   r   r   )r   r   Zkwargsr  Z
argsortedxr7  r   test_argsort_matches_sortZ0TestMaskedArrayMethods.test_argsort_matches_sorth  s    ,\B!4(!5)$a($aD9$aE:<F 1''G71//0J
(8(89
(8(89<r   c           	     s   \        . RO. RO.4      pVP                  ^ 4       \        V. RO. RO.4       \        . RO. RO.4      pVP                  ^4       \        V. RO. RO.4       \        . RO. RO.. R	O. R
O.R7      pVP                  ^ 4       \        V. RO. RO.4       \        VP                  . RO. RO.4       \        . RO. RO.. R	O. R
O.R7      pVP                  ^4       \        V. RO. RO.4       \        VP                  . R
O. R
O.4       \        . RO. RO. RO.. RO. RO. RO.. RO. RO. RO.. RO. RO. RO..4      p\        W^,          ^ 8H  &   VP                  4       pVP                  ^c4      pVP                  ^ 4       VP                  ^ 4       \        W#4       VP                  4       pVP                  ^c4      pVP                  ^4       VP                  ^4       \        W#4       VP                  4       pVP                  ^c4      pVP                  ^4       VP                  ^4       \        W#4       R# )rV  r   N)rV  r   r   )r   r   r  rD  )rV  r   r  )r   r   rV  )r   r   r  r   r-  r`  r   rn  r\  r   )r;   ra   ro   r   r:   r   r'   )r   r   amZanrP  r   test_sort_2dZ#TestMaskedArrayMethods.test_sort_2dv  s    )Y/0	q	QI./)Y/0	q	QI./)Y/y)6LM	q	QI./QWWy)45)Y/y)6LM	q	QI./QWWy)459i;$i;$i;$i;= > a%1*VVXXXb\



RVVXXXb\



RVVXXXb\



Rr   c                s0   \        . RO. R	OR\        3R\        3.R7      p\        . R
O. ROR\        3R\        3.R7      p\        . RO. ROR\        3R\        3.R7      p\        V4      p\        WB4       \        VP                  VP                  4       \        VRR7      p\        WC4       \        VP                  VP                  4       \
        P                  ! R\        ^3.4      pVP                  V4      p\        V4      p\        VRR7      pR# )r   r  r  r  Fr9  r  N)rP  r\  rI  r   r   r  ri  r  )r  r  r  r  r  r  r  )ri  r  r  rI  rP  r\  r  )r  r  r  r  r  r  r  )r  ri  r  r  rI  r\  rP  )r  r  r  r  r  r  r  )r   r   ra   ro   r   r   r   r}  )r   r   Z	mask_lastZ
mask_firstr   r6  r  r   test_sort_flexibleZ)TestMaskedArrayMethods.test_sort_flexible  s    II:Sz*, II:Sz*,	 II:Sz*,

 AwT%TYY	/Au%T&TYY
0 XXS!}o&FF2JAwAu%r   c                sz    \        . RO. ROR7      p\        \        P                  ! V4      \        V4      4       R# )r   r   N)r   r   r   r   r   )r   r   r   r   r   )r   ro   r   r   rl  r   r   test_argsortZ#TestMaskedArrayMethods.test_argsort  s$    /8RZZ]GAJ/r   c                s   \        . RO.4      p\        VP                  4       . RO4       \        . RO.. RO.R7      p\        VP                  4       . RO4       \        VP                  4       P                  . RO4       \        P
                  ! ^..4      pVP                  4       p\        V^4       ^VR&   \        VR,          ^4       \        ^..RR7      pVP                  4       p\        V\        P                  P                  J4       \        VP                  R4       ^VR&   \        VR,          ^4       R# )r   r   .TNr   r  r  )
r;   ro   squeezer   r   r   rl   r   r:   r   )r   r   r(  Zarr_sqm_arrZm_arr_sqr  r   test_squeezeZ#TestMaskedArrayMethods.test_squeeze  s    YK(T\\^Y/YKyk:T\\^Y/T\\^))95 hhuoVQsSY" qcU.==?,-X]]D)U4[!$r   c                s   \         P                  ! . R NRNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#N4      p\         P                  ! . ^ N^N^ N^N^ N^ N^N^ N^N^N^ N^N^ N^ N^ N^N^ N^N^ N^ N^ N^N^N^N^N^ N^ N^N^ N^ N^ N^ N^N^ N^N^ N4      p\        WR$7      P                  ^^4      pVP                  ^^^^4      pVP                  ^ ^4      p\	        VR&,          VR',          4       VP                  ^ ^4      p\	        VP
                  R(4       R%# ))rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  r   Nr   )r;  r   )r   r   r   r   )r   r   r[   swapaxesro   r]   )r   r   r$  r|  r}  Z	mXswappedZ
mXXswappedr   r   test_swapaxesZ$TestMaskedArrayMethods.test_swapaxes  s;   HH @e @U @E @3 @ @u @@ @"'@).@05@7<@@"@$)@+0@27@9>@ @ !@ #(@ */@ 16@ 8=@ 	@ #	@ %*	@ ,1	@ 38	@ :?	@
 @
 #@
 %*@
 ,1@
 38@
 :?@ A HH (a ( (A (q (! (Q (((( ("#(%&(((( ("#(%&( ( ( (  !( #$( &'( 	( 	( 	(  !	( #$	( &'	(
 (
 (
 (
  !(
 #$(
 &'( ) 1%%a+jjAq!$KK1%	Yr]BuI.\\!Q'
Z%%|4r   c           	     s   \        . RO. RO4      p\        VP                  . RO4      \        . RO. RO4      4       \        VP                  . RO4      V. RO,          4       \        VP                  ^ ^.^ ^..4      \        ^
^.^
^..^ ^.^ ^..4      4       \        V^,          \        P
                  P                  J 4       \        VP                  ^4      \        P
                  P                  J 4       \        . R	O. R
O.. RO. RO.R7      p\        VP                  ^ ^.^R7      \        ^
^.^(^<..^ ^.^^ ..R7      4       \        \        V^ ^.^R7      \        ^
^.^(^<..^ ^.^^ ..R7      4       R# )r   r   rS  N)r   r  r  r  r=  )r   r   r   )r   r   r  r-  r  r  r   )r;   ro   re   rl   r   r   r:   r   r   r   r   	test_takeZ TestMaskedArrayMethods.test_take  sO   )<8QVVI&\9(MNQVVI&)5QVVaVaV,-!B8b"X"6!Q!Q8HI	K 	!$%q	RUU\\)*<.i5MNQVVQFV+RHr2h/1v1v6FG	IT!aV!,RHr2h/1v1v6FG	Ir   c                s   \         P                  ! R4      p\         P                  ! ^4      R,          \         P                  ! ^4      R,          ,           p\        W"\        V4      8  R7      p\	        WRR7      p\        . RO. R	O. R
O. RO. RO.4      p\        WE4       \	        W4      p\        . RO. R	O. R
O. RO. RO.4      p\        ;VR&   ;VR&   VR&   \        WE4       \        VP                  VP                  4       \        RRR7      p\	        W4      p\        ;VR&   VR&   \        WE4       \        VP                  VP                  4       R# )r  Nr   r  mode)r     %   r     r  r  )r  r  r  )r  r  r  )r  r  r  )r  r  r  )r  r  r  )r  r  r  )r  r  r  r\  )r   r   r   r   r  r  r  )r   r   r   r   re   ro   r:   r   )r   r   ZindicesZmindicesr   ctrlr  r   test_take_masked_indicesZ/TestMaskedArrayMethods.test_take_masked_indices  s   HH()))A,w'"))A,w*??3q6(9;Af-l!!!"	$ %
 	T A l!!!"	$ %
 065T
5T$Z$t*T TYY		*%O<A "((T
T$ZT TYY		*r   c           
     s*   \        \        P                  ! ^4      4      p\        V^R.&   VP	                  4       p\        V^,          RJ 4       \        VR,          RJ 4       RVn        VP	                  4       p. RO. R	O. R
O.p\        V^ ,          . RO4       \        V^,          . R	O4       \        V^,          . R
O4       \        W#4       \        \        \        . RO. RO. RO4      4      R\        3R\        3R.R7      p\        VR&   \        VP	                  4       . RO4       \        RR.RR.R\        3R\        3.R7      pVP	                  4       p\        V^R.^^..4       V^ ,          pVP	                  4       p\        V^R.4       R# )r  Nr   r   r   r  r+  r   )r   Nr   r   )r   r   r   ro  )rV  r  N   r   )r  r  r  )r  r  r  r  r   ))r   r  s   one)r   r     two)NNNr  r  r  )r   r   r   r:   tolistrl   r]   ro   r   r   r   r   )r   r   Zxlistr  r   r   r  r   test_tolistZ"TestMaskedArrayMethods.test_tolist!  se    "))B- 1b'

aD !b	T!"
/?@U1X/U1X|,U1X/0U!$s9*02 3 sc5\<@B "QXXZ*	+
 7F#66*:sc3Z02xxzTQI1v./aDxxzTAt9%r   c                s~   \        RR.R\        3R\        3.R7      pV FB  pVP                  4        F+  p\        \	        V\
        P                  4      '       * 4       K-  	  KD  	  RVP                  ^ &   V FB  pVP                  4        F+  p\        \	        V\
        P                  4      '       * 4       K-  	  KD  	  R# )r   r   r   r   Nr  r  )r   r   r  rl   r  r   Zgenericr   )r   r   Zentryr  rP  r   test_tolist_specialcaseZ.TestMaskedArrayMethods.test_tolist_specialcaseE  s    66"C:Sz*BCEJtRZZ889 ' 
 q	EJtRZZ889 ' r   c                s~   \        ^
4      pVP                  4       p\        VR,          VP                  4       \        VR,          VP                  4       \
        V. R	O&   VP                  4       p\        VR,          VP                  4       \        VR,          VP                  4       R\        3R
R\        3.p\        \        \        \        P                   ! ^
4      R\        P                  P                  ^
4      4      4      VR7      p\
        V. R	O&   VP                  4       p\        VR,          VP                  4       \        VR,          VP                  4       \        P                  ! R4      p\        \        \        \        P                   ! ^
4      \        P                  P                  ^
4      \        P                  P                  ^
4      4      4      VR7      p\
        V. R	O&   VP                  4       p\        VR,          VP                  4       \        VR,          VP                  4       R# )r   r   r   r  r  ZABCDEFGHIJKLMr   r  N)r   r   r   r   r  )r   toflexro   r   r   r:   r   r   r   r   r   r   r   r   r   rp   )r   r   rH  r  rP  r   test_toflexZ"TestMaskedArrayMethods.test_toflexS  s   bzVG_djj1VG_djj1$]VG_djj1VG_djj1*lS%L9T#biim- iinnR02 3 "# %]VG_djj1VG_djj123T#biim iinnR0 iinnR02 3 "# %]VG_djj9VG_djj9r   c                s   \        . RO4      p\        VP                  4       4      p\        W!4       \        VP                  VP                  4       \        . RO. ROR7      p\        VP                  4       4      p\        W!4       \        VP                  VP                  4       \        . RO. R	OR\
        3R\        3.R7      p\        VP                  4       4      p\        W!4       \        VP                  VP                  4       R# )
r   r   r  r  r  Nr   r-  )r  r  )r   r   )r  r  r  )r   r+   r  ro   r   r   r   r   r  r   r   test_fromflexZ$TestMaskedArrayMethods.test_fromflexs  s    )
#TTYY')),
#TTYY'-4Lsc5\24
#TTYY'r   c                s0   \        . RO.. ROR7      p\        ^.^.^.^.^... ROR7      p\        VP                  V4       \        VP                  4       V4       \        \        P
                  ! VP                  ^ 4      VP                  ^ 4      4       R# )r   r   Nr3  rU  )r;   ro   r!  rh   r   cumsum)r   Zmarrayr  r   r   test_arraymethodZ'TestMaskedArrayMethods.test_arraymethod  sz    /oFaS1#sQC8$35VXXw'V%%'1[''!4gnnQ6GHr   c                s    \         P                  P                  ^*RR7      p\        VP                  P
                  VP
                  4       \        VP                  P                  VP                  4       R# )*   Tr   N)r   r   r   ro   r!  r   r   r   r   r   test_arraymethod_0dZ*TestMaskedArrayMethods.test_arraymethod_0d  sD    EEKKK&QSSXXqvv&QSSXXqvv&r   c                s   \         P                  P                  . RO. RO.4      p\         P                  P                  VR&   VP                  p^
VR&   \         P                  P                  VR&   \        VP                  VP                  P                  4       \        VP                  VP                  P                  4       R# )r   Nr   r\  r  r  )r   r   r   r:   r!  ro   r   r   )r   r   Zxtr   r   test_transpose_viewZ*TestMaskedArrayMethods.test_transpose_view  sy    EEKKI./%%,,$SS455<<4QVVRTTYY'QVVRTTYY'r   c                st   \         P                  P                  R4      p^
VR&   \         P                  P                  VR&   ^VR&   VP	                  4       p^VR&   \        VP                  VP	                  4       P                  4       \        VP                  VP	                  4       P                  4       R# )r   NrP  r  ri  rI  )r   r   rj   r:   r  ro   r   r   )r   r   Zxdr   r   test_diagonal_viewZ)TestMaskedArrayMethods.test_diagonal_view  s    EEKK$%%,,$$ZZ\$RWWajjl//0RWWajjl//0r   r  N)1r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r   rQ  rQ    s    <@9$ 0<:4%$8.9")0>#5,5,5, &= &=<00<7, [[Wf-[[\40C 1 .C *#=J):&P&@0
%.5.I$+<"&H::@($I'	(1 1r   rQ  c                   s   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR t]R 4       tR tR tR t]! RR7      R 4       tR tR tR tR tRtV tR# )TestMaskedArrayMathMethodsi  c           
     rR  rS  ry  rz  r   r   r   Z'TestMaskedArrayMathMethods.setup_method  r  r   c           
     sR   V P                   w
  rr4rVrxrVP                  ^ 4      p\        VP                  VP	                  ^ 4      P                  ^ 4      4       VP                  ^4      p\        VP                  VP	                  ^ 4      P                  ^4      4       VP                  ^ 4      p\        VP                  VP	                  ^4      P                  ^ 4      4       VP                  ^4      p\        VP                  VP	                  ^4      P                  ^4      4       R# rA  )r   r  ro   r   r'   cumprod)r   r   r   r{  r$  r  r|  r}  r~  r  r  ZmXcpr   r   test_cumsumprodZ*TestMaskedArrayMathMethods.test_cumsumprod  s    59VV2rbcyy|TZZ1!4!4Q!78yy|TZZ1!4!4Q!78zz!}TZZ1!5!5a!89zz!}TZZ1!5!5a!89r   c           	     s   \        \        P                  P                  ^ ^
^4      4      P	                  ^^4      p\
        ;VR&   ;V^ &   VR&   R F  p\        \        V4      p\        W4      p\        P                  ! R\        R7      pVP                  R4       V! V^ VR7      p\        WeJ 4       \        Wd! ^ VR7      4       \        R\        R7      pV! ^ VR7      p\        WeJ 4       K  	  R# )	r   r   r  NrG  r  )r  r  r   r  rK  )r   r   r  r  rL  rM  r  r   r   test_cumsumprod_with_outputZ6TestMaskedArrayMathMethods.test_cumsumprod_with_output  s    299$$QB/088A>(..4.2a52f:-HR*FR*F XXfE2FKKBQF3FF$%QF!;<6-F/FF$% .r   c           
     s   V P                   w
  rr4rVrxrVP                  w  r\        VP                  4       \        P                  ! VP                  4       4      4       \        P                  ! V\        4      p\        P                  ! V\        4      p\        V4       F2  p\        P                  ! VR V3,          P                  4       4      W&   K4  	  \        V4       F/  p\        P                  ! Wn,          P                  4       4      W&   K1  	  \        VP                  ^ 4      V4       \        VP                  ^4      V4       R# r  )	r   r]   ro   r  r   r  rj   r   rs  )r   r   r   r{  r$  r  r|  r}  r~  r  r  rX  ZrowsZcolsks   &              r   test_ptpZ#TestMaskedArrayMathMethods.test_ptp  s    59VV2rbcRVVXrvvbmmo67xx5!xx5!qAffR1X0023DG qAffRU--/0DG RVVAY%RVVAY%r   c                s    \        R R.^^ .\        R7      pVR,           p\        V^,          R4       \        VP                  ^ ,          4       R# )r   r   r  r   ZbxN)r;   r4  ro   rl   r   r  r   r   test_add_objectZ*TestMaskedArrayMathMethods.test_add_object  s?    #s1a&?GQqT4 q	r   c                s    \        . RO. RO\        R7      p\        VP                  4       ^4       \        . RO. RO.\        R7      p\        VP                  ^ R7      . RO4       R# )	r   r  r   rS  Nr   r   r\  r   ro  r  )r;   r4  ro   rd   rl  r   r   test_sum_objectZ*TestMaskedArrayMathMethods.test_sum_object  sE    &AQUUWa )Y/v>QUUU]I.r   c                s    \        . RO. RO\        R7      p\        VP                  4       ^4       \        . RO. RO.\        R7      p\        VP                  ^ R7      . RO4       R# )	r   r  r   rS  Nr   r   r\  r   r   r  )r;   r4  ro   r.  rl  r   r   test_prod_objectZ+TestMaskedArrayMathMethods.test_prod_object
  sE    &AQVVXu%)Y/v>QVVV^[1r   c                s    \        . RO\        R7      p\        VP                  4       ^4       \        VP	                  4       . RO4       R# )r   r   Nr   )r   r   r   )r;   r4  ro   rJ  r   rl  r   r   test_meananom_objectZ/TestMaskedArrayMathMethods.test_meananom_object  s.    &1QVVXq!QVVXz*r   c                sR   \        . RO4      p\        VP                  4       P                  VP                  4       RVn        \        VP                  4       P                  VP                  4       \        \        P                  P                  VP                  4       4      4       R# )r   TNr   )	r;   ro   r   r]   r   rl   r   r   Z	is_maskedrl  r   r   test_anom_shapeZ*TestMaskedArrayMathMethods.test_anom_shape  s^    #QVVX^^QWW-QVVX^^QWW-)*r   c                sz   \        \        P                  ! ^^4      P                  ^^4      4      p\	        VP                  4       . RO. RO.4       \	        VP                  ^ R7      . RO. RO.4       \	        VP                  ^R7      . RO. RO.4       . RO. RO.Vn        Rp\	        VP                  4       P                  V4      RRV.RVR..4       \	        VP                  ^ R7      P                  V4      R	RV.RVR..4       \	        VP                  ^R7      P                  V4      R
RV.RVR..4       R# )r   r=  r   rS  r{   r   g      ?g      @N      r   )g      r  r   )r   r=  r  )r  r  r  )r=  r=  r=  r   )r   r   r{   r-  r  r  g      g      )r;   r   r   r[   rm   r   r   r'   )r   r   Zmvalr   r   	test_anomZ$TestMaskedArrayMathMethods.test_anom  s"   1a00A67AFFH/A	CAFFFN/A	CAFFFN*M:	<Y'AFFHOOD1#UD1D$3EF	HAFFFN11$7"C.dC0@A	CAFFFN11$7"C.tS0AB	Dr   c           
     s   V P                   w
  rr4rVrxrVP                  4       p\        VP                  4       VP                  4       P	                  4       P                  4       4       \        VP                  4       VP                  4       \        VP                  VP                  4       ,          ^ R7      ,
          4       \        \        P                  ! V4      VP                  4       4       \        P                  ! ^ 4      P                  ^^^4      p\        P                  P                  VR4      p\        VP                  ^^R7      VP                  ^^R7      4       R# )r   rS  F)Zaxis1Zaxis2N)r   r  ro   Ztracer  rd   rm   r   r   r   r[   r   r;   )r   r   r   r{  r$  r  r|  r}  r~  r  r  ZmXdiagr(  r  r  r   
test_traceZ%TestMaskedArrayMathMethods.test_trace/  s    59VV2rbcRXXZ!9!9!;!?!?!ABBHHJGGIFKK!**,,F12)4 4	5 	RXXb\288:. ii	"**1a3""3.SYYQaY0%++AQ+2OPr   c           
     sF   V P                   w
  rr4rVrxrVP                  ^ 4      pVP                  V4      p\        VP                  ^ 4      VP                  V4      4       \	        VP
                  \        J 4       VP                  ^ 4      pVP                  V4      p\        VP                  ^ 4      VP                  V4      4       \	        VP
                  R,          4       \        V4      pVP                  WnR7       \        W4       VP                  RR4      pVP                  ^ 4      VP                  ^ 4      ppVP                  V4      p\        VP                  ^ 4      VP                  V4      4       \        V4      pVP                  WR7       \        W4       R# )r   r  Nr   r   r+  )	r   r'   dotrm   rl   r   rP   r$   r  )r   r   r   r{  r$  r  r|  r}  r~  r  r  ZfxrZfXr^  ZmYYZfXXZfYYs   &                 r   test_dotZ#TestMaskedArrayMathMethods.test_dot>  s-   59VV2rbcYYq\FF2JAHHQK4& !YYq\FF2JAHHQK4t]
rA"ll2r"::a=#**Q-SGGCLAHHQK6]A"r   c                s*   \        ^^.^^..^ ^.^ ^ ..R7      p\        ^^.^^..^ ^.^ ^ ..R7      p\        ^ ^.^^..4      pVP                  W#R7       \        VP                  ^ 4      ^^ .^^..4       \        VP                  ^ ^.^ ^ ..4       R# )r   r   r  N)r;   r  rm   r'   r   r  rP  r   test_dot_shape_mismatchZ2TestMaskedArrayMathMethods.test_dot_shape_mismatchV  s    1a&1a&)!Q!Q0@A1a&1a&)!Q!Q0@A1a&1a&)*	aAHHQK1a&2r();<AFFaVaV$45r   c                s   \        . RORR7      p\        . RORR7      p\        \        VP                  4       4      \        P
                  4       \        \        VP                  4       4      \        P
                  4       VP                  4       VP                  4       8H  \        P                  ! R4      J g   Q h\        \        P                  ! ^4      P                  R	4      RR7      p\        ^RR7      p\        \        VP                  ^R7      4      \        4       \        \        VP                  ^R7      4      \        4       \        VP                  ^VR7      VJ 4       \        VP                  ^VR7      VJ 4       R# )
r   r  r   Tr  rS  r  Nr>  rR  )r   ro   rB  rJ  r   r!  rH  r  r   r[   r#   r   rl   )r   ZfooZbarr   r   test_varmean_nomaskZ.TestMaskedArrayMathMethods.test_varmean_nomask_  s   L-L-T#((*%rzz2T#'')_bjj1
chhj(RWWT]::: BIIbM))&1>AT"T#(((*+[9T#''q'/*K8aS)S01QC(C/0r   c           
     s   V P                   w
  rr4rVrxr\        VP                  R R7      VP                  4       P                  4       4       \        VP	                  R R7      VP                  4       P	                  4       4       \        VP	                  R ^R7      VP                  4       P	                  ^R7      4       \        VP                  R ^R7      VP                  4       P                  ^R7      4       \        VP                  ^R7      P                  VP                  ^R7      P                  4       \        VP                  4       P                  VP                  4       P                  4       VP                  ^ R7      VP                  ^R7      r\        VP                  R ^R7      VP                  4       P                  ^R7      4       \        VP	                  R ^R7      VP                  4       P	                  ^R7      4       \        ^4       F  p\        W,          Wm,          P                  4       P                  4       4       \        W,          VRV3,          P                  4       P                  4       4       \        \        P                  ! W,          4      VRV3,          P                  4       P	                  4       4       K  	  R # NrS  rT  ddofr  r;  
r   rm   rH  r  rI  ro   r]   rs  r   rb   r   r   r   r{  r$  r  r|  r}  r~  r  r  ZmXvar0ZmXvar1r  r  r   test_varstdZ&TestMaskedArrayMathMethods.test_varstdo  s   59VV2rbcBFFF-r}}/B/B/DEBFFF-r}}/B/B/DEBFF1F5MMO//Q/7	9BFF1F5MMO//Q/7	9SWW!W_**BFFFN,@,@ARVVX^^QUUW]]3FFFNBFFFNBFF1F5MMO//Q/7	9BFF1F5MMO//Q/7	9qA	25+;+;+=+A+A+CD	2ad8+>+>+@+D+D+FG	 2 "1a4 3 3 5 9 9 ;= r   c                s   \         P                  ! R\        R7      p\        R\        R7      p\        \        ^
4      RR7      pR	 F  p\	        W44      p\        V! 4       \        J 4       \        V! ^ 4      \        J 4       \        V! R4      \        J 4       V! VR7       \        V\        J4       \        VP                  R4       V! VR7       \        \         P                  ! V4      4       K  	  \        \        ^
4      RR7      p^	VR&   R	 F  p\	        W44      p\        V! ^R7      \        J 4       \        V! ^ ^R7      \        J 4       \        V! R^R7      \        J 4       V! V^R7       \        V\        J4       \        VP                  R4       V! V^R7       \        \         P                  ! V4      4       K  	  R# )
r   r   Tr   r  r  )r  r  Nr   )rH  rI  )
r   r   r   r   r  rl   r:   ro   r   r  )r   r  Zmoutr   Z
methodnamemethodr  r   test_varstd_specialcasesZ3TestMaskedArrayMathMethods.test_varstd_specialcases  sW    xx%(Ru%&*4((JQ+FFH&'F1I'(F2J&()tD&'D)tBHHTN# ) &*4("(JQ+FFNf,-F11%/0F2A&&01t!$D&'D)t!$BHHTN# )r   c                s   \        . RO. RO.. RO. RO.R7      pVP                  ^ ^ R7      p\        VP                  ^ 4      . RO4       \        VP                  . RO4       VP                  ^ ^R7      p\        VP                  ^ 4      . RO4       \        VP                  . RO4       VP                  ^ ^R7      p\        VP                  ^ 4      . RO4       \        VP                  . RO4       R# )r   r   r  Nr  r-  r`  r  )r   rI  ro   r'   r   r  r   r   test_varstd_ddofZ+TestMaskedArrayMathMethods.test_varstd_ddof  s    9i(	9/EFuu!!u$T[[^Y/TYY	*uu!!u$T[[^Y/TYY	*uu!!u$T[[^Y/TYY	*r   c                s`   \        ^	4      P                  R4      p\        VR&   \        P                  ! V4      p\        V. RO4       \	        V4      p\        V. RO4       \        VP                  . RO4       \	        V4      p\        . RO. RO. R	O.. RO. RO. RO.R7      p\        W#4       R# )
r  r   NrP  ri  )r   r   rV  r  r`  )r   r   r   )r   r   rV  )r   r[   r:   r   r!   ro   r   r   )r   r   r  r  rP  r   	test_diagZ$TestMaskedArrayMathMethods.test_diag  s    1If%$ggajS)$1gS)$SXXy)3iIy9'I>@S"r   c                s   \        . RO. RO.4      p\        VP                  ^ 4      . RO4       \        VP                  R4      ^^.4       \        VP                  ^4      ^^.4       \        VP                  ^ 4      . RO4       \        VP                  R4      ^^x.4       \        VP                  ^4      ^^x.4       \        VP	                  ^ 4      . RO4       \        VP	                  R4      ^^.4       \        VP	                  ^4      ^^.4       \        VP                  ^ 4      . RO4       \        VP                  R4      ^^.4       \        VP                  ^4      ^^.4       R# )r   Nr   r\  r  r   r  )r   ro   rd   r.  rJ   rG   rl  r   r   test_axis_methods_nomaskZ3TestMaskedArrayMathMethods.test_axis_methods_nomask  s	   9i()QUU1Xy)QUU2YB(QUU1X2w'QVVAY,QVVBZ!S*QVVAYC)QUU1Xy)QUU2YA'QUU1X1v&QUU1Xy)QUU2YA'QUU1X1v&r   )Z
free_bytesc                s    \        \        P                  ! RR\        P                  R7      \        P                  ! R4      R7      p\        VP                  4       R4       R# )'  i  r   r   g    @N)r  r  )r;   r   r  uint16rj   ro   rJ  rl  r   r   test_mean_overflowZ-TestMaskedArrayMathMethods.test_mean_overflow  s=     biiH hh~68QVVXw'r   c                   \         P                  ! . RO4      p\         P                  P                  VR,          ^R7      p\         P                  P                  VR,          ^R7      p\         P                  P	                  W#^ R7      p\         P                  P                  V^R7      p\         P                  P	                  V^ R7      p\        \         P                  P                  WF4      4       R# )r   r  rO  r  )ZprependrT  rS  Nr   r   r   r   r   r   r   r   r   r   r   r<   diffrl   r   )r   r   r   Za_prepdiff1r   diff2r   r   test_diff_with_prependZ1TestMaskedArrayMathMethods.test_diff_with_prepend  s    HH-.EEquA.##AbE#3

11
5EEq*

11
%u,-r   c                r  )r   r  r  r  )appendrT  rS  Nr  r  )r   r   r   Za_appr  r   r   r   r   test_diff_with_appendZ0TestMaskedArrayMathMethods.test_diff_with_append  s    HH-.EEquA.""1R5"2

1
3EEq*

11
%u,-r   c                s    \         P                  ! \        R R7      ;_uu_ 4        \        P                  P                  \        P                  ! ^4      4       RRR4       R#   + '       g   i     R# ; i)z4diff requires input that is at least one dimensionalr  N)r   r  r   r   r   r  r   r   r   r   test_diff_with_dim_0Z/TestMaskedArrayMathMethods.test_diff_with_dim_0  sH    ]]H  EEJJrxx{#	   s   4A##A4	c                s    \         P                  P                  . RO^R7      p\         P                  P                  V^ ^ R7      p\	        \         P                  P                  W4      4       R# )r   r  )rX  rT  Nr  )r   r   r<   r  rl   r   )r   r   r  r   r   test_diff_with_n_0Z-TestMaskedArrayMathMethods.test_diff_with_n_0  sI    EE7qAuuzz!qqz)q'(r   r  Ni Zb) r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  ry   r  r  r  r  r  r  r  r  r	  r   r  r    s     <@:&*&/2++D"Q#061 =, & $ & $D
+#'(  45( 6(..$) )r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )!TestMaskedArrayMathMethodsComplexi  c           
     rR  )&y              @y        Gz.@y        -!@y              !@y        &1?rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  y        "~@y        K7@rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  y        -?rx  Nry  rz  r   r   r   Z.TestMaskedArrayMathMethodsComplex.setup_method  s   HH Af Af Af Ad AF AE AA A"'A).A05A7<AA"A$)A+0A27A9>A A !A #(A */A 16A 8>A 	A $	A &+	A -2	A 49	A ;@	A
 A
 #A
 %*A
 ,1A
 38A
 :@A B IIaOYYq!Q"HH 'a ' 'A 'q '! 'Q '''''!"'$%'''''!"'$%' ' ' '  ' "#' %&' 	' 	' 	'  	' "#	' %&	'
 '
 '
 '
  '
 "#'
 %&' ( "		!'' 23))BHH"56XX (q (! (Q ( (1 (a (((( ("#(%&(((( ("#(%&( ( ( (  !( #$( &'( 	( 	( 	(  !	( #$	( &'	(
 (
 (
 (
  !(
 #$(
 &'( ) $AGG!45"::bhh#78rs;r   c           
     s   V P                   w
  rr4rVrxr\        VP                  R R7      VP                  4       P                  4       4       \        VP	                  R R7      VP                  4       P	                  4       4       \        VP                  ^R7      P                  VP                  ^R7      P                  4       \        VP                  4       P                  VP                  4       P                  4       VP                  ^ R7      VP                  ^R7      r\        VP                  R ^R7      VP                  4       P                  ^R7      4       \        VP	                  R ^R7      VP                  4       P	                  ^R7      4       \        ^4       F  p\        W,          Wm,          P                  4       P                  4       4       \        W,          VRV3,          P                  4       P                  4       4       \        \        P                  ! W,          4      VRV3,          P                  4       P	                  4       4       K  	  R # r  r  r  r  r   r  Z-TestMaskedArrayMathMethodsComplex.test_varstd(  s   59VV2rbcBFFF-r}}/B/B/DEBFFF-r}}/B/B/DESWW!W_**BFFFN,@,@ARVVX^^QUUW]]3FFFNBFFFNBFF1F5MMO//Q/7	9BFF1F5MMO//Q/7	9qA	25+;+;+=+A+A+CD	2ad8+>+>+@+D+D+FG	 2 "1a4 3 3 5 9 9 ;= r   r  N)r  r  r  r  r   r  r  r  r  r	  r   r  r    s     <@= =r   r  c                   s  a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR t]P*                  P-                  ]RR7      R 4       tR tR tR tR tR tR tR tR t R t!]P*                  PE                  RRR .4      R! 4       t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R.t0V t1R/# )0TestMaskedArrayFunctionsi;  c                s   \         P                  ! R R R R	\        R,          RRR
RR RR.4      p\         P                  ! . RO4      p. ROp. ROp\        WR7      p\        W$R7      pVP	                  R4       WV3V n        R# )r{   r|   r}   r~   r   r   r   r   Nr   r   r   r   r   )r   r   r   r;   r   r  )r   r   r   r   r   r   r   r   r   r   Z%TestMaskedArrayFunctions.setup_method>  sq    HHb"b#rCxRsBBOPHHJK11!%!%
% H	r   c                sh    ^^.p\        RV4      p\        V^^.4       \        V^,          ^4       R# )r   FN)rF   ro   r  r   r   test_masked_where_boolZ/TestMaskedArrayFunctions.test_masked_where_boolH  s3    F"QAQqT1r   c                s    . ROp\        V^4      p\        W!4       \        VP                  . RO4       \        V^4      p\        W!4       \        VP                  . RO4       R# )r   Nr   r-  r  )r<   ro   r   rB   r  r   r   test_masked_equal_wlistZ0TestMaskedArrayFunctions.test_masked_equal_wlistN  sK    !QRRXXy)a#RRXXy)r   c                s    . ROp\        V^4      p\        VP                  . RO4       \        VP                  ^4       R# )r   Nr   r-  )r<   ro   r   r  r  r   r   test_masked_equal_fill_valueZ5TestMaskedArrayFunctions.test_masked_equal_fill_valueW  s/    !QRXXy)R]]A&r   c                s   \        . RO4      p\        V^&   \        \        \	        V^4      V4      \        V^4      4       \        \        \        V^4      V4      \        V^4      4       \        \        \        V^4      V4      \        V^4      4       \        \        \        V^4      V4      \        V^4      4       \        \        \        V^4      V4      \        V^4      4       \        \        \        V^4      V4      \        V^4      4       \        \        \        V^4      V4      \        V^4      4       \        \        . RO. RO4      . RO4       R# )r{   Nr  r  r3  )r  r  r   r   r   )r   r:   ro   rF   r.   r=   r/   r>   r3   r@   r4   rA   rQ   rB   r%   r<   r   r   r   test_masked_where_conditionZ4TestMaskedArrayFunctions.test_masked_where_condition]  s   &'!\'!Q-3^Aq5IJ\-1"5q9)!Q/	1\$q!*a0+a2CD\*Q"2A6&q!,	.\)Aq/157G17MN\%1+q1<13EF\)Aq/157G17MN\/?C&	(r   c                s    \        R\        R7      p\        VP                  \        4      p\        W!4      p\        W4       R# )r   r   N)r   r   r   )rR   r   rj   r]   r   rF   ro   )r   r  r  ZctestrP  r   test_masked_where_odditiesZ3TestMaskedArrayFunctions.test_masked_where_odditiesm  s0    \/ekk8,U*U"r   c                s    \        ^
4      p\        \        4      ;_uu_ 4        \        ^V4       RRR4       \        V^4      p\	        VP
                  . RO4       R#   + '       g   i     L6; i)r   N)
r   r   r   r   r   r   r   r   r   r   )r   ru   
IndexErrorr<   ro   r   r  r   r   "test_masked_where_shape_constraintZ;TestMaskedArrayFunctions.test_masked_where_shape_constraintt  sI    2J:&&A 'Aq!TYY >? '&s   AA.	c           	     s2   \         P                  ! ^
RR.R7      p\         P                  ! RR7      ;_uu_ 4        \         P                  P	                  VR,          ^8  V4      pRRR4       \        XP                  P                  P                  VP                  P                  4       \        VR,          \         P                  P                  \         P                  ! ^
4      \         P                  ! ^
4      4      4       R#   + '       g   i     L; i)r   r  r   r*  )ZoverN)r  z<f2)r  z<f4)r   rj   r.  r   rF   ro   r   r   r  r;   rR   )r   r   r  r   r   test_masked_where_structuredZ5TestMaskedArrayFunctions.test_masked_where_structured{  s     HHRl;<[[h'' ##AcFQJ2B	 (
 	RWW]](("((..9RWEE&&rxx|RWWR[A	C ('s   +DD	c                s    \         P                  ! ^
4      p\         P                  ! ^4      p\        \        \         P                  P
                  V^8  V4       R# r  )r   r   ru   r  r   rF   r  r   r   test_masked_where_mismatchZ3TestMaskedArrayFunctions.test_masked_where_mismatch  s8    IIbMIIaLj"%%"4"4a!eQ?r   c                s   \        \        \        \        ^4      4      ^^4      . RO4       \        \	        \        \        ^4      4      ^^4      . RO4       \        \        \        \        \        ^4      4      . ROR7      ^^4      P                  . RO4       \        \	        \        \        \        ^4      4      . ROR7      ^^4      P                  . RO4       \        \        \        \        \        ^4      4      . ROR7      ^4      P                  . R	O4       \        \        \        . R
O. ROR7      ^4      P                  . RO4       R# )r   r   N)r      r  r  r   )r  r   r   r   r  r   )r   r   r   r   r   r  r|  )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )	ro   r?   r   rs  rC   r   r   r<   rB   r   r   r   test_masked_otherfunctionsZ3TestMaskedArrayFunctions.test_masked_otherfunctions  s    ]4a>1a8*	,^DqNAq9;NO]5eAh.=$?@A1FFJd$	& 	^E$uQx./>%@ABAGGKt$	& 	\%U1X-<#>?@BBF$$	& 	%eO1@'BCDFFJd$	&r   c                s~   \        . RO. ROR7      p\        VP                  4       . RO4       \        VP                  ^4      . RO4       \        VP                  ^4      . RO4       \        V4      pVP                  VR7       \        V. RO4       \        . R	O4      p\        . R
O4      p\        V^&   \        WCV) 4      p\        V. RO4       \        V^ &   \        WCV) 4      p\        V. RO4       \        V^ ,          \        J 4       \        V^,          \        J4       \        V^,          \        J 4       R# )82?r   r  N)r  g	@g,E|@gE@gŏ1@r  )r{   r|   r   r~   r  )g333333?gffffff@r  gffffff@g@)g(\?gS㥛@g-@gʡE@gK@r  r  r  )r   ro   r  r$   r:   ri   rl   )r   r   r   r   r  r   r  r   
test_roundZ#TestMaskedArrayFunctions.test_round  s    ?&(QWWY 45QWWQZ!:;QWWQZ!DEqM	AQ,-&'/"!!OQ-.!!OQ-.!!F"#!r   c                s   \        \        P                  P                  ^ ^
^4      4      P	                  ^^4      p\
        ;VR&   ;V^ &   VR&   \        P                  ! R\        R7      pVP                  R4       \        P                  ! V^VR7      p\        W2J 4       \        W1P                  ^VR7      4       \        R\        R7      pVP                  ^VR7      p\        W2J 4       R# )r   r   )Zdecimalsr  NrG  r  r   r  )r   r   r   r  r[   r:   r#   r   r  r  rl   ro   )r   r   rM  r  rP  r   test_round_with_outputZ/TestMaskedArrayFunctions.test_round_with_output  s     299$$QB/088A>(..4.2a52f: &.E"qf5 !VXXqfX=>vU+1&1 !r   c                sp   \        R R.R7      p\        VP                  4       ^4       \        R R.R7      p\        VP                  4       \        J 4       \        R R.R7      p\
        P                  ! ^\        R7      pVP                  R4       VP                  VR7       \        V^4       \        R R.R7      p\        RR.R7      pVP                  VR7       \        VR	,          ^4       \        R R.R7      p\        RR.R7      pVP                  VR7       \        VR	,          \        J 4       R# )
r  Fr   Tr   r  Nr  g    r   )	r   ro   r  rl   r:   r   r#   r   r  )r   r   rM  r   r   test_round_with_scalarZ/TestMaskedArrayFunctions.test_round_with_scalar  s     #UG$QWWY"#TF#	V#$#UG$!5)E	FVQ#UG$vTF+	FVBZ##TF#vUG,	Fr
f$%r   c                s    \        ^4      p\        \        V\        4      4       \	        V\
        P                   ! ^4      4       R# )r   N)r0   rl   r  r   ro   r   rl  r   r   test_identityZ&TestMaskedArrayFunctions.test_identity  s,    QK
1k*+QA'r   c                s   Rp\        \        VR4      R4       \        \        V\        4      \        J 4       \	        . RO4      p\	        . RO. ROR7      p\        W4      p\        V. R	O4       \        VP                  . R
O4       \        Vn        \        W4      p\        VP                  . R
O4       W,          p\        VP                  VP                  4       \        WC4       \        VP                  VP                  4       W,          p\        VP                  VP                  4       \        W4       \        VP                  VP                  4       R# )r  r|   \(\?r   N皙)r  r  r  r  r   )r   r|   r   r|   r   r   )r   r  gKTj?r  r   r  )
rm   rU   rl   r:   r   ro   r   rP   r   r   )r   r   r   r   r   r7  r   
test_powerZ#TestMaskedArrayFunctions.test_power  s    E!RL$/a F*+,-)@!KAABQWWo.!KQWWo.FQWWagg&A!AGGQWW-	QWWagg&A!AGGQWW-r   c                sJ   \         P                  ! . RO. RO.4      p\        V. RO. RO.R7      p\         P                  ! . RO4      p\         P                  ! W3.4      p\        V. RO. RO.R7      p\        . R	O. R
O.. RO. RO.R7      pW%,          p\        Wv4       \        VP                  VP                  4       W$,          p\        Wv4       \        VP                  VP                  4       W,          p\        Wv4       \        VP                  VP                  4       \        . RO. RO.. RO. RO.R7      pW5,          p\        Wv4       \        VP                  VP                  4       WS,          p\        Wv4       \        VP                  VP                  4       R# )r{   r   Nr7  )r}   r~   r  r   r-  r  r  )r         )r  iq  i   r  r   r   r   )r   i   r  )r   r   ro   r   )r   Za2Za2mb1Zb2Zb2mr  r   r  r   test_power_with_broadcastingZ5TestMaskedArrayFunctions.test_power_with_broadcasting  s2   XX|\23Bi34XXi XXrhBi34.0HI$i02 zT TYY		*yT TYY)yT TYY).0HI$i02yT TYY		*yT TYY		*r   zfp errors don't work in wasmZreasonc                sN   \         P                  ! R R R R\        R,          RRRRR RR.4      p\         P                  ! . RO4      p. ROp. ROp\        WR7      p\        W$R7      pVP	                  R4       \        V^8  VR4      p\        V. RO4       \        VP                  VP                  4       \        V^8  RV4      p\        V. RO4       \        VP                  . RO4       \        V^8  V\        4      p\        V. RO4       VP                  P                  4       pRW^8*  P                  R4      &   \        VP                  V4       \         P                  ! R	R
7      ;_uu_ 4        \        P                  ! \        RR7      ;_uu_ 4        VP                  \         4      p	RRR4       RRR4       \        X	^8  V	\        4      p\        V. RO4       \        VP"                  V	P"                  4       R#   + '       g   i     L\; i  + '       g   i     Lg; i)r{   r|   r}   r~   r   r   r   r   TrJ  r+  zinvalid valuer  Nr   r   r   r   r   )      "r#  r#  r#  r#  r}   r#  r#  r   r#  r#  r   )r~   r   r   r|   r   r#  r#  r   r#  r{   r   r#  )r   r   r   r   r   r   r   r   r   r   r   r   )r"  r"  r"  r"  r"  r   r"  r"  r   r"  r"  r   )r   r   r   r;   r   ri   ro   r   r:   r   r'   r.  r   r   ZRuntimeWarningr   r   r   )
r   r   r   r   r   r   r   r   ZtmpZixms
   &         r   
test_whereZ#TestMaskedArrayFunctions.test_where  s    HHb"b#rCxRsBBOPHHJK11!%!%
% "q&"b!Q 6 	7QWWbhh'"q&"b!Q 6 	7QWWBC"q&"f%Q 6 	7hhmmo&*1WT"#QWWc"[[((nODDiin E ) #'3'QFGQWWcii(	 ED )(s$   2%HH	-HHHH$	c                s   \         P                  ! R 4      p\        R 4      pVP                  4       p\	        \         P
                  P                  RW4      V4       \	        \         P
                  P                  RW"4      V4       R # )NT)r   r   r;   r   ro   r   ri   )r   r   r   r  rP  r   test_where_objectZ*TestMaskedArrayFunctions.test_where_object<  sV    HHTNFFHRUU[[q,a0RUU[[q,a0r   c                s   \        ^
4      p\        V^&   V^8  p\        W!\        4      p\        VP                  VP                  J 4       \        V^,          \        J 4       \        V^,          \        J 4       \        V^,          \        J 4       \        V^,          \        J4       \        V^	,          \        J4       \        W4       \        V\        V4      p\        VP                  VP                  J 4       \        V^,          \        J 4       \        V^,          \        J4       \        V^,          \        J4       \        V^,          \        J 4       \        V^	,          \        J 4       R# r  )r   r:   ri   rl   r   ro   r  rP  r   test_where_with_masked_choiceZ6TestMaskedArrayFunctions.test_where_with_masked_choiceC  s   2J!F!177"#!!!!F"#!F"#Q!VQ177"#!!F"#!F"#!!r   c                s   \        . RO4      p\        . RO4      p\        V^&   \        W!V) 4      p\        V. RO4       \        V^ &   \        W!V) 4      p\        V. RO4       \	        V^ ,          \        J 4       \	        V^,          \        J4       \	        V^,          \        J 4       \        ^^4      p\        VR&   \        ^^4      ^
,          p\        V^&   \        . RO. ROR7      pVP                  ^4      p\        W!V4      p\        WQV4      p\        W64       \	        \        V4      \        J 4       \        V. RO4       \        V\        ^4      p\        V. R	O4       \        V^\        4      p\        V. R
O4       R# )r{   r   Nr  r  r  r   r   )r   r   r   r  rg  )r  r  r  r   r   )r  r   r   r  r  )	r   r:   ri   ro   rl   r   r'   r,   rP   )r   r   r  r   r   Zcmr   r   r    test_where_with_masked_conditionZ9TestMaskedArrayFunctions.test_where_with_masked_conditionY  s<   &'/"!!OQ-.!!OQ-.!!F"#!1aL"1aL2!/8XXa[!N2!_Qv%&R*+!VQQ*+!QQ*+r   c                sZ   \         P                  ! ^\         P                  R7      p\         P                  ! ^\         P                  R7      R,          p\	        VR8  W!4      P
                  p\         P                  ! \         P                  \         P                  4      p\        W44       R# )r   r   r  r=  N)r   r   r  rN  ri   r   Zresult_typero   )r   r   r   r   r  r7  r   test_where_typeZ(TestMaskedArrayFunctions.test_where_typev  se    IIarxx(IIarzz*S0QWa#))..2::6T#r   c                s"   \         P                  ! ^	4      P                  ^^4      p\         P                  ! ^4      p\         P                  ! . ROW4      p\	        . ROW4      p\        W44       \        VP                  VP                  4       R# )r  Nr   )r   r   r[   rj   ri   ro   r   )r   r   r   r  r   r7  r   test_where_broadcastZ-TestMaskedArrayFunctions.test_where_broadcast~  s_    IIaL  A&HHQKxx	1(9a#TTZZ*r   c                sl   \         P                  ! R \        3R\        3.4      p\         P                  ! . ROVR7      p\         P                  ! RVR7      p\         P                  ! . ROW#4      p\         P                  ! . ROW#4      p\        WE4       \        VP                  VP                  4       R# )r   r   r   Nr  r   r  )r   r  r  )r   r   r   r   ri   ro   )r   r6  r   r   r  r   r  r   test_where_structuredZ.TestMaskedArrayFunctions.test_where_structured  sx    XXSzC:./HH-R8HHXR(xx	1(XXi&TTZZ*r   c                sZ   \         P                  ! R \        3R\        3.4      p\         P                  ! . ROVR7      p\	        . ROV\
        4      p\        . ROV4      p\        VP                  VP                  4       \        W44       \        VP                  VP                  4       R# )r   r   r   Nr*  r  r   )	r   r   r   r   ri   r:   rF   ro   r   )r   r6  r   r   r  r7  r   test_where_structured_maskedZ5TestMaskedArrayFunctions.test_where_structured_masked  st    XXSzC:./HH-R89a(	1-RXXx~~.R"RWWhmm,r   c                sJ   \         P                  ! ^\        R7      p\         P                  V^&   \         P                  V^&   \
        P                  ! \        RR7      ;_uu_ 4        \         P                  P                  V4       RRR4       R#   + '       g   i     R# ; i)r   r   z!not supported for the input typesr  N)
r   r   r4  rM  r/  r   r  r  r   masked_invalidrl  r   r   test_masked_invalid_errorZ2TestMaskedArrayFunctions.test_masked_invalid_error  so    IIav&vv!vv!]]9!DF FEE  #F F F Fs   ' BB"	c                s     ! R  R4      p\         P                  P                  V! 4       4      p\        VP                  \         P
                  ! V! 4       4      4       \        VP                  . RO4       R# )c                   s.   a  ] tR tRt o RtRR ltRtV tR# )CTestMaskedArrayFunctions.test_masked_invalid_pandas.<locals>.Seriesi  ZnonsenseNc                sl    \         P                  ! ^\         P                  \         P                  .4      # )r   )r   r   r/  rM  )r   r   r   s   &&&r   	__array__ZMTestMaskedArrayFunctions.test_masked_invalid_pandas.<locals>.Series.__array__  s     xxBFFBFF 344r   r   )NN)r  r  r  r  r   r0  r  r  r  r	  r   Seriesr/    s     E5 5r   r1  N)FTT)r   r   r-  rn   r   r   r   )r   r1  r(  r   r   test_masked_invalid_pandasZ3TestMaskedArrayFunctions.test_masked_invalid_pandas  sL    	5 	5 ee""68,399bhhvx&89399&9:r   r   TFc                sp   \         P                  P                  . RO4      pVP                  \        J g   Q h\         P                  P                  W!R7      pVP                  \        Jg   Q hVP                  \        J g   Q h\         P                  ! VP                  VP                  4      V8w  g   Q hR# )r   rR  Nr>  )	r   r   r   r   rP   r-  r   r   r   )r   r   r   r  rp  r   test_masked_invalid_full_maskZ6TestMaskedArrayFunctions.test_masked_invalid_full_mask  s     EEKK%ww&   ee""1"0xxv%%%vv""177CII6$>>>r   c                sT   . RO. RO. RO. R	O.p\        . R
OV4      p\        V\        . RO4      4       \        . ROVRR7      p\        V\        . RO4      4       \        . ROVRR7      p\        V\        . RO4      4       \        . RO. ROR7      p\        W1RR7      p\        V\        . RO4      4       \        VP                  . RO4       \        V. RO. RO. RO. RO.R7      p. R
Op\        W1RR7      p\        V\        . RO4      4       \        VP                  . RO4       R# )r   r  r  wrapr   Nr   r   r   r   r   r  r  i   r  i   r  i   r     i    !   r   r   r   r   r  r9  r  r   )r   r   r   r   )r  r   r  r   r   r   r   r   )r  r   r  r  r  r   r   r   r   r   r  )r   ro   r   r   )r   choiceschosenindices_rP  r   test_chooseZ$TestMaskedArrayFunctions.test_choose  s    !1#%57g.VU?34gF;VU?34gF;VU>23L97VU?34V[[,/|\'3\'C D7VU?34V[[,/r   c                s2   . RO. RO. R	O. R
O.p\        ^\        R7      p\        . ROWR7      p\        V\	        . RO4      4       \        W#J 4       \        ^\        R7      p\	        . RO. ROR7      p\        WARVR7      p\        V\	        . RO4      4       \        VP                  . RO4       \	        V. RO. RO. RO. RO.R7      p. ROp\        ^\        R7      P                  \        4      p\        WARVR7      p\        V\	        . RO4      4       R# )r   r   r  r   r4  )r  r  Nr5  r6  r7  r8  r;  r<  r=  )r  r9  r  r  r  r>  r   r  )rh  r9  r  rh  )	r#   r   r   ro   r   rl   r   r}  r   )r   r?  r  r@  rA  r7  r   test_choose_with_outZ-TestMaskedArrayFunctions.test_choose_with_out  s    !1#%57as#g9UE/23 as#L9EBUE"234UZZ.|\'3\'C Das#((1EBUE":;<r   c                sF   \        ^
4      p\        V^ &   VP                  R4      p\        VP                  R4       \        VP                  R,          4       VP                  ^^4      p\        VP                  R4       \        VP                  R,          4       VP                  RRR7      p\        VP                  R4       \        VP                  R,          4       VP                  ^^RR7      p\        VP                  R4       \        VP                  R,          4       \        P                  ! VR4      p\        \        V\        4      4       \        VP                  R4       \        VR,          \        J 4       \        VP                  R,          4       R# )r   r&  r  r'  N)r   r   )r   r   r  )
r   r:   r[   ro   r]   rl   r"  r   r  r   )r   r   r   r  rP  r   r  Z%TestMaskedArrayFunctions.test_reshape  s   2J!IIfQWWf%IIaOQWWf%IIfCI(QWWf%IIa#I&QWWf%JJq&!
1k*+QWWf%$6!"r   c           
     s   R \         3R\         3.p\        V4      p\        VR \        3R\        3.4       \	        V\        V4      J 4       \         ^3p\        V4      p\        V\        ^34       \	        V\        V4      J 4       \         p\        V4      p\        V\
        P                  ! \        4      4       \	        V\        V4      J 4       R \         3RR\         3R\         3.3.p\        V4      p\
        P                  ! RRRR.3.4      p\        W#4       \	        V\        V4      J 4       R \         ^33.p\        V4      p\        V\
        P                  ! R \        ^33.4      4       \	        V\        V4      J 4       R\         3.p\        V4      p\        V\
        P                  ! R\        3.4      4       \	        V\        V4      J 4       \
        P                  ! R \        ^3.4      p\        V4      p\
        P                  ! R \        3RV3.4      p\        V4      p\        V\
        P                  ! R \        3RR \        ^3.3.4      4       \	        VP                  R,          ^ ,          VJ 4       R# )	r   r   r  r  N)r   r  )r  r  )r  r  )r  r   )	r   r8   ro   r  rl   r   r   r   r  )r   Zntyper   r  Z	base_typeZ
base_mtypeZsub_typer   r   test_make_mask_descrZ-TestMaskedArrayFunctions.test_make_mask_descr  s5   uU|,u%TS$K#t56--. 
u%TD!9%--. u%T288D>*--. utUmdE]%CDEu%((K#l/K)LMNT#--. qz"#u%T288cD!9%5$678--. e$%u%T288j$%7$89:--. HHsCm_-	$Y/
88c3Z#z):;<x(T288c4[3#tQ8H2I$JKLC #z12r   c                s   ^ ^.p\        V4      p\        VP                  \        4       \        V^ ^.4       \        P
                  ! ^ ^.\        R7      p\        V4      p\        VP                  \        4       \        V^ ^.4       R\        3R\        3.p\        P
                  ! RR.VR7      p\        V4      p\        VP                  \        4       \        V^^.4       R\        3R\        3.p\        P
                  ! RR.VR7      p\        WP                  R7      p\        VP                  V4       \        W!4       R\        3R\        3.pR\        3R\        3.p\        P
                  ! RR.VR7      p\        WP                  R7      p\        VP                  V4       \        V\        P
                  ! RR.VR7      4       \        P
                  ! RRR7      R,          p\        \        V\        P                  4      4       \        WP                  R7      p\        W!4       \        W!J4       \        P
                  ! RRR7      R,          p\        WP                  R7      p\        WR4       RR.p\        \        .pRp\        P                  ! WfV4       F2  w  rp\        \        WVR	7      p\        V\        J WW3,          4       K4  	  R
# )r   r   r   r   FTz?,?r  zcopy=%s, shrink=%s, dtype=%s)r   r6  r   Nr  r  r|  r   )r7   ro   r   r   r   r   r  r   rl   r  Zvoid	itertoolsrV   rP   )r   r   r   mdtypeZbdtypeZtest2ZboolsZdtypesZ	msgformatZcpyZshrr6  r  r   r   test_make_maskZ'TestMaskedArrayFunctions.test_make_mask5  s<    1vTZZ*TAq6"xxAd+TZZ*TAq6"+T{+xx(7TZZ*TAq6"+T{+xx(7ZZ0TZZ(T ,e-+T{+xx(7ZZ0TZZ(T288VV$4FCDxxU3B7
4)*ZZ0T  !xxg.r2$jj1U!uE"2	%--eFCLCbFCCC6M9S~#=> Dr   c                sj   R \         3R\         3.p\        P                  ! . R	OVR7      p\        V\        4      p\        W24       \        \        V4      p\        W24       \        VR4      p\        W24       \        P                  ! . R
OVR7      p\        W$4      p\        P                  ! . ROVR7      p\        W54       R\         3R\         3.p\        P                  ! . R
OVR7      p \        W$4      pR \         3RR\         3R\         3.3.p\        P                  ! RR.VR7      p\        P                  ! RR.VR7      p	\        P                  ! RR.VR7      p
\        \        W4      V
4       \        P                  ! RR.4      p\        W4      \        J g   Q hR#   \         d     Li ; i)r   r   r   Fr  r  r  r  N)r  r  r  r  )r  r  r  r  )r  r  ri  r  r  r  r   r  r  )r  r   r   r9   rP   ro   r   )r   r  r   r   r  r  Z	othertyper   r  ZbmaskZcntrlr   r   r   test_mask_orZ%TestMaskedArrayFunctions.test_mask_ore  so   tsDk*xx8FtV$T vt$T tU#T 9Gt#((;5IT#4[3+.	9K	4'D tsdD\D$<$@AB+{35A+{35A+{35AWU*E2HHeU^$q}&&&  		s   -F$ $F21F2c                s   \        . RO. ROR7      p\        . RO. ROR7      p\        . RO. RO.. RO. R	O.R7      p\        W4      '       g   Q h\        WRR7      '       d   Q h\        W4      '       g   Q h\        W4      '       g   Q h\        WRR7      '       g   Q h\        W"4      '       g   Q h\        W"RR7      '       d   Q hR# )
r   r   Fr  Nr   r`  r   r\  r  )r   r   r  rP  r   test_allequalZ&TestMaskedArrayFunctions.test_allequal  s    )),)),9i(	9/EF~~~AU3333~~~ ~~~////~~~AU33333r   c                s   \         P                  ! . RO\        R7      p\        \	        V4      V4       \         P                  ! RR	.R\        3R\        3.R7      p\	        V4      p\         P                  ! . R
O\        R7      p\        W#4       R\        3RR\        3R\        3.3.pRR.p\         P                  ! WTR7      p\	        V4      p\         P                  ! . RO\        R7      p\        W#4       R# )r   r   r   r   r  r  Nr-  r  r  r  rH  r  )r   r   r   r   r   r   )r   r   r  ro   r)   )r   r   r   r  rF  r   r  r   test_flatten_maskZ*TestMaskedArrayFunctions.test_flatten_mask  s     xx	.\$'.xx(#tsDk0JKD!((<t4T#+tTlT4L%ABC[)xx+D!((-T:T#r   c                s    \         P                  ! . RO4      p\        VRR7      p\        V4      p\        W2P                  4       4       \	        VR4      p\        W2P	                  ^^4      4       R# )r   Fr   Nr>  rI  )r   r   r   ro   r[   )r   r   r$  r   rP  r   test_on_ndarrayZ(TestMaskedArrayFunctions.test_on_ndarray  sQ    HH\"!% AwT668$q&!T99Q?+r   c                st   \         P                  ! ^4      pRVn        \         P                  ! . RO4      pV. RO,          p\         P                  P                  W!^ R7      p\        WC4       \         P                  P                  V4      p\         P                  P                  W%^ R7      p\        WC4       R# )rV  rS  Nr  )TFTTr  )r   r   r]   r   r   r  ro   )r   r(  Zcondr  r   Zmarrr  r   r  Z&TestMaskedArrayFunctions.test_compress  s~     iil	xx12i.uu~~da~0T#uu{{3uu~~dq~1T#r   c                s   \         P                  P                  ^^.4      p\         P                  P                  V4      p\	        \        V4      \         P                  J 4        ! R R\         P                  4      p\         P                  P                  V! ^ R7      4      p\         P                  P                  V4      p\	        \        V4      VJ 4       \         P                  P                  ^.^..4      p\        VP                  ^4       \         P                  P                  ^.....4      p\        VP                  ^4        ! R R\        4      p\         P                  P                  V! . .. ..4      4      p\        VP                  ^4        ! R R\        4      p\         P                  P                  V! . .. ..4      4      p\        V^*4       R# )r   c                       ] tR tRtRtR# )3TestMaskedArrayFunctions.test_compressed.<locals>.Ai  r   Nr  r  r  r  r  r   r   r   r  rN        r   r  r  c                   rM  )3TestMaskedArrayFunctions.test_compressed.<locals>.Mi  r   NrO  r   r   r   r  rQ    rP  r   r  c                   r   )rQ  i  c                s    ^*# )r  r   r   r   r   r  Z>TestMaskedArrayFunctions.test_compressed.<locals>.M.compressed  s    r   r   N)r  r  r  r  r  r  r  r  r	  r   r  rQ    s      r   N)
r   r   r   r  rl   rB  r   ro   r   r   )r   r   r   r  r  r7  r   r  Z(TestMaskedArrayFunctions.test_compressed  s[    EEKKAuu"T
bjj()	

 	 EEKK
#uu"T
a  uu!qc
+TYY"uuQC5',TYY"	 	 uuB4",0TYY"	 	 uuB4",0T2r   c                s\   \        \        P                  ! ^4      ^4      p\        P                  ! ^^.4      p\        . ROR
4      p\        P                  P                  WRR7      p\        WC4       \        P                  P                  WRR7      p\        WCRR
 4       \        P                  P                  WRR7      p\        WC^R
 4       \        . ROR
4      p\        P                  P                  WRRR7      p\        WC4       \        P                  P                  WRRR7      p\        WCRR
 4       \        P                  P                  WRRR7      p\        WC^R
 4       \        P                  P                  ^^.. RO4      p\        V\        . ROR
4      4       ^^.p\        . ROR
4      p\        P                  P                  WRR7      p\        V\        . ROR
4      4       \        P                  P                  WR	R7      p\        V\        . ROR
4      4       R# )r   r  r  ZsameNZvalidF)r  propagate_mask)rR  Tr   )r   r   r   r   ro  r   )r   r   r   r   ro  r   r  )r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r<   r   r   r   r   Zconvolvero   )r   r   r   r  r   r7  r   test_convolveZ&TestMaskedArrayFunctions.test_convolve  s   1q)HHaV2B7uu~~a~0T"uu~~a~0T#2;'uu~~a~1T!B<(0"5uu~~a~FT"uu~~a~FT#2;'uu~~a~GT!B<(uu~~q!fi0T<b9:F,uu~~a5~9T<(8"=>uu~~a4~8T<(<bABr   )r  N)2r  r  r  r  r   r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  skipifrt   r$  r%  r&  r'  r(  r)  r+  r,  r.  r2  r  r3  rB  rC  r  rD  rG  rI  rJ  rK  rL  r  r  rS  r  r  r  r	  r   r  r  ;  s!    *'( #@C@&" ,"$&2(
.*+@ [[(FG) H)B1 ,,:$+	+	-$; [[VdE]3	? 4	?0.=,4,3\.?` 'D4"$$,$"H C  Cr   r  c                   sb   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )TestMaskedFieldsi  c           	     s    . R
Op. ROp. ROpR\         3R\        3R.pR\        3R\        3R\        3.p. ROp\        \	        \        WV4      4      WdR7      pRVRVRVRV/V n        R	# )r   r   r   r  r  baser   ddtyperF  Nr3  )r  r  r  r  r  )r  r  ZthreeZfourZfiver  r  )r   r   r  r   r   r   r   )r   ZilistZflistZslistrW  rF  r   rV  r  r   r   ZTestMaskedFields.setup_method	  sr    )7*sElL9+T{S$K8T#eE23$MT6468VT	r   c                s   V P                   R ,          pV P                   R,          p\        Vn        \        VP                  \
        P                  ! VP                  VR7      4       \        Vn        \        VP                  \
        P                  ! VP                  VR7      4       RVn        \        VP                  \
        P                  ! VP                  VR7      4       RVn        \        VP                  \
        P                  ! VP                  VR7      4       . ROVn        \        VP                  \
        P                  ! R Uu. uF  q3W33NK  	  upVR7      4       R# u upi )rV  rF  r   FTNr  )r   rP   r   rp   r   r   rj   r]   r:   rR   r   )r   rV  rF  r   rP  r   test_set_records_masksZ'TestMaskedFields.test_set_records_masks  s    yy 8$	TZZ$**F)KL	TZZ6)JK	TZZ$**F)KL	TZZ6)JK#	TZZXX/&J/Q1y/&J,24	5&Js   E+c                s   V P                   R ,          pVR,          VR,          VR,          rCp\        \        R3V^ &   \        VP                  \        4       \        VP
                  . RO4       \        VP                  \        4       \        VP
                  \        RRRR.4       \        VP                  R	4       \        VP
                  . RO4       R
# )rV  r   r   r  r   r  r  r  r  r  N)r   r   r   r   r   )   pir  s   three   four   fiver   r   ro   r   r   r   r   r   rV  Zbase_aZbase_bZbase_cr7  r   test_set_record_elementZ(TestMaskedFields.test_set_record_element&  s    yy $(ItCy$s)r4.QV\\3'V\\?3V\\5)V\\BS#s#;<V\\5)V\\@	Br   c                s   V P                   R ,          pVR,          VR,          VR,          rCp\        \        R3VR&   \        VP                  \        4       \        VP
                  . R
O4       \        VP                  \        4       \        VP
                  \        \        \        RR.4       \        VP                  R4       \        VP
                  . RO4       R	# )rV  r   r   r  r   r  r  r  r  N)r   r   r   r   r   )rY  rY  rY  rZ  r[  r\  r]  r7  r   test_set_record_sliceZ&TestMaskedFields.test_set_record_slice6  s    yy $(ItCy$s)D>RV\\3'V\\?3V\\5)V\\BBS#9:V\\5)V\\<	>r   c                s    V P                   R,          p\        V^ &   R FN  p\        W,          P                  . RO4       \        W,          P                  VP                  V,          4       KP  	  R# )zCheck record accessrV  N)r   r   r  r|  )r   r:   ro   r   r   )r   rV  rX  r   r   test_mask_elementZ"TestMaskedFields.test_mask_elementE  sK    yy Q A7

16 !r   c                s   R \         3R\        3.p\        ^VR7      p\        \	        V4      \
        P                  ! . RORR.R7      4       \        VR&   \        \	        V4      \
        P                  ! . RORR.R7      4       R# )	r   r   r   r;  N)r  r  r  )r   |b1)r   ra  )ri  ri  ri  )r   r   r#   ro   r-   r   r   r:   )r   r  r   r   r   test_getmaskarrayZ"TestMaskedFields.test_getmaskarrayN  s{    *sEl+Qf%\$'XX6%1<$@B	C Q\$'XX6%1<$@B	Cr   c                s   \        \        \        P                  ! ^
4      \        P                  P                  ^
4      4      4      p\        P                  ! V4      p\        VR\        3R\        3.R7      pRVP                  ^ &   \        P                  ! ^.^^ .,          ,           \        R7      pVP                  \        4      p\        WRP                  4       4       \        VP                  V4       VP                  \        ^34      p\        WR4       \        VP                  VP                  R^4      4       R# )r   r   r   r   Nr  r   )r   r   r   r   r   r   r   r   r   r  r}  ro   rY   r[   )r   iteratorr   r   controlmaskr   r  r   	test_viewZTestMaskedFields.test_viewZ  s    BIIbM299>>"+=>?xx!(C<#u">?q	hhsR1#X~T:vve}T::<(TYY,vvuaj!T TYY 3 3B :;r   c           
     s  a R \         3R\         3.p\        \        \        \        P
                  P                  ^
4      \        P                  ! ^
4      4      4      VR7      o\        P                  ! \        \        . RO. RO4      4      R \        3R\        3.R7      Sn	        V3R lpV! ^4       V! ^ 4       V! R4       R# )r   r   r   c                 s  < \        \        SV ,          4      \        4       \        SV ,          P                  SP                  V ,          4       \        SV ,          P
                  SP
                  V ,          4       \        \        SV R 3,          4      \        4       \        SV R 3,          P                  SP                  V R 3,          4       \        SV R 3,          P
                  SP
                  V R 3,          4       R# ).N)ro   rB  rO   rp   r   r   r   )r  r   s   &r   _test_indexZ2TestMaskedFields.test_getitem.<locals>._test_indexq  s    adU+ 1QWWQZ8 1QWWQZ8a3i+6 1c6!''!S&/B 1c6!''!S&/Br   N)
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   r+  )
r   r   r   r   r   r   r   r   r  r   )r   r  rf  r   s   &  @r   test_getitemZTestMaskedFields.test_getitemj  s    ,e-$s299>>"-ryy}=>fM$s#A#A C D"%tsDk :<	C 	AABr   c                sp   \         P                  ! R \        3R\        3.4      p\         P                  P                  RR.VR7      pRVR ,          ^&   \        VR ,          \         P                  ! RR.4      4       RV^,          R &   \        VR ,          \         P                  ! RR.4      4       \         P                  ! R \        3R\        3.4      p\         P                  ! R	R
.VR7      p\         P                  P                  RVR7      p^VR ,          ^ &   \        VP                  V4       \         P                  P                  RVR7      p^V^ ,          R &   \        VP                  V4       \         P                  ! R
R
.VR7      p\         P                  P                  RVR7      pVP                  4        ^VR ,          ^ &   \        VP                  V4       \         P                  P                  RVR7      pVP                  4        ^V^ ,          R &   \        VP                  V4       R# )r   r   r{   r   r   r}   N)r{   r   )r|   r   r|  )TTr  )r   r   r   r   r   r   ro   r   r  rL  r   r  )r   r  r   rF  r  r   r  r   test_setitemZTestMaskedFields.test_setitem~  s    C<#s45UU(36B3
RWbhhSz231c
RWbhhSz23C;d45((M<8GEET0#q	QVVW%EET0!S	QVVW%((L,7vFEET0	#q	QVVW%EET0	!S	QVVW%r   c                s    \         P                  P                  ^RR7      p\         P                  P                  ^4      pW^ &   \	        VP
                  . RO4       R# )r   Tr   NrJ  )r   r   r;   r   rn   r   )r   Zmask_0dr(  r   r   test_setitem_scalarZ$TestMaskedFields.test_setitem_scalar  sB    %%$$QT$2eell1oA388%9:r   c                s    V P                   R ,           F2  p\        \        V4      \        V P                   R,          4      4       K4  	  R# )rV  rW  N)r   ro   r   )r   Zrecr   r   test_element_lenZ!TestMaskedFields.test_element_len  s4    99V$$CS3tyy':#;< %r   r   N)r  r  r  r  r   rX  r^  r_  r`  rb  re  rg  rh  ri  rj  r  r  r  r	  r   rU  rU    sD     U5&B >7
C< (&<;= =r   rU  c                   r  )TestMaskedObjectArrayi  c                s   \         P                  P                  R R .4      p\        \        3 EF  p\         P
                  ! ^4      P                  V4      p\         P
                  ! ^4      P                  V4      pW1^ &   WA^&   \        V^ ,          VJ 4       \        V^,          VJ 4       \        \        VR,          \        4      4       \        \        VR,          \        4      4       \        VR,          R,          VJ 4       \        VR,          R,          VJ 4       \         P                  P                  V^ &   \        V^,          VJ 4       \        \        VR,          \        4      4       \        \        VR,          \        4      4       \        VR,          P                  R4       \        VR,          R,          VJ 4       \        V^ ,          P                  V4       \        V^ ,          P                  R4       \        VR,          R,          P                  V4       \        VR,          R,          P                  R4       EK"  	  R # )NTr   .)r   .r   )r   r   r   r   r4  r   r   rl   r  r   r:   ro   r   r   )r   r(  r6  Za0Za1r7  r   rg  Z"TestMaskedObjectArray.test_getitem  s   eekk4,'&/B!!"%B!!"%BFFCFbL!CFbL!Js6{K89Js6{K89CKOr)*CKOr)*UU\\CFCFbL!Js6{K89Js6{K89V))40CKOr)* Qb)Qd+VR--r2VR--t43 "r   c                s   \         P                  P                  R R .4      p\         P                  ! \         P                  P                  .\        4      R,          VR&   \        VP                  ^ ,          \         P                  P                  J 4       \        V^ ,          \         P                  P                  J 4       \         P                  P                  V^ &   \        V^ ,          \         P                  P                  J 4       R # )Nrm  )r   r   r   r:   r4  rl   r   )r   r(  r   r   test_nested_maZ$TestMaskedObjectArray.test_nested_ma  s    eekk4,'hh~v6v>F 	ruu||+, 	A"%%,,&' AA"%%,,&'r   r   N)r  r  r  r  rg  rn  r  r  r  r	  r   rl  rl    s     5:( (r   rl  c                   sJ   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )TestMaskedViewi  c                s|   \        \        \        P                  ! ^
4      \        P                  P                  ^
4      4      4      p\        P                  ! V4      p\        VR\        3R\        3.R7      pRVP                  ^ &   \        P                  ! ^.^^ .,          ,           \        R7      pW#V3V n
        R# )r   r   r   r   Nr  )r   r   r   r   r   r   r   r   r   r  r   )r   rc  r   r   rd  r7  r   r   ZTestMaskedView.setup_method  s    BIIbM299>>"+=>?xx!(C<#u">?q	hhsR1#X~T:k*	r   c                s    V P                   w  rpVP                  4       p\        \        V\        4      4       \        VP                  VP                  4       \        VP                  VP                  4       R # r   )r   r}  rl   r  r   ro   r   r   r   r   r   rd  r   r7  r   test_view_to_nothingZ#TestMaskedView.test_view_to_nothing  sN    !%+vvx
4-.TZZ)TZZ)r   c                s,   V P                   w  rpVP                  \        P                  4      p\	        \        V\        4      '       * 4       \        WBP                  4       \        WAP                  VP                  4      P                  4       4       R # r   )r   r}  r   r   rl   r  r   ro   r   rp   r   r  rp  r7  r   test_view_to_typeZ TestMaskedView.test_view_to_type  s^    !%+vvbjj!Jt[112T77#T99QWW#5#=#=#?@r   c                s    V P                   w  rpVP                  \        4      p\        \	        V\
        4      4       \        WAP                  4       4       \        VP                  V4       R # r   )	r   r}  r   rl   r  r   ro   rY   r   rp  r7  r   test_view_to_simple_dtypeZ(TestMaskedView.test_view_to_simple_dtype  sH    !%+vve}
4-.T::<(TYY,r   c                s   V P                   w  rpVP                  R \        3R\        3.4      p\        VP                  P
                  P                  R4       \        VR ,          VR,          4       \        VR,          VR,          4       V^ ,          P                  R \        3R\        3.4      p\        \        V\        4      4       \        VP                  P
                  P                  R4       \        VR ,          VR,          ^ ,          4       \        VR,          VR,          ^ ,          4       VR,          P                  R \        3R\        3.4      p\        \        V\        4      4       \        VP
                  P                  R4       \        VR ,          VR,          R,          4       \        VR,          VR,          R,          4       R# )r  r  r   r   N)r  r  r   )
r   r}  r   ro   r   r   r  rl   r  r   rp  r7  r   test_view_to_flexible_dtypeZ*TestMaskedView.test_view_to_flexible_dtype  sG   !%+vvU|c5\23TYY__**J7T#Y#'T#Y#'tyy3,e56
4-.TYY__**J7T#Y#q	*T#Y#q	*uzzC<#u67
4-.TZZ%%z2T#Y#r
+T#Y#r
+r   c                s6   V P                   w  rpVP                  \        ^34      p\        \	        V\
        4      4       \        WA4       \        VP                  VP                  R^4      4       V^ ,          P                  \        ^34      p\        \	        V\
        4      4       \        WA^ ,          4       \        VP                  R4       VR,          P                  \        ^34      p\        \	        V\
        4      4       \        WAR,          4       R# )r   Nr   r  )	r   r}  r   rl   r  r   ro   r   r[   rp  r7  r   test_view_to_subdtypeZ$TestMaskedView.test_view_to_subdtype  s    !%+vvuaj!
4-.T TYY 3 3B :;tyy%$
4-.T7#TYY'uzz5!*%
4-.T8$r   c                s   V P                   w  rpVP                  \        ^3\        P                  4      p\        WA4       \        \        V\        P                  4      4       \        \        V\        4      '       * 4       R# )r   N)	r   r}  r   r   r~  ro   rl   r  r   rp  r7  r   test_view_to_dtype_and_typeZ*TestMaskedView.test_view_to_dtype_and_type  sU    !%+vvuaj"++.T 
4-.Jt[112r   rk  N)r  r  r  r  r   rq  rr  rs  rt  ru  rv  r  r  r  r	  r   ro  ro    s.     +*A-,(%"3 3r   ro  c                   r  )TestOptionalArgsi'  c                s*   \         P                  ! R 4      P                  R4      p\         P                  ! ^\        R7      P                  R4      pRVR&   \         P
                  P                  WR7      pR pR pR	 F  pV! WcV4       V! WcV4       K  	  R
 F  pV! WcV4       K  	  \         P                  ! ^4      P                  R4      ^,          ^ 8H  p\         P
                  P                  WR7      pR F  pV! WcV4       V! WcV4       K  	  R# )      8@r   Tr   c           	      s8   \         P                  ! V 4      p\        P                  P                  V 4      p\	        V! V^R7      RRR13,          V! VRRR13,          ^R7      4       \	        V! VRR7      RRR13,          V! VRRR13,          RR7      4       R# )r   rS  .Nr   r  )r  __getattribute__r   r   ro   r  r   r   Znumpy_fZma_frv  r   testaxisZ4TestOptionalArgs.test_ndarrayfuncs.<locals>.testaxis1  s    ,,Q/G55))!,D aacrc2GAc3B3hKa4PQaf-c3B3h7 386:<r   c           	      s    \         P                  ! V 4      p\        P                  P                  V 4      p\	        V! VR R7      P
                  V! VR R7      P
                  4       \	        V! VRR7      P
                  V! VRR7      P
                  4       \	        V! V^R R7      RRR13,          V! VRRR13,          ^R R7      4       \	        V! VRR R7      RRR13,          V! VRRR13,          RR R7      4       R# )TkeepdimsFrT  r}  .Nr   r  )r  ry  r   r   ro   r]   rz  rv  r   testkeepdimsZ8TestOptionalArgs.test_ndarrayfuncs.<locals>.testkeepdims:  s    ,,Q/G55))!,D a$/55 T288:a%066 U399; aa$7SbSA 381tDFaft<S#2#XF 386DIKr   Nr  )r;  r;  r   )rd   r.  rJ  rH  rI  r  )r   r   )r   r   r[   rj   r  r   r   )r   r   r$  r   r{  r  r  r   r   test_ndarrayfuncsZ"TestOptionalArgs.test_ndarrayfuncs(  s     IIdO##I.HHRt$,,Y7(EEKKK"	<	K  7AQ1q! 7  AQ1   YYr]""9-1Q6EEKKK"AQ1q!  r   c           	     s   \         P                  ! R 4      P                  R4      p\         P                  ! ^\        R7      P                  R4      pRVR	&   \         P
                  P                  WR7      p\        \        V4      ^4       \        \        V^R7      ^\        R
4      ,          4       \        \        VRR7      ^\        R4      ,          4       \        \        VRR7      ^\        R4      ,          4       \        \        V^RR7      ^\        R4      ,          4       \        \        VRRR7      ^\        R4      ,          4       \        \        VRR7      ^\        R
4      ,          4       \        \        \        VRR7       \        \        \        V^R7       \         P
                  P                  V\        R7      p\        \        V4      ^4       \        \        V^R7      ^\        R
4      ,          4       \        \        VRR7      ^\        R4      ,          4       \        \        VRR7      ^\        R4      ,          4       \        \         P                  ! \        VRR7      4      ^4       \        \        V^RR7      ^\        R4      ,          4       \        \        VRRR7      ^\        R4      ,          4       \        \        VRR7      ^\        R
4      ,          4       \        \        \        VRR7       \        \        \        V^R7       \        \        \         P
                  P                  4      ^ 4       \        \        \        \         P
                  P                  ^4      ^R7       R# )rx  r   Tr   rS  r|  r~  Nr  )r;  r   r;  )r   r   r  r  r  )r   r   r   )r   r   r   r+  ri  )r   r   r[   rj   r  r   r   ro   r   rR   ru   r   r   rP   r   r:   )r   r   r$  r   rP  r   
test_countZTestOptionalArgs.test_countW  sM    IIdO##I.HHRt$,,Y7'
EEKKK"U1Xr"U11%q4<'78U16*AT
N;U1t,b4	?.BCU11t4a$y/6IJU16D91tI;NOU12&DL(89j%8i2 EEKKK'U1Xr"U11%q4<'78U16*AT
N;U1t,b4	?.BCRWWU1t45q9U11t4a$y/6IJU16D91tI;NOU12&DL(89j%8i2 	U255<<(!, 	iAQ?r   r   N)r  r  r  r  r  r  r  r  r  r	  r   rw  rw  '  s     -"^$@ $@r   rw  c                   s   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR t]P"                  P%                  RR7      R 4       t]P"                  P%                  RR7      R 4       tR tR tRtV tR# )TestMaskedConstanti~  c                s   \        V! \        P                  P                  ^4      \        P                  P                  J 4       \        P                  ! . RO4      pV! \        P                  P                  V4      p\        V\        P                  P                  J4       \        \        V\        P                  P                  P                  4      '       * 4       \        VP                  VP                  4       \        \        P                  P                  V4      \        P                  ! VP                  \        R7      4       R# )r   r   Nr   )rl   r   r   r:   r   r  r  MaskedConstantro   r]   r,   rR   r  )r   r
   Zvectorr  rp  r   _do_add_testZTestMaskedConstant._do_add_test  s    BEELL!$45 )$RUU\\6* 	beell*+Jvruuzz'@'@AABV\\6<<0RUU]]6*BGGFLL,MNr   c                sD    V P                  \        P                  4       R # r   )r  r   r
   r   r   r   
test_ufuncZTestMaskedConstant.test_ufunc  s    "&&!r   c                s*    V P                  R  4       R# )c                 r   r   r   r   r   r   r   r   Z2TestMaskedConstant.test_operator.<locals>.<lambda>  s    qur   N)r  r   r   r   test_operatorZ TestMaskedConstant.test_operator  s    ,-r   c                s6   \         P                  P                  \         P                  P                  4      p\	        \        V\         P                  P                  P                  4      '       * 4       \	        V\         P                  P                  J4       R # r   )r   r   r   r:   rl   r  r  r  r;  r   r   	test_ctorZTestMaskedConstant.test_ctor  sS    EEKK% 	Jq"%%**";";<<=%&r   c                s    \        \        \        P                  P                  4      R 4       \        P                  P
                  P                  \        P                  P                  P                  4      p\        \        V4      R 4       R# )r:   N)
ro   rA  r   r   r:   r   Z__new__r  r  rr   )r   Zmasked2r   r   	test_reprZTestMaskedConstant.test_repr  sS     	T"%%,,'2 %%##++BEEJJ,E,EFg1r   c           	     s   ^ RI Hp \        ^\        P                  ^,           4       F  pV! 4       ;_uu_ 4       p\        P
                  ! \        P                  P                  W2R7       VP                  ^ 4       \        P                  ! V4      pRRR4       \        X\        P                  P                  J 4       K  	  R#   + '       g   i     L;; i)r   )BytesIOrr  N)Zior  rs  rt  ru  Zdumpr   r   r:   ZseekZloadrl   )r   r  rx  r  r  r7  r   test_pickleZTestMaskedConstant.test_pickle  sz    1f559:EaBEELL!<q	kk!n  C255<<'( ;s   ACCc                s    \        \        P                  P                  P	                  4       \        P                  P                  J \        P
                  P	                  4       \        P
                  J 4       R # r   )ro   r   r   r:   r   ZTrue_r   r   r   rY  ZTestMaskedConstant.test_copy  sC     	EELL255<</HHMMOrxx'	)r   c                s    ^ RI p\        VP                   ! \        P                  P                  4      \        P                  P                  J 4       R# rA  )r   rl   r   r   r:   r   r   r   r   
test__copyZTestMaskedConstant.test__copy  s.    IIbeell#ruu||3	5r   c                s    ^ RI p\        VP                  ! \        P                  P
                  4      \        P                  P
                  J 4       R# rA  )r   rl   r^  r   r   r:   r  r   r   ra  Z TestMaskedConstant.test_deepcopy  s.    MM"%%,,'255<<7	9r   c                s   \         P                  P                  p\        \         P                  P                  P
                  \        P                  VR^4       \        \        \        P                  VP                  R^4       \        \        \        P                  VP                  RR4       \         P                  P                  P                  \         P                  P                  4      p\        \        \        P                  VR^4       \        \        \        P                  VP                  R^4       \        \        \        P                  VP                  RR4       R# )r   FNr   )r   r   r:   ru   r  r   r  setitemr   r   r   r}  r   )r   Zorigr}  r   r   test_immutableZ!TestMaskedConstant.test_immutable  s    uu||beejj**H,<,<dBJj("2"2DIIr1Ej("2"2DIIr5Iuu||  !2!23j("2"2D"a@j("2"2DIIr1Ej("2"2DIIr5Ir   c                s   \         P                  ! R\        4      p\        \        \
        P                  VR\         P                  P                  4       \        \        \        \         P                  P                  4       R # r  )	r   rj   r   ru   r   r  r  r   r:   )r   Za_ir   r   test_coercion_intZ$TestMaskedConstant.test_coercion_int  sD    hhr3i!1!13BEELLIibeell3r   c                s    \         P                  ! R\        4      p\        \        \
        P                  VR\         P                  P                  4       \        \         P                  ! VR,          4      4       R # r  )r   rj   r   rv   r   r  r  r   r:   rl   r  )r   Za_fr   r   test_coercion_floatZ&TestMaskedConstant.test_coercion_float  sE    hhr5![("2"2CRUU\\JR!"r   zSee gh-9750r!  c                    \         P                  ! RR 4      p\         P                  P                  VR&   \	        VR,          R4       R# )ZU10r1  Nr   r   rj   r   r:   ro   )r   Za_ur   r   test_coercion_unicodeZ(TestMaskedConstant.test_coercion_unicode  s1    hhr5!%%,,BSWd#r   c                r  )ZS10s   --Nr   r  )r   Za_br   r   test_coercion_bytesZ&TestMaskedConstant.test_coercion_bytes  s1    hhr5!%%,,BSWe$r   c                s    ! R  R\        \        P                  P                  4      4      pV! 4       p\	        W!! 4       J 4       \	        V\        P                  P                  J4       \        \        V4      R4       R# )c                   rM  )-TestMaskedConstant.test_subclass.<locals>.Subi  r   NrO  r   r   r   Subr    rP  r   r  r:   N)rB  r   r   r:   rl   rr   rA  )r   r  r   r   r   test_subclassZ TestMaskedConstant.test_subclass  sU    	$ruu||$ 	 ESU
%&a(+r   c                s    \        \        \        \        P                  P
                  R R4       \        \        \        \        P                  P
                  R\        P                  4       R# )r]   r   Nr  )ru   r  Zsetattrr   r   r:   r  r   r   r   test_attributes_readonlyZ+TestMaskedConstant.test_attributes_readonly  s6    ngruu||WdKngruu||WbhhOr   r   N)r  r  r  r  r  r  r  r  r  r  rY  r  ra  r  r  r  r   r  Zxfailr  r  r  r  r  r  r  r	  r   r  r  ~  s     O".'2))5
9
	J4
#
 [[m,$ -$
 [[m,% -%
,P Pr   r  c                   r   )TestMaskedWhereAliasesi  c                s   \        \        P                  ! R.4      \        P                  ! R4      4      p\	        VP
                  R.4       \        \        P                  \        P                  4      p\	        VP
                  R4       \        P                  P                  \        P                  \        P                  ) 4      p\	        VP
                  R4       \        P                  P                  . RO^RR7      p\        VP
                  \        P                  P                  J 4       \        P                  P                  . RO^RR7      p\	        VP
                  R.^,          4       R# )g      @TFr>  Ng      i r>  )
rE   r   r   r  ro   r   rM  r   rl   rP   )r   r  r   r   test_masked_valuesZ)TestMaskedWhereAliases.test_masked_values  s    BHHhZ0"((62BCSXXv&BFFBFF+SXXt$ee!!"&&266'2SXXu%ee!!,$!?BEELL()ee!!,%!@SXXw{+r   r   N)r  r  r  r  r  r  r  r  r	  r   r  r    s     , ,r   r  c                  s    \         P                  P                  . RO. ROR7      p \        \         P                  ! V 4      ^.^..4       R# )r   r   Nr5  )r   r   r   r   )r   r   r   ro   Zargwherer      r   test_masked_arrayr    s2    
L|4AQ1#s,r   c                  s\   \         P                  P                  . RO4      p \         P                  P                  V ^8H  V RR7      p\	        V P
                  . RO4       \         P                  P                  . RO. ROR7      p \         P                  P                  V ^8H  V RR7      p\	        V P
                  . RO4       \         P                  P                  \         P                  ^^^^.4      p \         P                  P                  V RR7      p\	        V P
                  . R	O4       R# )
r   FrR  r   Nr>  )FFTFr   )TFTF)TFFFF)r   r   r   rF   rn   r   rM  r-  )r   r       r   test_masked_array_no_copyr    s    
L!A
16151Aqvv:;
L|4A
16151Aqvv9:
RVVQ1a()A
QU+AqvvABr   c                  sF   \         P                  P                  . RO^R7      p \         P                  P                  . RO^R7      p\         P                  P                  W4      p. ROp. R	Op\	        VP
                  V4       \	        VP                  V4       \         P                  P                  R
4      p \         P                  P                  R4      p\         P                  P                  W4      p^.^,          pR.^,          R.^,          ,           p\	        VP
                  R,          V4       \	        VP                  V4       \         P                  P                  WRR7      p\	        VP
                  R,          V4       \	        VP                  V4       R# )r   r  FTNrS  r   )r   r   r   )r   r   r   r   r   r   )FTFFFTrI  )r   r   r  )	r   r   r<   r  rn   r   r   rL  rR   )r   r   r  Zexpected_datarZ  s        r   test_append_masked_arrayr    s   
9A.A
9A.AUU\\!F&M<Mv{{M2v{{M2
 A


6AUU\\!FC!GMFQJ%1,Mv{{26v{{M2UU\\!T\*Fv{{26v{{M2r   c                  s   \         P                  P                  . RO^R7      p \         P                  P                  . RO. RO.^4      p\	        \
        \         P                  P                  W^ R7       \         P                  P                  V \         P                  R3,          V^ R7      p\         P                  P                  ^^
4      p\         P                  P                  V^^.&   VP                  R4      p\        VP                  VP                  4       \        VP                  VP                  4       R# )	r   r  rS  r;  Nr   r\  rn  rP  )r   r   r<   rE   ru   r   r  Znewaxisr   r:   r[   rn   r   r   )r   r   r  r         r   #test_append_masked_array_along_axisr  .  s    
9A.A
Y	2A6A *beellAq9UU\\!BJJM*AA\6Fuu||Ar"Huu||HaV'Hv{{HMM2v{{HMM2r   c                  s4    \        \        R4      R8H  4       R# )r   Ny      ?      ?y@xD        )rl   r    r   r   r   test_default_fill_value_complexr  <  s    v&,67r   c                  sr    \        . RO. ROR7      p \        P                  ! V R V R7      p\        WJ 4       R# )r{   r   r  Nr7  r-  )r   r   r
   rl   r   r  r   test_ufunc_with_outputr  A  s+     	l+A
q"!AAFOr   c                 s   \        . RO. ROR7      p \        . RO. ROR7      p\        . RO. ROR7      p\        . R	O. ROR7      pVP                  4       p\        P                  ! WV4      pVP                  4       p\        P                  ! WVR7      pVP                  4       p\        P                  ! WV3R7      p	\	        VP
                  VP
                  4       \	        VP                  VP                  4       \	        V	P
                  VP
                  4       \	        V	P                  VP                  4       \	        VP
                  VP
                  4       \	        VP                  VP                  4       R# )
z/Test that masked arrays are immune to gh-10459 r   r  Nr   r   r  r`  r-  )r  r  r:  )r   r   r   r
   ro   r   r   )
r   r   r  r  Zout_posZres_posZout_kwZres_kwZout_tupZres_tups
             r   test_ufunc_with_out_variedr  I  s     	l+Al+A
9
-C\	2HhhjGffQ7#GXXZFVVAf%FhhjGffQz*Gx}}-x}}-x}}-x}}-x}}-x}}-r   c            
      s"   \         P                  ! R \        ^3RR\        3.3.4      p \	        . ROR3. ROR3.. ROR3. ROR3..V R7      p\         P
                  P                  V^ ,          R ,          ^ &   VP                  V 4      pVP                  P                  \         P                  ! V 4      P                  8X  g   Q hVP                  P                  P                  \         P                  ! V 4      P                  8X  g   Q h\        W4       \        WP                  VP                  RR7      J 4       \        \        VP                  VP                  RR7      4      \         P                  4       VP                  VP                  RR7      p\        VP                  P                  4       \        VP                  P                  P                  4       \         P                  ! WR	R
7      pVP                  P                  \         P                  ! V 4      P                  8X  g   Q hVP                  P                  P                  \         P                  ! V 4      P                  8X  g   Q h\        W4       \        V\         P                  ! WRR	R7      J 4       \         P                  ! WP                  RR	R7      p\        VP                  P                  4       \        VP                  P                  P                  4       R# )r  r   r   r   FrR  )subokr  r'  T)r   r  N)r   r   r  )r   r(  r  r   r  r  )r   )r}   )r   r   r   r   r   r   r:   r   r  r   ro   rl   rB  r   r"  Zf_contiguous)Zdescrr   Zx_aZx_fZx_a2Zx_f2s         r   test_astype_mask_orderingr  b  s   HHsCmcS%L>%:;<E
V		623
V		6235<A	CA 55<<AaDIaL
((5/C99??bhhuo3333388>>288E?#8#8888A!''../ahhqwweh45rzzB
((177#(
&CCII""#CHHNN''( 88A$/D::rxx4444499??  BHHUO$9$9999A!t4@@A88AWWCt<DDJJ##$DIIOO(()r   rg  rh  ri  z'ignore::numpy.exceptions.ComplexWarningc                 s   \         P                  P                  \        ^V 4      ^R7      pVP	                  V4      p\        VP                  ^8H  4       \        VP                  V 8H  4       \        VP                  P                  V 8H  4       \        VP                  ^8H  4       \        VP                  V8H  4       \        VP                  P                  V8H  4       \        W#4       R# )r   r  N)	r   r   r   rR   r   rl   r  r   ro   )rg  ri  ZsrcZdstrp  r   test_astype_basicr    s    
 %%++d1clq+
1C
**S/CCNNa CIICNN  C'(CNNa CIICNN  C'(r   c                  s   \         P                  ! . 4      p \         P                  ! ^V 4      p\         P                  P	                  V4      p\        VP                  VP                  4       \        VP                  VP                  4       \         P                  P	                  WR7      p\        VP                  VP                  4       \        VP                  VP                  4       R# )r   r   N)r   r   r#   r   r   ro   r]   )r6  r   r  s      r   test_fieldless_voidr    s    	"B
BA 
QB177#177#	Q	B177#177#r   c                  s    \         P                  P                  p \         P                  P                  ^V P                  R7      pRVn        \        V P                  P
                  R4       R# )r   r   Nr  r   )r   r   r:   r   r   r]   ro   r  r  r   0test_mask_shape_assignment_does_not_break_maskedr    sB    
A
AAFF#AAGr"r   zHno docstrings present to inspect when PYTHONOPTIMIZE/Py_OptimizeFlag > 1r!  c                  s    R  p Rp\        \        P                  P                  P	                  V P
                  R4      V4       R# )c                s    R# )zIThis docstring

Has multiple lines

And notes

Notes
-----
original note
Nr   r   r   r   r  Ztest_doc_note.<locals>.method  s     	r   zNThis docstring

Has multiple lines

And notes

Notes
-----
note

original noteZnoteN)ro   r   r   r  Zdoc_note__doc__)r  Zexpected_docr  r   test_doc_noter    s3    
L $$V^^V<lKr   c                  s    \         P                  P                  ^ . RO.\        R7      p \        P
                  ! V 4      pV^,          P                  R4       \        V ^,          4      ^8X  g   Q hR# )r   r    this should not appear in sourceNrK  )r   r   r   r4  r   r^  r  r   sourcer^  r  r   test_gh_22556r    sS    UU[[!Yv[6F}}V$HQK9:vay>Qr   c                  s   \         P                  P                  RR.R\         P                  R7      p \         P                  ! ^ 4      p\         P
                  ! WRR7      p\         P                  P                  V\         P                  ! VP                  \         P                  R7      R7      p\         P                  P                  RR\         P                  R7      p\        P                  ! V4       \        P                  ! V4       R# )	r   Tr  Fr~  r   r   Nr   )r   r   r;   r!  r   r.  rR   r]   r  r   r^  )r  rT  r  r   r  r   test_gh_21022r    s    UUb"XD

KF88A;DWWV7FUU%'WWV\\%I   KFEEBTDEMM%MM&r   c                  s   \         P                  P                  ^ R.^^.^^.R..^ ^.^ ^ .^ ^ ..\        R7      p \        P
                  ! V 4      pVR,          P                  R^.4       \        V R,          4      ^8X  g   Q h\        VR,          4      ^8X  g   Q h\        VP                  V P                  4       ^VP                  R&   V P                  R,          ^ 8X  g   Q hR# )r   ZdogZcatr  r  Nr  r  )
r   r   r   r4  r   r^  Zextendr   ro   r   r  r  r   test_deepcopy_2d_objr    s    UU[[1e*a&q65/+  !!f !f !f& %  &F }}V$HTN=qABvd|!!!x~!###.HNN4<<"""r   c                  s    \         P                  P                  ^ ^ .\        R7      p \        P
                  ! V 4      p^VR&   \        V ^ 4       \        V^4       R# )r   r  .N)r   r   r   r4  r   r^  ro   r  r  r   test_deepcopy_0d_objr    sG    UU[[!F[3F}}V$HHSM2r   c                  sp   \         P                  P                  ^^.RR.RR7      p V P                  R8X  g   Q hV P                  P                  P
                  R8X  g   Q h\         P                  P                  V P                  4       \         P                  ! R^.4      P                  R4      RR7       R# )	r   TFr  r   rh  ro  )ZstrictN)r   r   r   r  r   r  r  rn   r'   r   r   r  r  r   test_uint_fill_value_and_filledr    s    
1a&4-x@A<<6!!!<<""c)))JJ!!	
BHHfa[)00:4 " Ir   )r  Z
__author__r   rE  r  rt  Zsysrj  r  Z	functoolsr    r   r  r   Znumpy._core.fromnumericZ_corer  Znumpy._core.umathr  Znumpy.ma.corer   Znumpy._utilsr   Znumpy.exceptionsr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   Znumpy.ma.testutilsrl   rm   rn   ro   rp   rq   rr   rs   Znumpy.testingrt   ru   rv   rw   rx   Znumpy.testing._private.utilsry   r   r  r  r   r  ZMaskedArrayFutureWarningr   r  Zcharr  rz   r  r  r  r  r  rQ  r  r  r  rU  rl  ro  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rT  r"  Zoptimizer  r  r  r  r  r  )Zdt_r  r   <module>r     s?  
 )
     
      - - ! !     &i i i i i i i i i i i i i i i i i i i i i i i i i i iT	 	 	  9UU $5#6     ' '	HHMM**MO %8
8$7S288C=$7
8&
'w88w
'|" |"~q. q.hm, m,`OE OEd
S5 S5jm0 m0`I1 I1XX) X)v
2= 2=jIC ICX_= _=D-( -(`K3 K3\T@ T@nnP nPb, ,*-C3038
.2*@ W5W5EF G 6 6 $# CII&&*e  gLgL:	#"	Iir 9
's   MM