
    SBgX                       S r SrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	J
r
  SSKrSSKrSSKrSSKJs  Jr  SSKJs  Jr  SSKJr  SSKJrJrJrJrJr  SSKJr  SSKJr  SS	KJ r   SS
K!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)  SSKJ*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrDJErEJFrFJGrGJHrHJIrIJJrJJKrKJLrLJMrMJNrNJOrOJPrPJQrQJRrRJSrSJTrTJUrUJVrVJWrWJXrXJYrYJZrZJ[r[J\r\J]r]J^r^J_r_J`r`JaraJbrbJcrcJdrdJereJfrfJgrgJhrhJiriJjrjJkrkJlrlJmrmJnrnJoroJprpJqrqJrrrJsrsJtrtJuruJvrvJwrwJxrxJyryJzrzJ{r{J|r|J}r}J~r~JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  \GR&                  r\" 5       r\GR+                  \GR,                  GR.                  GR0                  S5        S V s/ s H  n \GR3                  U 5      PM     sn r\ V s/ s H  o GR6                  PM     sn r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S  S!5      r " S" S#5      r " S$ S%5      r " S& S'5      r " S( S)5      r " S* S+5      r " S, S-5      rS. rS/ rS0 rS1 rS2 rS3 rS4 rS5 r\GRj                  GRm                  S6\\S79\GRj                  GRm                  S8\\S79\GRj                  GRo                  S95      S: 5       5       5       rS; rS< r\GRj                  GRw                  \GRx                  GRz                  S=:  S>S?9S@ 5       rSA rSB rSC rSD rSE rgs  sn f s  sn f )FznTests suite for MaskedArray & subclassing.

:author: Pierre Gerard-Marchant
:contact: pierregm_at_uga_dot_edu
zPierre GF Gerard-Marchant    N)reduce)	AxisError)assert_raisesassert_warnssuppress_warningsIS_WASMtemppath)requires_memory)ndarray)asbytes)assert_assert_array_equalassert_equalassert_almost_equalassert_equal_recordsfail_if_equalassert_not_equalassert_mask_equal)iMAError	MaskErrorMaskTypeMaskedArrayabsabsoluteaddallallcloseallequalalltrueangleanomarangearccosarccosharctan2arcsinarctanargsortarrayasarraychooseconcatenate	conjugatecoscoshcountdefault_fill_valuediagdividedoc_noteempty
empty_likeequalexpflatten_maskfilledfix_invalid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_likezGsetting an item on a masked array which has a shared mask will not copyz?bhilqBHILQefdgFDc                      \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r\S 5       rS rS rS r S r!S r"S  r#S! r$S" r%S# r&S$ r'S% r(S& r)S' r*S( r+S) r,S* r-S+ r.\S, 5       r/S- r0S. r1S/ r2S0 r3S1 r4S2 r5S3 r6S4 r7S5 r8S6 r9S7 r:S8 r;S9 r<S: r=S; r>S< r?S=r@g>)?TestMaskedArrayD   c                 p   [         R                  " SSSS[        S-  SSSSSSS/5      n[         R                  " / S	Q5      nSn/ S
Qn/ SQn[        XS9n[        X%S9n[         R                  " / SQ5      n[        U/ SQS9n	[         R                  " USU5      n
UR                  S5        XX4XVXxX4
U l        g )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   mask      r         ?g?r   r   r   r   @xD)npr)   pirM   r{   set_fill_valuedselfxya10m1m2xmymzzmxfs              :/usr/lib/python3/dist-packages/numpy/ma/tests/test_core.pysetup_methodTestMaskedArray.setup_methodG   s    HHb"b#r#vr2tS"b"MNHHJK11!%!%HH&'!,/XXb%#
% 7    c                 B   [        / SQ5      n[        / SQ/ SQS9n[        UR                  S5        [        UR                  S5        [        UR                  S5        [        UR                  S5        [        UR                  S5        [        UR                  S5        g )Nr         r   r   r   r   r   r   r   )r)   r   ndimsizero   r   abs      r   test_basicattributes$TestMaskedArray.test_basicattributesV   sl    ))),QVVQQVVQQVVQQVVQQWWd#QWWd#r   c                 `   [        S5      n[        [        U5      S5        [        SSS9n[        [        U5      [        [        5      5        [        SSS9n[        [        U5      S5        [	        SSS9n[        UR                  5       R                  UR                  R                  L 5        g )Nr   0Tr   Fr   )	rM   r   strrV   r)   r   r:   dtype_datar   r   s     r   test_basic0dTestMaskedArray.test_basic0da   s    OSVS!&SVS!456'SVS!!!
  AGGMM12r   c           
      X   U R                   u
  pp4pVpxp[        [        U5      (       + 5        [        [        U5      5        [        Xg-
  R                  S5      R	                  5       5        [        UR                  R                  [        5      UR                  R                  [        5      5        UR                  n[        [        R                  " U5      U5        [        UR                  U5        [        UR                  UR                  5        [        U	R                  UR                  5        [        UR                  [        S U5      5        [        [        U5      [!        U5      [        S U5      -
  5        [#        Xj5        [#        [        US5      U
5        [#        X5        g )Nr   c                 
    X-  $ N r   r   s     r   <lambda>.TestMaskedArray.test_basic1d.<locals>.<lambda>x   s    r   c                 
    X-   $ r   r   r   s     r   r   r   y   s    QUr   r   )r   r   rD   r:   anyr   r   astypeintro   r   r   r   r   r   r0   lenr   r   r   r   r   r   r   r   r   r   r   r   ss               r   test_basic1dTestMaskedArray.test_basic1dl   s   15.srM!$$%b!"  #'')*bggnnS)277>>#+>?GGRXXb\1%RXXq!RXXqww'RXXqww'RWWf%6:;U2YB&1BB*G GH2"6"e,b11!r   c           
         U R                   u
  pp4pVpxpS H  nXl        Xl        Xl        Xl        Xl        [        [        U5      (       + 5        [        [        U5      5        [	        [        U5      U5        [	        UR                  U5        [	        UR
                  [        S U5      5        [	        [        U5      [        U5      [        S U5      -
  5        [	        Xj5        [	        [        US5      U
5        [	        X5        M     g )N)   r   )   r   c                 
    X-  $ r   r   r   s     r   r   .TestMaskedArray.test_basic2d.<locals>.<lambda>   s    QUr   c                 
    X-   $ r   r   r   s     r   r   r      s    r   r   )
r   ro   r   rD   r   r   r   r0   r   r:   r   s               r   test_basic2dTestMaskedArray.test_basic2d~   s    15.sr!AGGHHHa(()M"%&rA&1%&):A">?rCGf5F.K$KL E*B/ "r   c           
         U R                   u
  pp4pVpxp[        [        R                  " X45      [        Xg45      5        [        [        R                  " X45      [        X45      5        [        [        R                  " X45      [        Xb45      5        [        [        R                  " XU45      [        XU45      5        g r   )r   r   r   r,   r   s              r   test_concatenate_basic&TestMaskedArray.test_concatenate_basic   s    15.srR^^QF+["-BCR^^QF+[!-@AR^^QF+["-ABR^^Q1I.QAJ0GHr   c           
         U R                   u
  pp4pVpxpSnU=Ul        =Ul        =Ul        Ul        [        UR                  [        R
                  " XK5      5        [        UR                  [        R
                  " X[5      5        [        Xg4S5      n[        [        R                  " X4S5      U5        [        [        R                  " UR                  UR                  4S5      UR                  5        [        S5      n[        [        S5      SS/S9n[        X45      n[        U/ SQ5        [        UR                  / SQ5        [        X!45      n[        U/ S	Q5        [        UR                  / S
Q5        g )Nr   r   r   r   FTr   )r   r   r   r   )FFFTr   r   r   r   )FTFF)r   ro   r   r   r   rm   r,   _maskr|   r)   rd   r   )r   r   r   r   r   r   r   r   r   r   r   r   xmyms                r   test_concatenate_alongaxis*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           
          [        [        [        [        R                  R                  S5      [        R                  " S5      5      5      S[        4S[        4/S9n[        US S USS  /5      n[        X!5        g )N
   r   r   r      )rM   listzipr   randomrandr"   floatr   r,   r   )r   datatests      r   test_concatenate_flexible)TestMaskedArray.test_concatenate_flexible   si    DRYY^^B%7%'YYr]"4 5$'<#s"<> D!Hd12h/0T(r   c                     [        / SQ/ SQSS9n[        UR                  S5        [        UR                  / SQ/5        [        UR                  / SQ/5        g )Nr   r   r   r   r   r   r   )r   ndminr   r   )r)   r   ro   r   r   r   s     r   test_creation_ndmin#TestMaskedArray.test_creation_ndmin   s>    ))15QWWf%QWWyk*QWWyk*r   c                     [        / SQ5      n[        US'   [        US[        S9n[        UR                  UR
                  R                  5        [        UR                  UR
                  R                  5        g )Nr   r   )r   r   )r)   rL   r   r   ro   r   r   r   xxs      r   $test_creation_ndmin_from_maskedarray4TestMaskedArray.test_creation_ndmin_from_maskedarray   sO    )"1AU+QWWaggmm,RXXrxx~~.r   c                 N   [        S[        S9n[        U/ SQ'   [        U5      n[	        UR
                  UR
                  5        [        U5      n[	        UR
                  UR
                  5        [        U/ SQS-  S9n[        UR
                  UR
                  5        [        / SQSS9n[	        UR                  / S	Q5        [        / SQS
S9n[	        UR                  / SQ5        [        / SQUR                  S
S9n[        [        R                  " UR
                  UR
                  5      5        [        / SQUR                  SS9n[        [        R                  " UR
                  UR
                  5      (       + 5        [        / SQS S9n[	        UR                  / SQ5        g )N   r   )r   r      r   r   r   r   r   r   r   TTTTFFFFr   copy)r"   r   rL   r   r   r   r   r)   r   r   r   may_share_memory)r   r   dma_1dma_2dma_3r   r   s          r   test_creation_maskcreation*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                 (   [         R                  " [         R                  R                  5        [        R
                  " [        5         [         R                  " S[         R                  R                  /5        S S S 5        g ! , (       d  f       g = f)Nr   )r   r)   marL   pytestwarnsUserWarningr   s    r   *test_masked_singleton_array_creation_warns:TestMaskedArray.test_masked_singleton_array_creation_warns   sK     	\\+&
 HHb"%%,,'( '&&s   	1B
Bc                 X   [        [        R                  " S5      / SQS9n[        XS S S2   45      n[        U/ SQ/ SQ/5        [        UR                  / SQ/ SQ/5        [
        Ul        [        XS S S2   45      n[        U/ SQ/ SQ/5        [        UR                  [
        L 5        g )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   rb   r   r   )r   r   r   s      r   'test_creation_with_list_of_maskedarrays7TestMaskedArray.test_creation_with_list_of_maskedarrays   s    "))A,_5a4R4\"TO_=>TZZ/?!CDa4R4\"TO_=>		V#$r   c                 ^   [         R                  R                  SS/SS/S9n[         R                  " S5      n[         R                  R	                  X/SS9n[        UR                  SS/SS//5         " S	 S
5      n[         R                  R                  U" 5       S/SS/S9n[        R                  " [        SS9   [         R                  " U/[        S9  S S S 5        [         R                  R	                  XR/5      n[        UR                  SS/SS//5        g ! , (       d  f       NK= f)Nr   r   TFr   r   U21r   c                       \ rS rSrS rSrg)UTestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_cast.<locals>.NotBool   c                     [        S5      e)Nnot a bool!)
ValueErrorr  s    r   __bool__^TestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_cast.<locals>.NotBool.__bool__   s     //r   r   N)__name__
__module____qualname____firstlineno__r"  __static_attributes__r   r   r   NotBoolr     s    0r   r)  r   match)r   r  rM   r"   r*   r   r   r  raisesr!  bool)r   
masked_str
normal_intresr)  
masked_objs         r   4test_creation_with_list_of_maskedarrays_no_bool_castDTestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_cast   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   >D
D,c                 Z    [         R                  " S/SS/SS/SS/S.S	9n[        U5        g )
N)Ar   f0f1S4i8r      )namesformatsoffsetsr   r   r)   r   s     r   'test_creation_from_ndarray_with_padding7TestMaskedArray.test_creation_from_ndarray_with_padding	  s6    HHhZd37+34Q%(9 : 	ar   c                     [         R                  " [        SS9   [        / SQ/ SQS9  S S S 5        g ! , (       d  f       g = f)Nzunexpected keyword argumentr*  r   r   r   r   )maks)r  r,  	TypeErrorr   r  s    r   test_unknown_keyword_parameter.TestMaskedArray.test_unknown_keyword_parameter  s(    ]]9,IJ		2 KJJs	   2
A c           
      Z   U R                   u
  pp4pVpxpSUl        SUl        [        U5      n[	        UR
                  UR
                  5        [	        UR                  UR                  5        [	        UR                  UR                  5        [	        UR                  UR                  5        g )NT)r   
fill_value	_hardmaskr*   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   xmms               r   test_asarrayTestMaskedArray.test_asarray  su    15.srbkSYY)SYY)S^^R]]3S]]BLL1r   c                     [         R                  " S5      R                  n[        UR                  R
                  (       + 5        [        U5      n[        UR                  R
                  5        g )Nr   r   eyeTr   flagsc_contiguousr*   r   mnew_ms      r   test_asarray_default_order*TestMaskedArray.test_asarray_default_order  sC    FF1IKKAGG((()
(()r   c                     [         R                  " S5      R                  n[        UR                  R
                  (       + 5        [        USS9n[        UR                  R
                  5        g )Nr   CorderrO  rT  s      r   test_asarray_enforce_order*TestMaskedArray.test_asarray_enforce_order%  sF    FF1IKKAGG((()%(()r   c                 &   [         R                  " SS9   [        [         R                  SS// SQS9n[	        U5      n[        UR                  UR                  SS/5        [        UR                  / SQ5        S S S 5        g ! , (       d  f       g = f)Nignoreinvalidr   r   r   r   r   r   )r   r   r   )	r   errstaterM   nanr;   r   r   rI  r   )r   r   
data_fixeds      r   test_fix_invalid TestMaskedArray.test_fix_invalid-  sf    [[*R 0yAD$T*J))DOOR+DE))<8	 +**s   A$B
Bc                     [        S5      n[        US'   [        [        [        5      S:H  5        [        US   [        L 5        [	        [        US   S5      S5        g )Nr   r   --r   )r"   rL   r   r   r   r:   r   s     r   test_maskedelement"TestMaskedArray.test_maskedelement5  sI    1I!Ft#$!VAaD!_a(r   c                     [        S[        S9nSnX!S'   [        US   U5        [        US   UL 5        SS KnUR                  R                  5       nXAS'   [        US   UL 5        g )Nr   r   r   r   r   r   r   r   )r5   objectr   r   datetimenow)r   r   r   rp  dts        r   test_set_element_as_object*TestMaskedArray.test_set_element_as_object=  sf    !6"!QqT1!	""$!!
r   c           	      l   [         R                  " / SQ5      n[        U/ SQS9n[        U/ SQS9n[        U5      n[        U5        [        U5        [	        [         R
                  " U5      [        USS95        [        [        US   5      [        US   5      L 5        [        US   US   :H  5        [        US   [        L 5        [	        US	   US	   5        [	        US	S
 US	S
 5        [	        US S  US S  5        [	        USS  USS  5        SUS	'   SUS	'   [	        X5        SUSS& SUSS& [	        X5        [        US'   [	        X5        [        USS& [	        X5        XS S & [        US'   [        [        [        U5      [        / SQ5      5      5        [        / SQ/ SQ5      US S & [        [        [        U5      [        / SQ5      5      5        [        / SQ/ SQ5      US S & [        [        [        U5      [        / SQ5      5      5        [        [        U[        / SQ5      5      5        [         R                  " S
5      S-  n[        US5      n[	        X5        [        [        [        / SQ[        5      UR                  5      5        [	        SUR                   5        [        / SQ["        5      n[         R                  " / SQ["        5      nUS   nUS   n[	        [        U5      [        5        [	        [        U5      [        5        [	        XV5        [        USS R$                  S:H  5        g )N)r   r   r   r   r  r   r   r   r   r   Fendwithr   r   r   r   	   c   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   )r   hellor   r   r   )r   r)   r   reprr   rs   r   typerL   r   r>   rM   r"   rW   r   r   rI  ro  ro   )r   x1x2x3x4s1s2s          r   test_indexingTestMaskedArray.test_indexingJ  s   XXl#2L)2L)2YBRRWWR[$r5"9:RUtBqE{*+1A1 RUBqE"R!Wb1g&RUBqE"RVRV$11R1Q1QR1R1Q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1Q%&r   c                    [         R                  R                  S5      R                  S5      n[	        SSS5      SS/4n[         R                  R                  S5      n[         R                  UR                  S'   X1U'   [         R                  R                  US'   [         R                  R                  S	[         R                  S
9n[         R                  R                  / SQ/ SQS9nX1S'   X1/ SQ'   g )N<   )r   r   r   r   r      r   r   .r   r   )gCD pr   r   TFFr   r   r   r   )r   r  r"   rm   slice
masked_allinfr   rL   float32r)   )r   r   indexvalues       r   test_setitem_no_warning'TestMaskedArray.test_setitem_no_warning|  s    
 EELL$$W-q!Q!Q(  (66C%#EELL2::L.M0DE#)r   c                 
   / SQn[        U5      n[        U5      n[        X#L 5        [        USS9n[        X$L5        [        R                  " S5      n[	        XRS9n[        UR                  R                  UR                  5        [        [        XVR                  5      5        [        UR                  R                  UR                  5        [	        U5      n[        UR                  R                  UR                  R                  :H  5        [        UR                  R                  UR                  R                  :H  5        [	        XTS9n[        UR                  R                  UR                  :H  5        [        UR                  R                  UR                  :H  5        [        US   [        L 5        SUS'   [        US   [        L5        [        UR                  R                  UR                  :H  5        [        [        UR                  S5      5        [	        XRS	S
9n	[        U	R                  R                  UR                  :g  5        [        U	R                  R                  UR                  :g  5        [        U	S   [        L 5        SU	S'   [        U	S   [        L5        [        U	R                  R                  UR                  :g  5        [        [        U	R                  S5      5        [	        US-  US9n
[        [        U
5      R                  US-  R                  L 5        [        S5      n[        US'   [        US5      n[        [!        X/5      U5        [        [#        U5      / SQ5        [%        USSS9n[        U/ SQ5        [%        USSS9n[        X5        UR%                  SSS9n[        X5        UR%                  SS5      n[        UU5        UR'                  5       n[        UR                  UR                  5        [        UR                  UR                  5        [)        / SQ/ SQS9n[)        U5      n[        UR                  R*                  R                  UR                  R*                  R                  5        [        UR                  R*                  R                  UR                  R*                  R                  5        [)        USS9n[-        UR                  R*                  R                  UR                  R*                  R                  5        [-        UR                  R*                  R                  UR                  R*                  R                  5        g )Nr   r   r   r   r   Tr  r   r   r   ry  r   r   r  r   r   )r:  )r   r   r   r   r   r   r   r   )r   r   r   r   axis)r   r   r   r   r   r   r   r   r   rB  )rI   r   r   r"   r)   r   r   __array_interface__r   r   r   rL   r   r:   r   rn   r,   r>   rl   r  rM   ctypesr   )r   nrU  r   m3r  y1y1ay2y2ay3r  y4y5y6y7y8y9r   r   s                       r   	test_copy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                     [         R                  R                  SSS9nUR                  5       n[	        UR
                  S5        g )N+   Tr   )r   r  r)   r  r   r   )r   r   xcs      r   test_copy_0dTestMaskedArray.test_copy_0d  s1    EEKKK&VVXRWWd#r   c                     [        [        [        R                  R	                  / SQ5      5      5        [        [        [        R                  R	                  S5      5      5        g )Nr   )r   rD   r   r  r  r  s    r   test_copy_on_python_builtins,TestMaskedArray.test_copy_on_python_builtins  s6    beejj123beejj123r   c                     [         R                  R                  / SQ5      n[         R                  R                  / SQ5      nUR                  nUR                    [	        U" 5       / SQ5        g )Nr   r   r   r   )r   r  r)   r  r   )r   r   r   a_copy_methods       r   test_copy_immutable#TestMaskedArray.test_copy_immutable  sB    EEKK	"EEKK	"	]_i0r   c                    SSK Jn  [        / SQ/ SQS9nU" U5      n[        UR                  UR                  5        [        [        UR                  5      [        UR                  5      5        SUS'   [        UR                  / SQ5        [        UR                  / SQ5        U" U5      n[        UR                  UR                  5        S	UR                  S'   [        UR                  / SQ5        [        UR                  / SQ5        g )
Nr   )deepcopyr  FTFr   r   r   r   r   rB  F)r  r  r)   r   r   r   idr   )r   r  r   copieds       r   test_deepcopyTestMaskedArray.test_deepcopy  s    !)"67!V[[!&&)AGGb&67q	V[[),QVVY'!V[[!&&)AV[[),QVVY'r   c                 :   [        / SQ/ SQS9n[        [        U5      S5        [        [        [        5      S5        [        [        [        S5      S5        [	        [
        5         [        [        S5      nS S S 5        [        WS5        g ! , (       d  f       N= f)Nr  r  r   [0 -- 2]rj   z >5)r)   r   formatrL   r   FutureWarning)r   r   with_format_strings      r   test_formatTestMaskedArray.test_format  sl    )"67VAY
+VF^T*VFB'. -(!'!6 )'. )(s   &B
Bc           	         [        / SQ/ SQS9n[        [        U5      S5        [        [        U5      [        R
                  " S5      5        [        R                  R                  S5      n[        R                  R                  USS& [        [        U5      [        R
                  " S	5      5        [        R                  R                  S
5      n[        [        U5      [        R
                  " S5      5        [        / SQ/ SQ/[        R                  S9n[        R                  R                  US'   [        [        U5      [        R
                  " S[        R                   " S5      S   < S35      5        [        [        US S 5      [        R
                  " S[        R                   " S5      S   < S35      5        [        [        UR                  [        5      5      [        R
                  " S5      5        g )Nr  r  r   r  z            masked_array(data=[0, --, 2],
                         mask=[False,  True, False],
                   fill_value=999999)  r   2   z            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   r  r   r   r   z            masked_array(
              data=[[1, 2, 3],
                    [4, --, 6]],
              mask=[[False, False, False],
                    [False,  True, False]],
              fill_value=?B r   z,
              dtype=int8)z            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))r)   r   r   r  textwrapdedentr   r  r"   rL   int8r   r   r   r   s     r   test_str_reprTestMaskedArray.test_str_repr
  s   )"67SVZ(GOO ) *	
 EELL%%,,!BGOO ) *	
 EELLGOO ) *	
 9i(8#GOO ! ((6*2.1 2 
	
 	2AKOO !  "xx/36 7$' (	
 	#OO $ %		
r   c                    [         R                  " 5       n[         R                  " SS9   [        / SQ/ SQS9n[	        [        U5      S5        [	        [        U5      S5        [         R                  R                  S5      n[         R                  R                  US	S
& [	        [        U5      S5        [         R                  " S0 UD6  g ! [         R                  " S0 UD6  f = f)Nz1.13)legacyr  r  r   r  zcmasked_array(data = [0 -- 2],
             mask = [False  True False],
       fill_value = 999999)
r  r   r  zmasked_array(data = [0 -- -- ..., 1997 1998 1999],
             mask = [False  True  True ..., False False False],
       fill_value = 999999)
r   )
r   get_printoptionsset_printoptionsr)   r   r   r  r  r"   rL   )r   oldoptsr   s      r   test_str_repr_legacy$TestMaskedArray.test_str_repr_legacyP  s    %%'
6*	+i&:;AQ,a #B C T"AeellAaGQ0 *'*B*'*s   B	C C#c                     Sn[        U5      n[        R                  R                  U5      n[        R                  R                  USS9n[	        U" U5      U5        [	        U" U5      S5        g )Nu   caféTr   rj  )r  r   r  r)   r   )r   uutype
arr_nomask
arr_maskeds        r   test_0d_unicodeTestMaskedArray.test_0d_unicodee  sU    QUU[[^
UU[[[.
U:&*U:&-r   c           
      z   [         [        [        [        4 GH   n[	        S5      R                  U5      nSUl        / SQSS4n[        S[        R                  S-   5       H  nU H  nXRl
        [        R                  " [        R                  " X$S95      n[        UR                  UR                  5        [        UR                  UR                  5        U[        [         4;   a  [        UR                  S5        O[        UR                  U" S5      5        [!        UR                  U5        M     M     GM#     g )	Nr     )
r   r   r   r   r   r   r   r   r   r   TFr   r   protocol)r   r   r   ro  r"   r   rI  rangepickleHIGHEST_PROTOCOLr   loadsdumpsr   r   r   r   )r   r   r   masksprotor   	a_pickleds          r   test_picklingTestMaskedArray.test_picklingo  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                    [         R                  " SS/S[        4S[        4/S9R	                  [         R
                  5      n[        USS/S9n[        S	[        R                  S
-   5       H  n[        R                  " [        R                  " X#S95      n[        UR                  UR                  5        [        XB5        [        [        UR                   [         R
                  5      5        M     g )N)r   r   )r   r   r   r   r   TFFTr   r   r   r  )r   r)   r   r   viewrecarrayrM   r  r  r  r  r  r   r   r   
isinstancer   )r   r   r   r  r  s        r   test_pickling_subbaseclass*TestMaskedArray.test_pickling_subbaseclass  s    HHh) %L3*577;tBKK7H 	
-!?@1f559:EV\\!%DEI!''2&Jy<=	 ;r   c                    [         R                  R                  n[        S[        R
                  S-   5       H  n[        R                  " [        R                  " XS95      n[        UR                  UR                  5        [        UR                  UR                  5        [        UR                  UR                  5        M     g )Nr   r   r  )r   r  rL   r  r  r  r  r  r   
_baseclassr   r   )r   mcr  
mc_pickleds       r   test_pickling_maskedconstant,TestMaskedArray.test_pickling_maskedconstant  s~    UU\\1f559:Efll2&FGJ..>))2884))2884	 ;r   c                 ,   [        SS/SS/S[        4S[        4/S9n[        S[        R
                  S	-   5       HV  n[        R                  " [        R                  " XS
95      n[        UR                  UR                  5        [        X15        MX     g )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  s       r   test_pickling_wstructured)TestMaskedArray.test_pickling_wstructured  sw    7G$FF+;sc5\241f559:EV\\!%DEI!''2& ;r   c                     [        S5      nSUl        UR                  n[        S[        R
                  S-   5       H6  n[        R                  " [        R                  " X#S95      n[        XB5        M8     g )Nr   )r   r   r   r   r  )	r"   ro   rQ  r  r  r  r  r  r   )r   r   r   r  r   s        r   test_pickling_keepalignment+TestMaskedArray.test_pickling_keepalignment  sV    2JCC1f559:E<<Q ?@D! ;r   c                     [        / SQ5      n[        / SQ/ SQS9n[        US   R                  S5        [        US   R                  S5        [        US   R                  S5        g )Nr   r   r   r   r   r   )r)   r   ro   r   s      r   test_single_element_subscript-TestMaskedArray.test_single_element_subscript  sN    ))),QqTZZ$QqTZZ$QqTZZ$r   c                 d  ^ [        S[        [        S5      5      5        [        S[        [        S5      5      5        [        S[        [        S///5      5      5        [        S[        [        S//5      5      5        [	        [
        [        [        SS/5      5        [        5        nUR                  [        S5        [        [        R                  " [        [        S/S/S95      5      5        [        / SQ/ SQS9m[	        [
        U4S j5        [        [        TS   5      S	5        [        [        R                  " [        TS
   5      5      5        S S S 5        [	        [
        [        T5        [        [        TS   5      S5        [	        [        U4S j5        g ! , (       d  f       NP= f)Nr   r   z$Warning: converting a masked elementr   r   r   c                     > [        T 5      $ r   )r   r   s   r   r   /TestMaskedArray.test_topython.<locals>.<lambda>  s	    U1Xr   r   r   r   r   c                      > [        T S   5      $ Nr   )r   r  s   r   r   r    s    c!A$ir   )r   r   r)   r   r   rD  r   filterr  r   r   isnanr   r   supr   s     @r   test_topython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 ! s   )B.F!!
F/c           	         [        S5      nUR                  SS5      nSUR                  S'   [        US   S:H  5        USU-  -   n[	        UR
                  U5        [	        UR                  SU-  5        [	        U[        U5      -  R
                  SU-  U-  5        S	UR                  S
'   [        S5      n[        US'   [        [        US   5      [        [        5      :H  5        US:  n[        [        [        U[        [        5      5      S:H  5        [        [        [        U[        [        5      5      UR                  :H  5        [        X15      n[        UR                  UR                  L 5        [        US   [        L 5        [        US   [        L5        [        US   [        L5        [        US   [        L 5        [        US   [        L 5        [	        X5        g )Nr  r   r      r   r   y              $@r   e   r   .r   r:  r   r  ry  )r"   rm   flatr   r   realimagr-   rL   r   r0   r{   ro   rX   r   )r   r   r   cs       r   test_oddfeatures_1"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                 @   [        / SQ5      n[        / SQ5      n[        US'   [        X!U* 5      n[        U/ SQ5        [        US'   [        X!U* 5      n[        U/ SQ5        [	        US   [        L 5        [	        US   [        L5        [	        US   [        L 5        g )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r)   rL   r{   r   r   r   r   r!  r   s       r   test_oddfeatures_2"TestMaskedArray.test_oddfeatures_2  s    &'/"!!OQ-.!!OQ-.!!F"#!r   c                 p    [        S/SS9n[        S/5      nUR                  nX#   X'   [        US/5        g )Nr   Tr   r  )r)   r   r   )r   atestbtestidxs       r   test_oddfeatures_3"TestMaskedArray.test_oddfeatures_3  s;     rd&rdjjZ
URD!r   c                 |    [         R                  R                  SSS9n[        UR	                  S5      S   S5        g )Nr   Or   r   r   )r   r  r  r   r:   r  s     r   test_filled_with_object_dtype-TestMaskedArray.test_filled_with_object_dtype  s2    EEQc*QXXc]1%s+r   c           
      z   [        S/S[        4SS[        4/S9n[        US'   [	        UR                  5       [        R                   " [        S5      [        S5      [        S5      4/UR                  S95        [        US'   [	        UR                  S	5      [        R                   " S
/UR                  S95        g )Nr   r   r   ir   |S8fr   r   r   r   r   )r   1r   )	r)   r   r   rL   r   r:   r   r1   r   )r   flexis     r   test_filled_with_flexible_dtype/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                 <   S[         4S[        4/n[        SS/US9nUR                  5       n[	        [        U5      S[        S5      45        UR                  S5      n[	        [        U5      S	5        S
Ul        [	        [        UR                  5       5      S5        g )Nr   r   r   r   r  r  r   r   r   r   )r   r   rD  )r   rD  )r   r   ra   r:   r   tupler1   rI  )r   ndtyper   r   s       r   test_filled_with_mvoid&TestMaskedArray.test_filled_with_mvoid  s    *sEl+'7xxzU4[1&8&<"=>xx!U4['*#U188:&	2r   c                    S[         4SS[         4S[         4/4/n[        SS/SS/US	9nUR                  S
5      n[        R                  " SS/US9n[	        X45        US   R                  S
5      n[        R                  " SS/US   R
                  S9n[	        X45        [        R                  R                  S[        R
                  " S/5      5      n[	        UR                  R
                  [        R
                  " SSS/S4/5      5        [	        UR                  R
                  [        R
                  " SSS/S4/5      5        g )Nr5  BBABBr   r  r   r  r   r  r   r  r  r   r   r  )r   r   r   r   r  rR  r   )r5  z(2,2)i1,(2,2)i1r  )r6  i1r  )r7  rS  r  r  )r6  ?r  )r7  rT  r  )r   r)   r:   r   r   r   numpyr  r|   r   r   )r   rF  r   r   controlZs         r   test_filled_with_nested_dtype-TestMaskedArray.test_filled_with_nested_dtype  s9   *sdC[4+$>?@;,#[1Axx{((K5VDT#v}}Q((FF+1S6<<@T# HHNN1ekk+J*KLMQVV\\5;;7K*>7@AG1I 0J $K 	LQVV\\5;;7J*=7?@F1H 0I $J 	Kr   c                     [        [        R                   " SS/SS9[        R                   " SS/SS9SS9n[        UR                  S   5        [        UR	                  S	5      R                  S   5        g )
Nr  r  Fr[  rc  r   )r   r\  F_CONTIGUOUSr   )r)   r   r   rR  r:   r  s     r   test_filled_with_f_order(TestMaskedArray.test_filled_with_f_order-  sb    "((Iy1=xxI 6cB 	'(!!.12r   c                     [        / SQ[        S9nSUR                  S'   UR                  5       n[	        UR                  S   S5        SUR                  S'   [	        UR                  S   S5        g )Nr   r   ???infoz!!!)r)   r   _optinfor  r   r   r   r   s      r   test_optinfo_propagation(TestMaskedArray.test_optinfo_propagation5  s[    +U+"

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

6QZZ'/r   c                 ~   [        / SQ5      nSUR                  S'   [        UR                  S   US:H  R                  S   5        [        UR                  S   US:g  R                  S   5        [        UR                  S   US:  R                  S   5        [        UR                  S   US:  R                  S   5        [        UR                  S   US:*  R                  S   5        [        UR                  S   US-   R                  S   5        [        UR                  S   US-
  R                  S   5        [        UR                  S   US-  R                  S   5        [        UR                  S   US-  R                  S   5        [        UR                  S   US S R                  S   5        [        UR                  S   U/ SQ   R                  S   5        [        UR                  S   [        R                  " U5      R                  S   5        [        UR                  S   [        R
                  " U5      R                  S   5        [        UR                  S   [        USS9R                  S   5        [        UR                  S   [        R                  " U5      R                  S   5        g )N)r   r   r   r   r  keyr   )r   r   r   Tr  )r)   rb  r   r   r8   r   r}   r  s     r    test_optinfo_forward_propagation0TestMaskedArray.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&"1u(=>QZZ&'
(;(;E(BCQZZ&q	(:(:5(ABQZZ&q	(:(:5(ABQZZ&ad(;(D(DU(KLQZZ&a(8(A(A%(HIr   c                    [         R                  " S[        4SS[        4S[        4/4/5      n[	        SS/SS/US	9nS
n[        [        U5      U5        [        S/ SQ/ SQ/S4S/ SQ/ SQ/S4SS9nSn[        [        U5      U5        g )Nr   r   tr   )r   )r   r   )r   )r         @rQ  rO  r  z[(--, (2, --)) (4, (--, 6.0))]r   )r   r   r   r   F)TFTFFTint, (2,3)float, floatr   r   r   z)(0, [[--, 0.0, --], [0.0, 0.0, --]], 0.0))r   r   r   r   r)   r   r   rM   )r   
fancydtyper   rV  t_2d0s        r   test_fancy_printoptions'TestMaskedArray.test_fancy_printoptionsQ  s    XXSzC3*sEl1K+LMN
m]3&4%' 3SY( Q(7)9$'%) &+-@-A-C%*%, &>? >SZ)r   c                 0   S[         4S[        4/n[        R                  " SS/US9n[	        U5      n[        R                  " SS/SS//[        S9n[        X45        [        UR                  UR                  5        [        SS/SS	/US
9n[	        U5      n[        SS/SS//SS/SS//[        S
9n[        X45        [        UR                  UR                  5        [        UR                  UR                  5        S[         4SS[         4S[        4/4/n[        SS/SS/US
9n[	        U5      n[        / SQ/ SQ// SQ/ SQ/[        S
9n[        X45        [        UR                  UR                  5        [        UR                  UR                  5        S[         4S[        4/n[        R                  " S/S//US9n[	        U5      n[        R                  " SS//SS///[        S9n[        X45        [        UR                  UR                  5        g )Nr   r   r  r  r   r   r   r  r  r  r   r   babb)r   )r   皙?)r   )r   皙@rO  rQ  )r   r   rw  )r   r   rx  rB  r   )r   r   r   r)   r<   r   r   r   )r   rF  r   r   rV  s        r   test_flatten_structured_array-TestMaskedArray.test_flatten_structured_arraye  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[         4S[         4/n[        R                  " S/US9S   n[        U5      n[	        [        U[        5      5        [        S/S/US9S   n[	        [        U[        5      5        [        SS/SS/US9n[        UR                  S   UR                  S   5      n[	        [        U[        5      5        g )	Nr   r   r   r   r   r   r  r  r  )	r   r   r)   ra   r   r  rM   r   r   )r   rF  r   r;  s       r   test_void0dTestMaskedArray.test_void0d  s    *sCj)HHgYf-a0!H
1e$%&?B
1e$%&&)0@O!''!*aggaj)
1e$%r   c           	         S[         4S[         4/n[        SS/SS/US9nUS   n[        [        U[        5      5        [        US   US   4S	5        [        US   S
5        US   n[        [        U[        5      5        [        US   [        L 5        [        US   [        L 5        [        US   S5        [        SS/4/SS/4/S/S9n[        US   S   US   S   5        [        US   S   [        SS/SS/SS95        g )Nr   r   r|  r   r  r  r  r   r  r   r   r   TF)r5  >i2r   ro  r5  r  )r   rM   r   r  ra   r   rL   )r   rF  r   r;  r5  s        r   test_mvoid_getitem"TestMaskedArray.test_mvoid_getitem  s!   *sCj)'6*&&1A%' aD
1e$%adAcF^V,QsVQaD
1e$%!#& !QqT1 1xj!%u/0 235 	QqT#Y#q	*QqT#Y1a&#Um5!: 	;r   c                     S[         4S[         4/n[        SS/SS/US9n[        [        US   5      S	S
/5        [        [        US	   5      [        S/5        g )Nr   r   r|  r   r  r  r  r   r   r   r   )r   rM   r   r   rL   )r   rF  r   s      r   test_mvoid_iterTestMaskedArray.test_mvoid_iter  s]    *sCj)'6*&&1A%' 	T!A$Z!Q(T!A$Z&!-r   c                    [        SS/S[        4S[        4/S9n[        [        US   5      S5        [        US   S'   [
        R                  n[
        R                  " S5         [        [        US   5      S	5        [        [        US   5      S	5        [
        R                  " U5        [        S
S/S/S9n[        [        US   5      S5        g ! [
        R                  " U5        f = f)Nr  r  r   r   r   r   z(1, 1)z-X-z(1, -X-)r   r  )r   r3  z(1,))	r)   r   r   r   rL   rV   _displayset_displayr  )r   mxini_displays      r   test_mvoid_print 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   &0C C*c                    [        / SQ4// SQ4// SQ4S/S9n[        [        US   5      S:H  5        [        [        US   5      S:H  5        [        SS	/S
S//4/SS/SS//4/S/S9n[        [        US   5      S:H  5        [        [        US   5      S:H  5        [        S/S/SS/S9n[        [        US   5      S:H  5        [        [        US   5      S:H  5        [        SS	/S
S//S4/SS/SS//S4/SS[        4/S9n[        [        US   5      S:H  5        [        [        US   5      S:H  5        [        S/S/SS/S9n[        [        US   5      S:H  5        [        [        US   5      S:H  5        g )Nr   r  )r  r  r  )r   <i4r   )r   r   rI  r   r   z([1, --, 3],)r   r   r   r   FT)r   r  r  ro  z([[1, --], [--, 4]],)r|  r  )r   r  )r   r  z(--, 2)r   z([[1, --], [--, 4]], 1.0)rM  )Tr  )r   i4,i4z(--, (--, 1)))rM   r   r   r  r   )r   t_mat_2dt_0dt_nes        r   test_mvoid_multidim_print)TestMaskedArray.test_mvoid_multidim_print  s    YL>%9$;#<*B)D%7$8: 	DG/0T!W01 q!fqe_$6#7',dmdE]%C$E#F%8$9; 	DG 778T!W!889E7$0>%1<$@B 	DG	)*T!W*+q!fqe_a$8#9',dmdE]%CU$K#L%83,$GI 	DG ;;<T!W!<<=+"7!8%1>$BD 	DG/0T!W01r   c                    [        S/S/S9n[        SS/5      n[        X/SS/[        S9n[        US   UL 5        [        US   UL5        [        [        R                  " US   R
                  UR
                  :H  5      5        [        [        R                  " US   R                  5      5        S	US   R
                  S'   [        US   S	:H  5        g )
Nr   Tr   r   Fr  r   r   r   )rM   ro  r   r   r   r   r   )r   mx1mx2r  s       r   test_object_with_array&TestMaskedArray.test_object_with_array  s    B4tf-B8$3*E4=G11S !r!uzzSXX-./r!uzz"#1

1A"r   c                     [        / SQ/ SQS9n[        SS9 n[        R                  " [        5         [
        R                  " X!5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r  r   z.npy)suffix)rM   r	   r  r,  NotImplementedErrorr   save)r   r   paths      r   2test_maskedarray_tofile_raises_notimplementederrorBTestMaskedArray.test_maskedarray_tofile_raises_notimplementederror  sQ    )*>? V$23! 4 %$33 %$s"   A,A
A,
A)	%A,,
A:r   N)Ar$  r%  r&  r'  r   r   r   r   r   r   r   r   r   r   r
  r  r  r2  r?  rE  rL  rW  r]  rg  rk  rs  r  r   suppress_copy_mask_on_assignmentr  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r"  r*  r0  r4  r>  rG  rX  r]  rd  rh  rr  ry  r}  r  r  r  r  r  r  r(  r   r   r   r   r   D   sW   8	$	3"$ (I@*)+/5,	)
%F(32**9)0'd$ &FC &FCP$4
1("/D
L+*.=,	>5'"%1(8  &" &",B3K(30J&*(!0F&;2.)""2H
"r   r   c            
          \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS r\R4                  R7                  SS5      \R4                  R7                  S/ SQ/ SQ/ SQ/5      \R4                  R7                  SSS/5      S  5       5       5       r\R4                  R7                  S!S"S#/5      S$ 5       rS% rS& rS' r S( r!S) r"S* r#S+ r$S, r%S- r&S. r'S/ r(S0 r)S1 r*S2 r+\R4                  R7                  S3S4S5/5      \R4                  R7                  S6SS7/5      S8 5       5       r,\R4                  R7                  S3S4S5/5      \R4                  R7                  S6SS7/5      S9 5       5       r-\R4                  R7                  S:\.\/S;9\R4                  R7                  S<\.\/S;9\R4                  R7                  S6SS=/5      S> 5       5       5       r0\R4                  R7                  S?\1Rd                  \1Rf                  /5      S@ 5       r4\R4                  R7                  S?\1Rd                  \1Rj                  /5      SA 5       r6\R4                  R7                  S:\.\/S;9\R4                  R7                  S<\.\/S;9\R4                  R7                  S6SS=/5      SB 5       5       5       r7\R4                  R7                  S:\.\/S;9\R4                  R7                  S<\.\/S;9\R4                  R7                  S6SS=/5      \R4                  R7                  S?\1Rp                  \1Rf                  \1Rr                  \1Rj                  /5      SC 5       5       5       5       r:\R4                  R7                  S?\1Rp                  \1Rf                  \1Rr                  \1Rj                  /5      \R4                  R7                  S6SSD/5      SE 5       5       r;SF r<SG r=SH r>SI r?SJr@g)KTestMaskedArrayArithmetici  c                    [         R                  " SSSS[        S-  SSSSSSS/5      n[         R                  " / S	Q5      nSn/ S
Qn/ SQn[        XS9n[        X%S9n[         R                  " / SQ5      n[        U/ SQS9n	[         R                  " USU5      n
UR                  S5        XX4XVXxX4
U l        [         R                  " 5       U l        [         R                  " SSS9  g )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r`  r3   rb  )
r   r)   r   rM   r{   r   r   geterr
err_statusseterrr   s              r   r   &TestMaskedArrayArithmetic.setup_method  s    HHb"b#r#vr2tS"b"MNHHJK11!%!%HH&'!,/XXb%#
% 7))+
		84r   c                 D    [         R                  " S0 U R                  D6  g Nr   r   r  r  r  s    r   teardown_method)TestMaskedArrayArithmetic.teardown_method      
		$DOO$r   c           
         U R                   u
  pp4pVpxp[        SS/SS//5      n[        USS/SS//5      n[        X-  X-  5        [        X-   X-   5        [        X-
  X-
  5        S GH  nUR	                  U5      nUR	                  U5      nUR	                  U5      nUR	                  U5      nU
R	                  U5      n
[        U* U* 5        [        X-   Xg-   5        [        X-
  Xg-
  5        [        X-  Xg-  5        [        X-  Xg-  5        [        X2-   X7-   5        [        X2-
  X7-
  5        [        X2-  X7-  5        [        X2-  X7-  5        [        X-   Xc-   5        [        X-
  Xc-
  5        [        X-  Xc-  5        [        X-  Xc-  5        [        US-  US-  5        [        [        U5      S-  [        U5      S-  5        [        X-  Xg-  5        [        [        R                  " X5      [        Xg5      5        [        [        R                  " X5      [        Xg5      5        [        [        R                  " X5      [        Xg5      5        [        [        R                  " X5      [        Xg5      5        GM     g )Nr   r   r   r   ))r  r   )r   r         @)r   r)   rM   r   rm   r   r   r   ru   r`   r3   )r   r   r   r   r   r   r   r   r   r   r   a2da2dmr   s                 r   test_basic_arithmetic/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[        S9nSUl        [        S[        S9nX-  n[        U/ SQ/ SQ/5        [        UR                  / SQ/ SQ/5        XS S S 24   -  n[        U/ SQ/ SQ/5        [        UR                  / SQ/ SQ/5        [        S[        S9nXS S 2S 4   -  n[        U/ S	Q/ S
Q/5        [        UR                  / SQ/ SQ/5        g )Nr   r   r   r   r   )r   r   r   )r   r   r  r   r   )r   r   r   )r   r   r   r7  r  )r"   r   ro   r   r   r   r   r   r   s       r   test_divide_on_different_shapes9TestMaskedArrayArithmetic.test_divide_on_different_shapes=  s    1E"1E"EQ78QVVi34$q&	MQ78QVVi341E"!T'
NQ,78QVVi34r   c                     [         R                  " S/5      n[        S/5      n[        [        X-   [        5      5        [        [        X!-   [        5      5        g Nr   )r   r)   r   r  r   )r   nar  s      r   test_mixed_arithmetic/TestMaskedArrayArithmetic.test_mixed_arithmeticO  s>    XXqc]A3Z
27K01
27K01r   c                     [         R                  " [        5      R                  n[	        USU-  S/5      n[        [        US-  5      / SQ5        [        [        SU-  5      / SQ5        g )Nr   r   r   r  r   )r   finfor   tinyr)   r   r?   )r   r  r   s      r   test_limits_arithmetic0TestMaskedArrayArithmetic.test_limits_arithmeticV  sP    xx##4dB'(\!a%()4\!a%()4r   c                 .   [        SSS9n[        S[        S5      -  R                  5        [        SU-   R                  5        [        U* R                  5        [        [        X5      R                  5        [        [	        X5      R                  5        g )Nr   r   r   )r)   r   r   rZ   r]   )r   r   s     r    test_masked_singleton_arithmetic:TestMaskedArrayArithmetic.test_masked_singleton_arithmetic\  sh     11U1X##$R"

$$%$$%r   c                     [        / SQ/ SQS9n[        US   S:H  [        L 5        [        US   S:g  [        L 5        [        US   S:H  S5        [        US   S:g  S5        g )Nr   r   r   r   r   r   r   FT)r)   r   rL   r   r  s     r   test_masked_singleton_equality8TestMaskedArrayArithmetic.test_masked_singleton_equalityf  s\    )),1v%&1v%&aeqj5)aeqj4(r   c                 \   [        SS/5      nU[        -  n[        UR                  UR                  5        [        UR                  SS/5        US   [        -  n[        U[        L 5        U[        -   n[        UR                  UR                  5        [        UR                  SS/5        g )Nr   r   Tr   )rM   rL   r   ro   r   r   rc  s      r   %test_arithmetic_with_masked_singleton?TestMaskedArrayArithmetic.test_arithmetic_with_masked_singletonn  s    !Q JQWWagg&QWWtTl+aD6MVJQWWagg&QWWtTl+r   c                     [        S/5      nU[        -   n[        UR                  UR                  5        [        UR                  S/5        g )Nr   T)rM   rL   r   ro   r   rc  s      r   5test_arithmetic_with_masked_singleton_on_1d_singletonOTestMaskedArrayArithmetic.test_arithmetic_with_masked_singleton_on_1d_singletonz  s9    !JQWWagg&QVVdX&r   c                    [        SSS9n[        UR                  5       R                  R                  UR                  R                  5        [        S5      S-  n[        UR
                  S5        [        UR                  SS/5        g )Nr   r   r  r   r  r   )r)   r   r:   r  r   ro   r   )r   r   r   s      r   test_scalar_arithmetic0TestMaskedArrayArithmetic.test_scalar_arithmetic  s`    !!QXXZ&&++QXX]];6]RRXXt$RWWq!f%r   c           
      :   U R                   u
  pp4pVpxp[        [        R                  " U5      [        U5      5        [        [        R                  " U5      [	        U5      5        [        [        R
                  " U5      [        U5      5        [        [        R                  " U5      [        U5      5        [        [        R                  " U5      [        U5      5        [        [        R                  " U5      [        U5      5        [        [        R                  " [        U5      5      [        U5      5        [        [        R                  " [        U5      5      [        U5      5        [        [        R                  " [        U5      5      [        U5      5        [        [        R                  " U5      [        U5      5        [        [        R                  " U5      [        U	5      5        [        [        R                  " U5      [        U	5      5        [        [        R                   " U5      [!        U	5      5        [        [        R"                  " X5      [#        Xg5      5        [        [        R$                  " U5      [%        U5      5        [        [        R&                  " USU-  -   5      ['        USU-  -   5      5        [        [        R&                  " USU-  -   SS9['        USU-  -   SS95        [        [        R(                  " X5      [)        Xg5      5        [        [        R*                  " X5      [+        Xg5      5        [        [        R,                  " X5      [-        Xg5      5        [        [        R.                  " X5      [/        Xg5      5        [        [        R0                  " X5      [1        Xg5      5        [        [        R2                  " X5      [3        Xg5      5        [        [        R4                  " U5      [5        U5      5        g )N              ?T)deg)r   r   r   r.   r/   rp   rq   rx   ry   rt   r   rG   rH   r8   r&   r#   r'   r%   r   r    r7   rc   rE   r@   rF   rA   r-   r   s              r   test_basic_ufuncs+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$h'rBrEz):;RXXa"Q$hD15be3NO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                     [         R                  " [         R                  R                  5      [         R                  R                  L d   eg r   )r   rt   r  rL   r  s    r   test_basic_ufuncs_masked2TestMaskedArrayArithmetic.test_basic_ufuncs_masked  s)    wwruu||$444r   c                 <   [        S[        S5      5        [        S[        SS/S95        [        / SQ/ SQS9n[        U5      n[        UR                  R
                  [        R                  L 5        [        SU5        UR                  S5      n[        U5      n[        UR                  R
                  [        R                  L 5        [        SU5        [        US5      n[        [        U[        5      5        [        SS/U5        [        [        U5      [        L 5        [        / SQ5      n[        US5      n[        [        U[        5      5        [        UR                  R
                  [        R                  L 5        [        [        UR                  SS	9  g )
Nr   r   r   )r   r   r   r   r  r   r  r   r  )r   r0   r)   r   r   r  r   intprm   r  r   r>   rb   r   r   )r   ottr0  s      r   test_count_func)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[        / SQ5      5        [        S[        S5      5        g )Nr   r   r   r|  )r   r0   r  s    r   test_count_on_python_builtins7TestMaskedArrayArithmetic.test_count_on_python_builtins  s    Qg'Qe%r   c           
         U R                   u
  pp4pVpxp[        R                  " U5      n[        U5      n[        [	        U5      [
        R                  " U5      5        [        [        U5      [        R                  " U5      5        [        [        / SQ/ SQ5      / SQ5        [        [        / SQ/ SQ5      / SQ5        [        S5      n[        S5      S-
  n[        US'   [        US'   [        [        X5      [        [        X5      X5      5        [        [        X5      [        [        X5      X5      5        [        [        R                  " U5      S:H  5        [        [
        R                  " U5      S	:H  5        [        S	5      R                  SS5      n[        US
'   [        [
        R                  " US S9S5        g )Nr   )r   r   ry  r   r   r   )r   r   ry  r   r   r   r   r   rB  r  )r   r   rk   r   rY   rZ   r   r\   r]   r"   rL   r{   rE   r@   r   rm   )r   r   r   r   r   r   r   r   r   r   r   xrxmrs                r   test_minmax_func*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                    [         R                  " S5      n[        X5      n[        [	        U[
        5      5        [        U[         R                  " X5      5        [        R                  " X5      n[        [	        U[
        5      5        [        U[         R                  R                  X5      5        [        X5      n[        [	        U[
        5      5        [        U[         R                  " X5      5        [        R                  " X5      n[        [	        U[
        5      5        [        U[         R                  R                  X5      5        g )Nr  )	r   rd   r]   r   r  r   r   rf   rZ   )r   r   aminimumamaximums       r   test_minimummaximum_func2TestMaskedArrayArithmetic.test_minimummaximum_func  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                 v    [        / SQ/ SQS9n[        R                  R                  U5      n[	        US5        g )Nr   r  r   r   )r)   r   rZ   r   r   r   s      r   test_minmax_reduce,TestMaskedArrayArithmetic.test_minmax_reduce  s-    )"78JJa Qr   c                 @   [         R                  R                  S5      R                  5       n[	        [         R                  R                  SSS5      US9nSUl        S H  n[        [         U5      n[        [        R                  R                  U5      n[         R                  " S[        S9n U" USUS	9n[         R                  " S[        S9nU" USUS	9n[        XvL 5        UR!                  S
5        U" USUS	9n[        XvL 5        M     g ! [         a     Ncf = f)Nr  r   r   r   r   r\   rY   r   r   r  outrD  )r   r   r   roundr)   uniformro   getattrrU  r  corer5   r   r   r   r   fill)r   r   r   funcnamenpfuncmafuncnoutresults           r   test_minmax_funcs_with_output7TestMaskedArrayArithmetic.test_minmax_funcs_with_output  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   1D
DDc           
      2   U R                   u
          p      nUR                  4Ul        [        UR	                  5       S5        [        US   R	                  5       [        L 5        [        US   R	                  S5      [        L 5        [        US   R	                  S5      [        L 5        [        UR                  5       S5        [        US   R                  5       [        L 5        [        US   R                  S5      [        L 5        [        US   R                  S5      [        L 5        [        UR                  5       S5        [        US   R                  5       [        L 5        [        US   R                  S5      [        L 5        [        US   R                  S5      [        L 5        [        / SQSS9n[        UR                  5       [        L 5        [        UR	                  5       [        L 5        [        UR                  5       [        L 5        g )	Nr   r   r   r         4@r   Tr   )
r   r   ro   r   rY   r   rL   r\   ptpr)   )r   _r   r   s       r   test_minmax_methods-TestMaskedArrayArithmetic.test_minmax_methods  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                 Z   [         R                  " SSSS[        S-  SSSSSSS/5      nSnSn/ S	Qn[        XS
9nUR	                  S5        [         R
                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  /nU HS  n[        [        XUS9R                  5       U" U5      5        [        [        XUS9R                  5       U" U5      5        MU     [        UR                  5       U5        [        UR                  5       U5        US S  HS  n[        [        XUS9R                  5       U" U5      5        [        [        XUS9R                  5       U" U5      5        MU     USS   GH  n[        / SQ/ SQUS9n[        UR                  5       U" S5      5        [        UR                  5       U" S5      5        [        [         R                  S-   [         R                  S-   [         R                  * S-
  // SQUS9n	[        U	R                  5       U" [         R                  * S-
  5      5        [        U	R                  5       U" [         R                  S-   5      5        [         R                  S[         R                   " [         R                  5      R                  -  -
  n
[        U
* S/SS/S
9R                  5       U
* :X  d   e[        U
S/SS/S
9R                  5       U
:X  a  GM   e   g )Nr   r   r   r   r   r   r   r   r   r   r   r  r   )@xD      ?y@xD       @xD      rB  r  r  y               @y              @r  r   r   )r   r)   r   rM   r   float16r  float64
longdouble	complex64
complex128clongdoubler   rY   r\   r  r  )r   r   r   an10r   r   float_dtypesfloat_dtyper   r   cmaxs              r   test_minmax_dtypes,TestMaskedArrayArithmetic.test_minmax_dtypes%  s   HHb"b#r#vr2tS"b"MN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9	 +-B;w#78;w#78rvvby"&&)bffWRZ@y$/1B;wrz#:;;rvvby#9:66B"**!5!9!999D$
!Q8<<>4%GGGq	A7;;=EEE -r   r   bBiIqQr   )FFFTT)FFFTF)FFFFTr  Nr   c                    [         R                  " U5      n[         R                  " SSSUR                  UR                  //S-  5      R                  U5      n[         R                  " U/S-  5      n[        XRS9n[        UR                  U5      XR)    R                  U5      5        [        UR	                  U5      XR)    R	                  U5      5        g )Nr   r   r   r   )	r   iinfor)   r\   rY   r   r*   rM   r   )r   r   r   r  r!  r   masked_as          r   test_minmax_ints*TestMaskedArrayArithmetic.test_minmax_intsO  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 n[         R                  " / SQUS9n[         R                  " / SQUS9n[         R                  " / SQUS9nX4U/n/ SQnU H  nU" X5        M     g )Nc                 *   [        XS9nU [        R                  " U[        S9)    R	                  5       nU [        R                  " U[        S9)    R                  5       n[        UR	                  5       U5        [        UR                  5       U5        g )Nr   r   )rM   r   r)   r-  r\   rY   r   )arrr   
masked_arrexpected_minexpected_maxs        r   minmax_with_maskKTestMaskedArrayArithmetic.test_minmax_time_dtypes.<locals>.minmax_with_maskb  sp    %c5JT ::;??ALT ::;??ALz~~/>z~~/>r   )
r   r   r   r   r   r   r   r   l r   )
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,  r  r  r  x_testrU  r   s	            r   test_minmax_time_dtypes1TestMaskedArrayArithmetic.test_minmax_time_dtypes`  s\    	? XX?yQXX<INXX@	R"*AQ" r   c           
      |   U R                   u
  pp4pVpxp[        [        R                  R	                  U5      [        R                  " U5      5        [        [        R                  R                  U5      [        R
                  " U5      5        [        S[        [        S5      SS95        [        S[        [        S5      SS95        [        [        R                  " USS9[        USS95        [        [        R                  " [        US5      SS9[        USS95        [        [        R                  " US5      [        US5      5        [        [        R                  " USS9[        USS95        [        [        R                  " US5      [        US5      5        [        [        R                  " [        US5      SS9[        USS95        SnU=Ul        =Ul        =Ul        Ul        [        U5      S:  a  [        [        R                  " X4S5      [        Xg4S5      5        [        [        R                  R	                  US5      [        R                  " US5      5        [        [        R                  " US5      [        US5      5        [        [        R                  " US5      [        US5      5        g g )Nr   r   r  r   r   )r   r   r   r   r   
accumulaterv   r)   r:   prodrh   ro   r   r,   r   s               r   test_addsumprod)TestMaskedArrayArithmetic.test_addsumprodt  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                 
   [        S/S/S//S/S/S//S9n[        SS/SS/S	S
//5      nX-  n[        SS/SS/SS//SS/SS/SS//S9n[        X45        [        UR                  UR                  5        [        UR                  UR                  5        X!-  n[        SS/SS/S	S
//SS/SS/SS//S9n[        X45        [        UR                  UR                  5        [        UR                  UR                  5        [        S/S/S//5      n[        SS/SS/S	S
//SS/SS/SS//S9nX-  n[        SS/SS/SS//SS/SS/SS//S9n[        X45        [        UR                  UR                  5        [        UR                  UR                  5        X!-  n[        SS/SS/SS//SS/SS/SS//S9n[        X45        [        UR                  UR                  5        [        UR                  UR                  5        g )Nr   r   r   FTr   r   r   rl        @r   r   r   r   r:  r      r  r)   r   r   r   r   r   r   r   rV  s        r   test_binops_d2D)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                 
   [        S/S/S//S/S/S//S9n[        SS/SS/S	S
//5      nX-  n[        SS/SS/SS//SS/SS/SS//S9n[        X45        [        UR                  UR                  5        [        UR                  UR                  5        X!-  n[        SS/SS/S	S
//SS/SS/SS//S9n[        X45        [        UR                  UR                  5        [        UR                  UR                  5        [        S/S/S//5      n[        SS/SS/S	S
//SS/SS/SS//S9nX-  n[        SS/SS/SS//SS/SS/SS//S9n[        X45        [        UR                  UR                  5        [        UR                  UR                  5        X!-  n[        SS/SS/SS//SS/SS/SS//S9n[        X45        [        UR                  UR                  5        [        UR                  UR                  5        g )Nr   r   r   FTr   r   r   rl  r9  r   gUUUUUU?r   r   g?r   r  r  r;  r<  s        r   test_domained_binops_d2D2TestMaskedArrayArithmetic.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                 
   [        / SQ/ SQSS9nUS-   n[        UR                  / SQ5        US-  n[        UR                  / SQ5        US-  n[        UR                  / SQ5        US-  n[        UR                  / SQ5        g )Nr   r   r   r  Fr   shrinkr   r  r   rM   r   r   r   s      r   test_noshrinking*TestMaskedArrayArithmetic.test_noshrinking  sr     ,A %'EQVVY'	QQVVY'FQVVY'	RQVVY'r   c                     [         R                  R                  S/5      n[        [         R                  " US5      R
                  R                  S5        g )Nr   r   r   )r   r  r)   r   true_divider   ro   r   rU  s     r   test_ufunc_nomask+TestMaskedArrayArithmetic.test_ufunc_nomask  s7    EEKKR^^Aq)..44b9r   c                 v    [         R                  R                  / SQSSS9n[        UR                  / SQ5        g )N)r   r  @      ?FrE  r  )r   r  rW   r   r   r  s     r   test_noshink_on_creation2TestMaskedArrayArithmetic.test_noshink_on_creation  s+    EEEBQVVY'r   c           
         U R                   u
  pp4pVpxp[        [        X5      [        Xg5      5        [        Xv5      n[        U[        R                  " Xv5      5        [        UR                  [        UR                  UR                  5      5        [        Xg5      n[        U[        R                  " Xg5      5        [        UR                  [        [        UR                  UR                  5      US:H  5      5        g r  )r   r   r_   r   r   rK   )r   r   r   r   r   r   r   r   r   r   r   r   s               r   test_mod"TestMaskedArrayArithmetic.test_mod  s    15.srSYB,2{T266">*TYY 9:2{T266">*TYY(AB!G MNr   c           	         [        S5      n[        R                   " S5      n[        USS& UR                  SSS5      nUR                  SSS5      n[	        [        R
                  " US5      [        US5      5        [	        [        R                  " USS5      [        USS5      5        [	        [        R                  " [        US	5      [        US	5      5      [        X5      5        [	        [        R                  " [        US	5      [        US	5      5      [        X5      5        [        / S
Q[        5      n[        US'   [        U/ SQ5      n[        US	   S:H  5        [        US   S:H  5        [        US   S:H  5        g )Nr   r   r   r   r   r   r   r   r   r   r   )abcr   defr   r   )r   r   r   rY  )r"   r   rL   rm   r   rz   rw   rC   r:   rf   r)   ro  r   )r   r   r   rk  s       r   test_TakeTransposeInnerOuter6TestMaskedArrayArithmetic.test_TakeTransposeInnerOuter  s%   2JIIbM!A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S/SS/S9n[        UR                  SS/5        [        UR                  R                  5       SS/5        [        UR                  R                  UR
                  R                  R                  5        [        UR                  SS	/5        [        UR                  R                  5       SS	/5        [        UR                  R                  UR
                  R                  R                  5        g )
Ny      ?      $@y      4@       @r   r   r   r   r   r   r  )r)   r   r   r:   r   r   r  )r   r   s     r   test_imag_real(TestMaskedArrayArithmetic.test_imag_real  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           	         [        [        R                  R                  SSS5      5      R	                  SS5      n[
        =US S 2S4'   =US'   US'   SnU H  n[        [        U5      n[        X5      n[        R                  " S[        S9nUR                  S	5        U" USUS
9n[        XvL 5        [        Xu" SUS
95        [        S[        S9nU" SUS
9n[        XvL 5        [        US   [
        L 5        M     g )Nr   r   r  r   r   rB  )rv   r5  varstdrY   r\   r
  meanr   rH  r  r)   r   r   r  rm   rL   r  r5   r   r   r   r   r   )r   r   funclistr  r  xmmethoutputr  s           r   test_methods_with_output2TestMaskedArrayArithmetic.test_methods_with_output  s    299$$QB/088A>(..1a4.2a52f:N HR*FR*FXXau-FKKBQF3FF$%QF!;<1C(F/FF$%F1I'( !r   c                    S[         4S[         4/n[        SS/SS/US9nX":H  n[        UR                  SS/5        [        UR                  S	S	/5        [        UR                  S:H  5        X"S
   :H  n[        UR                  SS	/5        [        UR                  S	S	/5        [        UR                  S:H  5        [        SS/SS/US9nX$:H  n[        UR                  S	S/5        [        UR                  SS	/5        [        UR                  S:H  5        US
   U:H  n[        UR                  S	S	/5        [        UR                  SS	/5        [        UR                  S:H  5        [        SS/SS/US9nX$:H  n[        UR                  SS/5        [        UR                  S	S	/5        [        UR                  S:H  5        S[         4SS[         4S[         4/4/n[        SS/SS//SS/SS//US9nUS   U:H  n[        UR                  SS	/S	S	//5        [        UR                  S	S	/S	S//5        [        UR                  S:H  5        g )Nr5  rJ  r  r  r  r  r  TFr   r  rK  rL  rM  rN  r   r   r   r   r   r   rO  rP  r   r  r   r)   r   r   r   r   rI  r   rF  r   r   r   s        r   test_eq_on_structured/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[         4S[         4/n[        SS/SS/US9nX":g  n[        UR                  SS/5        [        UR                  SS/5        [        UR                  S	:H  5        X"S
   :g  n[        UR                  SS	/5        [        UR                  SS/5        [        UR                  S	:H  5        [        SS/SS/US9nX$:g  n[        UR                  S	S/5        [        UR                  S	S/5        [        UR                  S	:H  5        US
   U:g  n[        UR                  S	S	/5        [        UR                  S	S/5        [        UR                  S	:H  5        [        SS/SS/US9nX$:g  n[        UR                  SS/5        [        UR                  SS/5        [        UR                  S	:H  5        S[         4SS[         4S[         4/4/n[        SS/SS//SS/SS//US9nUS   U:g  n[        UR                  SS	/S	S	//5        [        UR                  SS/SS	//5        [        UR                  S	:H  5        g )Nr5  rJ  r  r  r  r  r  FTr   r  rK  rL  rM  rN  rk  rm  rO  rP  ro  rp  rq  s        r   test_ne_on_structured/TestMaskedArrayArithmetic.test_ne_on_structuredW  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Q/ SQSS9nXR                  :H  nUR                  U:g  n[        [        R                  " U5      5        [        [        R
                  " U5      (       + 5        UR                  [        R                  " SUR                  R                  5      :H  n[        UR                  U5        [        UR                  U5        [        UR                  / SQ5        [        UR                  UR                  ) 5        g )N)r  r  r   )r  r  r  r  r  r   TTF)r)   r   r   r   r   r   r   rd   r   r   r   )r   r   eqneexpected_masks        r   %test_eq_ne_structured_with_non_masked?TestMaskedArrayArithmetic.test_eq_ne_structured_with_non_masked  s    */w@&&[VVq[r
BFF2J"''"affll";;277M2277M2 	RWW12277RWWH-r   c           
      >   [         R                  " S5      n[        SSUS9[        SSUS9[        SSUS9[        SSUS94 GH  nUR                  [        5      nUR                  S5      n[         R
                  " SUS	9[        SUS	9[        SSUS9[        S
SUS94 GHl  nUR                  [        5      nUR                  S5      nXG:H  R                  5       n[        X%:H  U5        [        XR:H  U5        [        X5:H  U5        [        X&:H  U5        [        X6:H  U5        UR                   V	s/ s H  oU	   XY   :H  PM     n
n	[        [        U
[        S	9R                  5       U5        XG:g  R                  5       n[        X%:g  U5        [        XR:g  U5        [        X5:g  U5        [        X&:g  U5        [        X6:g  U5        UR                   V	s/ s H  oU	   XY   :g  PM     n
n	[        [        U
[        S	9R                  5       U5        GMo     GM     g s  sn	f s  sn	f )Nr  r|  r  r  r  r  r  2i4r   r   r   )r   r   ra   r  r   r)   r   r   r;  r-  r   )r   rr  r   ma1r1r   ma2r2eq_expectednameel_by_elne_expecteds               r   test_eq_ne_structured_extra5TestMaskedArrayArithmetic.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   .HHrr  SUr   r5  c                 P   [        SS/USS/US9nX3:H  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        X3S   :H  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        [        SS/USS/US9nX5:H  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        US   U:H  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        XSS   :H  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        g )Nr   r   r   r   r   r   rI  TFr)   r   r   r   r   rI  r   rr  r   r   r   r   s         r   test_eq_for_strings-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                 P   [        SS/USS/US9nX3:g  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        X3S   :g  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        [        SS/USS/US9nX5:g  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        US   U:g  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        XSS   :g  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        g )Nr   r   r   r   r  FTr  r  s         r   test_ne_for_strings-TestMaskedArrayArithmetic.test_ne_for_strings  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idsdt2r   c                 P   [        SS/USS/US9nXD:H  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        XDS   :H  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        [        SS/USS/US9nXF:H  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        US   U:H  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        XdS   :H  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        g )Nr   r   r  TFr  r   r  r  r   r   r   r   s          r   test_eq_for_numeric-TestMaskedArrayArithmetic.test_eq_for_numeric  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                 `   [        SS/SS/S9n[        R                  " S5      R                  SS5      nU" X#5      n[	        UR
                  R                  UR                  :H  5        [        UR
                  [        R                  " UR                  [        5      UR
                  -  5        g )Nr   r   r   r   r   r   )
r)   r   r"   rm   r   r   ro   r   r|   r-  )r   r  r   r   r  s        r   test_eq_broadcast_with_unmasked9TestMaskedArrayArithmetic.test_eq_broadcast_with_unmasked  sz    1a&1v&IIbM!!!Q'A!!QWW,-V[["((177D"9AFF"BCr   c                     [        / SQ/ SQ/ SQ/5      nU" US5      n[        UR                  R                  (       + 5        [        UR                  [        L 5        g )Nr   r  r  r:  ry  r   )r)   r   r   ro   rb   )r   r  r   r  s       r   test_comp_no_mask_not_broadcast9TestMaskedArrayArithmetic.test_comp_no_mask_not_broadcast  sF     9i34AqFKK%%%&v%&r   c                 P   [        SS/USS/US9nXD:g  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        XDS   :g  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        [        SS/USS/US9nXF:g  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        US   U:g  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        XdS   :g  n[        UR                  SS/5        [        UR                  SS/5        [	        UR
                  S:H  5        g Nr   r   r  FTr  r  s          r   test_ne_for_numeric-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S/USS/US9nU" XU5      n[        UR                  U" UR                  UR                  5      5        [        UR                  SS/5        [        UR                  S:H  5        U" XUS   5      n[        UR                  U" UR                  UR                  S   5      5        [        UR                  SS/5        [        UR                  S:H  5        [        SS/USS/US9nU" XW5      n[        UR                  U" UR                  UR                  5      5        [        UR                  SS/5        [        UR                  S:H  5        U" US   U5      n[        UR                  U" UR                  S   UR                  5      5        [        UR                  SS/5        [        UR                  S:H  5        U" XuS   5      n[        UR                  U" UR                  UR                  S   5      5        [        UR                  SS/5        [        UR                  S:H  5        g r  )r)   r   r   r   r   r   rI  )r   r  r  r  r   r   r   r   s           r   test_comparisons_for_numeric6TestMaskedArrayArithmetic.test_comparisons_for_numericH  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Q/ SQUS9n[        / SQ/ SQUS9n[        U" X45      R                  U" UR                  UR                  5      5        g )N)r   r   cderB  )r   rI  )r  r   r   )rM   r   r   )r   r  r   r  r  s        r   test_comparisons_strings2TestMaskedArrayArithmetic.test_comparisons_stringsk  sE     ,9N,9NR\''CIIsyy)ABr   c           	      @   [        5        nUR                  [        S5        [        S S/SS/S9n[	        US :H  [        SS/SS/S95        [	        UR
                  S :H  SS/5        [	        US :g  [        SS/SS/S95        [        S S/SS9n[	        US :H  SS/5        [	        US :g  SS/5        [        S S/SS9n[	        US :H  [        SS/SS95        [	        US :g  [        SS/SS95        [        n[	        US :H  [        5        S S S 5        g ! , (       d  f       g = f)NzComparison to `None`r   r   r   TFr   )r   r  r  r)   r   r   rL   r  s      r   test_eq_with_None+TestMaskedArrayArithmetic.test_eq_with_Nonev  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   C;D
Dc                 >   [        S5      n[        US:H  S5        [        US:H  S5        [        US:g  S5        [        US:g  S5        [        SSS9n[        US:H  [        5        [        US:H  [        5        [        US:g  [        5        [        US:g  [        5        g )Nr   Tr   Fr   )r)   r   rL   r   s      r   test_eq_with_scalar-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S/SS/S9n[        SS/SS//5      [        R                   " SS/SS//5      4 H?  nX:H  n[        UR                  SS/SS//5        [        UR                  SS/SS//5        MA     g )Nr   r   r   r   FT)r)   r   r   r   r   )r   r   r   r   s       r   test_eq_different_dimensions6TestMaskedArrayArithmetic.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Q/ SQS9n[        [        R                  [        R                  S[        R                  " S5      S// SQS9n[        U5      n[	        X25        [	        UR
                  UR
                  5        [	        UR
                  / SQ5        [        R                  " U5      n[	        X25        [	        UR
                  UR
                  5        [	        UR
                  / SQ5        g )Nr   r   r   r   r   r  r   r   r   r   r   r   r   r   r   )rM   r   re  rG   r   r   )r   r   rV  r   s       r   test_numpyarithmetic.TestMaskedArrayArithmetic.test_numpyarithmetic  s    )@266!9bA$35 1vT#TYY-QVV_-vvayT#TYY-QVV_-r   r   r  )Ar$  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#  r1  r6  r=  r@  rG  rL  rR  rU  r[  r^  rh  rr  ru  r|  r  r  r  num_dtsnum_idsr  operatorry  ltr  gtr  r  leger  r  r  r  r  r  r(  r   r   r   r  r    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                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestMaskedArrayAttributesi  c                 R   [        / SQ/ SQS9n[        U5      n[        UR                  UR                  5        [        U/ SQSS9n[        UR                  / SQ5        [        U/ SQSS9n[        UR                  / SQ5        [        U/ SQS9n[        UR                  / SQ5        g )	Nr   r   r   rB  F)r   	keep_maskTr  rF  r   r   r  s      r   test_keepmask'TestMaskedArrayAttributes.test_keepmask  s{    3!_RWWaff%!)u=RWWi(!)t<RWWi(!),RWWi(r   c                    [        S5      n/ SQn[        U5      n[        XSS9n[        XSSS9nSS/US	S
/'   SS/US	S
/'   [        UR                  / SQ5        [        UR                  / SQ5        [        UR
                  / SQ5        [        UR                  5        [        UR                  (       + 5        / SQUS	S
& / SQUS	S
& [        UR                  / SQ5        [        UR                  / SQ5        [        UR
                  [        5        [        US'   [        US'   [        UR
                  / SQ5        [        UR
                  / SQ5        S	US S & S	US S & [        UR                  / SQ5        [        UR                  / SQ5        [        UR
                  / SQ5        [        UR
                  [        5        UR                  5         [        S5      US S & [        UR                  / SQ5        [        UR
                  [        5        UR                  5         [        XDS:  '   [        UR                  / SQ5        [        UR                  / SQ5        SU[        US	:  S5      '   [        UR                  / SQ5        [        UR                  / SQ5        [        S	S/SS
//S	S/SS//SS9nSUS'   [        UR                  S	S/SS
//5        [        UR                  S	S/SS//5        SUS'   [        UR                  S	S/SS//5        [        UR                  S	S/SS//5        SU[        US:  S5      '   [        UR                  S	S/SS//5        [        UR                  S	S/SS//5        g )Nr   r   r   r   r   r   Tr   	hard_maskF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   rB  )r"   rI   r)   r   r   r   r   rJ  rb   rL   soften_maskharden_maskr   r:   )r   r   r  rU  xhxss         r   test_hardmask'TestMaskedArrayAttributes.test_hardmask  s   1IaL1-1D9"XAq6
"XAq6
RXX/0RXX01RWWo.BLL !1Q1Q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5      n/ SQn[        U5      n[        XSS9nSUSS& SUSS& [        UR                  / S	Q5        g )
Nr   r  Tr  r  r   r   r   )r  r   r   r   r   )r"   rI   r)   r   r   r   r   r  rU  r  s        r   test_hardmask_again-TestMaskedArrayAttributes.test_hardmask_again  sJ    1IaL1-1Q1QRXX01r   c                    [        / SQ/ SQS9nUR                  5       n[        X5        SUS'   [        X5        [        U[        / SQ/ SQS95        UR                  5       nSUS'   [        X5        [        U[        / SQ/ SQS95        g )Nr   r   r   r   r   r   r   r  )r)   r  r   r  r   s      r   test_hardmask_oncemore_yay4TestMaskedArrayAttributes.test_hardmask_oncemore_yay  sr     )),MMOQ!QQii89MMO!QQii89r   c                     [        S5      n[        US'   SUS'   [        UR                  [        5        [        S5      nSUl        [        US'   SUS'   [        UR                  [        S5      5        g )Nr   r   F)r"   rL   r   r   rb   
_smallmaskr|   r  s     r   test_smallmask(TestMaskedArrayAttributes.test_smallmask  s_    2J!!QWWf%2J!!QWWeBi(r   c                 h   [        / SQ/ SQS9nUR                  5       n[        X5        [        UR                  [        5        [
        R                  R                  S/S[        4S[        4/5      nUR                  5       nUR                  5         [        UR                  UR                  5        g )Nr   r  r   rA  r   r   )
r)   shrink_maskr   r   rb   r   r  r   r   r  r   s      r   test_shrink_mask*TestMaskedArrayAttributes.test_shrink_mask!  sz    )),MMOQQVVV$ EEKK
c3Z#u$>?FFH	QVVQVV$r   c                 p   [        / SQ/ SQ/S[        4S[        4S/S9n[        US   S'   [        US   S'   [        US	   S
'   [        US'   UR                  n[        US   US   5        [        US   US   5        [        US   US
   5        [        US S US   5        [        US   US   5        [        US   US   5        [        US   US   5        [        USS  US   5        [        US   US   5        SnSnU H2  n[        XQXC4   5        US-  nX1R                  S   :  d  M+  SnUS-  nM4     g )N))r   rw  one)r   rx  two)r   ffffff
@thr))r   皙@fou)r         @fiv)r   gffffff@sixr   r   r!  r:  r   r  r  r!  )r   r   rB  r   r  r   r   r   r   r  r   r|  r   )r)   r   r   rL   r  r   ro   )r   r   xflatr8  jr   s         r   	test_flat#TestMaskedArrayAttributes.test_flat.  sU    FFHsc5\<@B #t#t#t&	U1Xqw'U1Xqw'U1Xqw'U2AY!%U1Xqw'U1Xqw'U1Xqw'U12Y!%U2Y&	*BqtW%FAGGBKQ r   c                 ,  ^ [         R                  " SSS9m[         R                  R                  T5      n[         R                  " S5      Ul        [        U5        [        UR                  [         R                  " S5      5        U4S jn[        [        U5        TR                  S[         R                  R                  S9n[        UR                  [         R                  " S5      5        [         R                  " SSS9m[         R                  R                  T5      n[         R                  " S5      Ul        [        UR                  [         R                  " S5      5        [        UR                  [         R                  R                  5        g )Nr   zf4,i4r   f4c                  z   > [         R                  R                  T5      n [         R                  " S5      U l        g )Nf8)r   r  r)   r   )rU  r   s    r   assign;TestMaskedArrayAttributes.test_assign_dtype.<locals>.assignW  s#    AAhhtnAGr   )r   r  )r   r|   r  r)   r   r  r   r   r!  r  r   r   rb   )r   rU  r  r   r   s       @r   test_assign_dtype+TestMaskedArrayAttributes.test_assign_dtypeL  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    s+    )51n2:
)%<,r   r  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rSrg)TestFillingValuesig  c                    [         R                  R                  R                  nU" S[        5      n[        US5        U" S [        5      n[        U[        S5      5        U" SS5      n[        US5        U" S S5      n[        U[        S5      5        [        [        US[        5        [        [        US[        5        g )Nr   |S3   0s   camelot!r   stuff)	r   r  r  _check_fill_valuer   r   r1   r   rD  )r   r  fvals      r   test_check_on_scalar&TestFillingValues.test_check_on_scalari  s    EEJJ88 C(T1 s+T-a01 E*T4  u-T-k:;i!2E3?i!2GSAr   c           
      d   [         R                  R                  R                  nS[        4S[
        4S/nU" / SQU5      n[        [        U[        5      5        [        UR                  5       / SQ5        U" S U5      n[        [        U[        5      5        [        UR                  5       [        S5      [        S5      [        [        S5      5      /5        [         R                  " SUS	9nU" XB5      n[        [        U[        5      5        [        UR                  5       / SQ5        [         R                  " SS
[        4S[
        4S/S	9nU" XB5      n[        [        U[        5      5        [        UR                  5       / SQ5        [         R                  " S[        S9nSUS'   U" U[        5      n[        [        U[        5      5        [        UR                  5       / SQ5        S[        4/nU" SU5      n[        [        U[        5      5        [        UR                  5       S5        g )Nr   r   )r!  r  )rD  )gr`  )rD  r     ???r   r   r   r   r5  rJ  )rZ  r  r  ro   r   6e)r  )r   r  r  r  r   r   r   r  r   r   itemr1   r   r)   ro  )r   r  rF  r  fill_vals        r   test_check_on_fields&TestFillingValues.test_check_on_fieldsy  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Q5      nUR                  R                  SS05        [        U[        S9n[	        UR
                  / SQ5        [	        UR                  [        S5      5        [        U[        S9n[	        UR
                  / SQ5        [	        UR                  [        S5      5        UR                  [        5      n[	        UR
                  / SQ5        [	        UR                  [        S5      5        [	        UR                  S   S5        UR                  S/5      n[	        US	   R
                  UR
                  5        [	        US	   R                  UR                  5        g )
N)   3   4   5commentzupdated!r   )r   r   r   r   r   )r   r  r   )
r)   rb  updater   r   r   rI  r1   r   r   r   s      r   test_fillvalue_conversion+TestFillingValues.test_fillvalue_conversion  s    $%	

9Z01!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5      n[        [        R                  " S5      5      n[        [        R                  " S5      R                  5      n[	        X5        [	        X5        g )Nr   )r1   r   r)   r   r   )r   r7  f2f3s       r   test_default_fill_value)TestFillingValues.test_default_fill_value  sF    #- 2 23RRr   c                    [        S/S[        4SS[        4/S9n[        U5      n[        UR                  5      n[
        R                   " [        S5      [        S5      [        S5      4UR                  S9n[        X$5        [        X45        g )	Nr7  r8  r9  r;  r   r   r   r   )r)   r   r   r1   r   r   r   )r   fieldsr7  r!  expecteds        r   "test_default_fill_value_structured4TestFillingValues.test_default_fill_value_structured  s    	{!3ZU|DF  '-88/2/4/35<BLLJ 	R"R"r   c           	          [         R                  " S/5      n[        U5      n[        US   [         R                  " [        US   5      US   5      5        g )N)vV7r+  )r   r   r1   r   r)   )r   rr  r;  s      r   test_default_fill_value_void.TestFillingValues.test_default_fill_value_void  sC    XX{m$r"QsVRXX&8C&A2c7KLr   c                 4   [        / SQSS9nU/ SQ   n[        UR                  UR                  5        S[        4S/n[	        SS[
        S	4/US
9nSUl        [        UR                  R                  5       SS/5        [        US   R                  S5        [        US   R                  S5        SUl        [        UR                  R                  5       S5        [        US   R                  S5        [        US   R                  S5        [	        / SQ5      nSUl        [        [        R                  " UR                  5      R                  [        5        [        UR                  S5        [        UR                  [        R                  " S5      5        g )Nr   rD  rI  )r   r   r   r;  r   r  )r   r   )r   r   r   r   r       8@s   999r   )ry  r`  )ry  r  ry  r  )r   r   rO  )rM   r   _fill_valuer   r)   r   rI  r  r   r*   r   )r   r   seriesmtyper   s        r   test_fillvalue 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/S[        4SS[        4/S9n[        5        nUR	                  [
        S5        USS/   n[        [        UR                  5      S5        USS  US S	 :H    S S S 5        g ! , (       d  f       g = f)
Nr7  r8  r9  r;  r   zNumpy has detected)r  r   r   r   )	r)   r   r   r   r  r  r   rE  rI  )r   r&  r  	subfieldss       r   test_subarray_fillvalue)TestFillingValues.test_subarray_fillvalue  s~    	{!3ZU|DF CJJ}&:;Sz*Iy3346FGabMYs^+ !  s   AA66
Bc                    [         R                  R                  R                  nS[        4SS[
        4/n[         R                  " [        S5      [        S5      [        S5      4US9n[        U" S U5      U5        S[
        S	4/n[         R                  " [        S5      4S[
        4/S9R                  U5      n[        U" S U5      U5        [         R                  " S
S[
        4/S9R                  U5      n[        U" SU5      U5        [         R                  " S5      n[         R                  " [        S5      [        S5      [        S5      4SS9R                  U5      nU" S U5      n[        XC5        [         R                  " SSS9R                  U5      n[        U" SU5      U5        [        U5      n[        US   R                  R                  S5        g )Nr8  r9  r;  r   r   r   r   r6  r  r~  rn  zint, float, floatr  r7  )r   r  r  r  r   r   r)   r1   r   r   r   rM   rI  r   )r   r  rF  rV  r   Ms         r   test_fillvalue_exotic_dtype-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 H  n[         R                  " SU5      n[        [         R                  " SU-   S-   5      5      n[        R
                  R                  X25        [         R                  " SU5      n[        [         R                  " SU-   S-   5      5      n[        R
                  R                  X25        M     g )N)asfspsnsusmsr   rU  hDWr=  Yr/  z<M8[]z<m8[)rU  
datetime64r1   r   r   testingr   timedelta64)r   timecoderV  r   s       r   !test_fillvalue_datetime_timedelta3TestFillingValues.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S/S[        4SS[        4S[        4/4/S9nUR                  n[        UR                  UR                  5        [        US   [        US   5      5        [        US   S   [        US   S   5      5        [        US   S   [        US   S   5      5        [        U5      n[        UR                  UR                  5        [        US   [        US   5      5        [        US	   S   [        US   S   5      5        [        US	   S	   [        US   S   5      5        [        US	   [        US   5      5        [        U5      n[        UR                  UR                  5        [        US   [        US   5      5        [        US	   S   [        US   S   5      5        [        US	   S	   [        US   S   5      5        [        US	   [        US   5      5        g )
N)r   r  )r   r   r   r5  rJ  rK  rL  r   r   r   )r)   r   rI  r   r   r1   r^   r[   r   r   r   s      r   test_extremum_fill_value*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Q4S[        R                  S4/S9n[        U5      n[	        UR
                  UR
                  5        [	        US   [        R                  " S[        US   5      5      5        [        U5      n[	        UR
                  UR
                  5        [	        US   [        R                  " S[        US   5      5      5        g )Nr   r   r   r  r   r   r   )r)   r   r  r^   r   r   fullr[   rT  s      r   !test_extremum_fill_value_subdtype3TestFillingValues.test_extremum_fill_value_subdtypeB	  s    9,!'<&=>!!$TZZ)T!Wbgga);AgJ)GHI!!$TZZ)T!Wbgga);AgJ)GHIr   c           	         S[         4S[         4/n[        [        [        / SQ/ SQ5      5      SUS9nUS   nUR	                  S5        [        UR                  [        R                  " S5      5        [        [        UR                  5      S5        S	UR                  S'   [        [        UR                  5      S
5        [        [        [        / SQ/ SQ5      5      US9nUS   nUR	                  S5        [        UR                  [        R                  " S5      5        [        [        UR                  5      S[        S5      45        g )Nr   r   r   r  rC  rI  r   r   )r   rD  r   )r   r   r   r   )r   r)   r   r   r   r   r3  r   rE  rI  r1   )r   rF  r   aark  tts         r    test_fillvalue_individual_fields2TestFillingValues.test_fillvalue_individual_fieldsM	  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[         4nS[         4n[        SS/SS/[        R                  4[        R                  " U/5      S9n[        UR                  X!/S9nUS   US'   US   R                  US   R                  5        UR                  S   n[        [        R                  " US	   5      5        [        US
   [        S5      5        g )Nr   r   r   r   )F)r   rI  r   r   r   r   r   r   )r   r)   r   re  r   r5   ro   r   rI  r3  r   r  r   r1   )r   rF  adtyper   r   r;  s         r   (test_fillvalue_implicit_structured_array: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SS9n[        UR                  S5        [        SS[        S9n[        UR                  S5        [        SS[        S9n[        UR                  S5        [        SS[        S9n[        UR                  S5        g )Nr   r2  r0  r]  r   )r5   r   rI  rd   r   r|   complexrB   r  s     r   test_fillvalue_as_arguments-TestFillingValues.test_fillvalue_as_argumentsm	  sp    !%Q\\4(t51Q\\4(!'2Q\\2&Q2W5Q\\2&r   c                     [        SS9n[        UR                  S5        [        S[        S9n[        UR                  S5        [        S[        S9n[        UR                  S5        g )Nr   ro   r  )r5   r   ro   rd   r   r|   ri  r  s     r   test_shape_argument%TestFillingValues.test_shape_argument{	  sP     QWWe$uE*QWWe$W-QWWe$r   c                    [        / SQS[        R                  S9nUR                  5       n[	        UR
                  S:H  5        UR                  [        5      n[	        UR
                  S:H  5        UR                  [        S9n[	        UR
                  S:H  5        UR                  [        R                  5      nUR                  [        R                  S9nUR                  [        SS9n[	        UR
                  S:H  5        UR                  [        SS9n[	        UR
                  S:H  5        UR                  [        R                  S9n[	        UR
                  S	:H  5        g )
Nr   r   r]  )r  r   r0  )r  rI  r   r  )	r)   r   int64r  r   rI  r   r   int32rc  s      r   test_fillvalue_in_view(TestFillingValues.test_fillvalue_in_view	  s    ): FFH!" FF;!"
 FFF$!" FF2::FF

F# FF;1F-!" FFF2!" FFF"&'r   c                     [        SSS9n[        US   R                  [        S5      5        [        US   R                  [        S5      5        g )Nr   z(2,)3S,(2,)3Ur  r6  s   spamr7  eggs)r5   r   rI  r1   r  s     r   test_fillvalue_bytes_or_str-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-  r6  r:  r>  rP  rU  rZ  r`  rf  rj  rn  rs  rw  r(  r   r   r   r  r  g  sc    B -1^60
#M
40	,1>3:0	JG&4'
%((TEr   r  c                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)
TestUfuncsi	  c                     [        SSS[        S-  /S-  SS/S/S-  -   S9[        SSS[        S-  /S-  SS/S/S-  -   S94U l        [        R                  " 5       U l        [        R                  " SSS	9  g )
Nr   r   r   r   r   r   r   r`  r  )r)   r   r   r   r  r  r  r  s    r   r   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                 D    [         R                  " S0 U R                  D6  g r  r  r  s    r   r  TestUfuncs.teardown_method	  r  r   c                    S H  n [        [        U5      n[        [        R
                  R                  U5      nU R                  S UR                   nU" U6 nU" U6 n[        UR                  S5      UR                  S5      U5        [        UR                  UR                  US9  M     g ! [         a    [        [        U5      n Nf = f)N)*rt   rG   rH   r8   r-   rp   r.   rx   r&   r#   r'   rq   r/   ry   arcsinhr$   arctanhr   fabsnegativefloorceillogical_notr   ru   r`   r3   rJ  floor_divide	remainderfmodhypotr%   r7   rc   rF   rA   rE   r@   logical_and
logical_orlogical_xorr   )err_msg)r  umathAttributeErrorfromnumericrU  r  r  r   ninr   r:   r   r   )r   r;  ufmfargsurmrs          r   test_testUfuncRegression#TestUfuncs.test_testUfuncRegression	  s    A"-UA& *B66'266?DTBTB1ryy|Q7bggrww:5& " -[!,-s   B--C
	C
c                    U R                   S   n[        [        USS9(       + 5        [        [        USS95        [	        [        US S SS9S5        [	        [        USS9S5        [	        [        R                  " U5      [        5        g )Nr   r  r   )
r   r   r   rr   r   rv   rh   r   r   r   r  s     r   test_reduceTestUfuncs.test_reduce	  sj    FF1IGAA&&'#$S2AQ'+WQQ'+SZZ]B'r   c                    [        SS5      R                  SS5      n[        US:  U5      n[        UR	                  5       UR	                  5       5        [        UR                  5       S5        [        UR	                  S5      UR	                  S5      5        [        UR                  S5      / SQ5        [        UR	                  S5      S   R                  5        [        UR                  S5      S   R                  5        g )Nr      r   r   r   r   )r   r   r  r:  )r"   rm   rX   r   rY   r\   r   r   )r   r   amasks      r   test_minmaxTestUfuncs.test_minmax	  s    1bM!!!Q'QUA&UYY[!%%'*UYY[!$UYYq\1558,UYYq\<0		!Q$$%		!Q$$%r   c                 <   [        / SQ/ SQS9n[        R                  " U5      n[        SSS[        R                  " S5      S// SQS9n[        X#5        [        UR                  UR                  5        [        [        UR                  [        5      (       + 5        g )	Nr  r  r   r   r   r   r   r   r   r   r   r   )rM   r   rt   r   r   r   r  r   )r   r   r   rV  s       r   test_ndarray_maskTestUfuncs.test_ndarray_mask	  sn    )@wwqzAq"''!*b9$35T#TYY-Jtyy+667r   c                 n  ^ [        SS/SS/S9m[        [        [        R                  TS5        [        [        [        R
                  TS5         " U4S jS5      nU" 5       n[        UT-  S	:H  5        [        TU-  S
:H  5         " S S5      nU" 5       n[        TR                  U5      [        L 5        [        [        [        R                  " TU5      S:H  5      5        [        TR                  U5      [        L 5        [        UT-  S:H  5        [        TU-  S:H  5        [        TU-  S:H  5        g )Nr   r   r   r   r   rY  c                   B   > \ rS rSr Y R                  S-   rS rS rSrg)<TestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClassi	
  r   c                     g)NMy mulr   r   others     r   __mul__DTestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass.__mul__
      r   c                     g)NMy rmulr   r  s     r   __rmul__ETestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass.__rmul__
       r   r   N)r$  r%  r&  r'  __array_priority__r  r  r(  r  s   r   MyClassr  	
  s    !"!5!5!9 !r   r  r  r  c                   .    \ rS rSrSrS rS rS r\rSr	g)=TestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2i
  d   c                     g)NMe2mulr   r  s     r   r  ETestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2.__mul__
  r  r   c                     g)NMe2rmulr   r  s     r   r  FTestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2.__rmul__
  r  r   c                     g)NMe2rdivr   r  s     r   __rdiv__FTestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2.__rdiv__ 
  r  r   r   N)
r$  r%  r&  r'  r  r  r  r  __rtruediv__r(  r   r   r   MyClass2r  
  s    !$ !! $Lr   r  r  r  r  )rM   r   rD  r  multruedivr   r  NotImplementedr   r`   rf   __truediv__)r   r  mer  me_toor   s        @r    test_treatment_of_NotImplemented+TestUfuncs.test_treatment_of_NotImplemented
  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                    [         R                  R                  S[         R                  /SS/S9n[        R
                  " 5          [        R                  " S5        [        U5        [        US5        US:    [        U5        [        U5        [        U5        [        U5        [        U5        [        U5        [        US5        [!        US5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   errorr   )r   r  r)   re  warningscatch_warningsfilterwarningsr8   r   rt   rG   rx   r&   r#   r$   r3   r   rK  s     r   test_no_masked_nan_warnings&TestUfuncs.test_no_masked_nan_warnings-
  s     EEKKbffQqEK2$$&##G, F1IE GFF1I1IAJ 1aL Q) '&&s   BC
C*c                    [         R                  " SSS5      n[         R                  R                  U5      n[         R                  " SS9   US-  n[         R
                  R                  X1S-  5        S S S 5        g ! , (       d  f       g = f)Nr   r   皙?raise)underr   r   )r   r"   r  r)   rd  rM  r   )r   r   XX2s       r   test_masked_array_underflow&TestUfuncs.test_masked_array_underflowI
  s\    IIaC EEKKN[[w'3BJJ))"c2 (''s   (A==
Br  N)r$  r%  r&  r'  r   r  r  r  r  r  r  r  r  r(  r   r   r   rz  rz  	  s0    5%;<(	&8))V83r   rz  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"g!)" TestMaskedArrayInPlaceArithmeticiP
  c                    [        S5      n[        S5      n[        S5      n[        US'   XU4U l        UR                  [        5      UR                  [        5      UR                  [        5      4U l        [        R                  S   [        R                  S   -   U l        U R                   Vs/ s H#  n[        R                  " U5      R                  PM%     snU l        UR                  [        R                  5      UR                  [        R                  5      UR                  [        R                  5      4U l        g s  snf )Nr   r   
AllIntegerAllFloat)r"   rL   intdatar   r   	floatdatar   	typecodes
othertypesr   r  uint8	uint8data)r   r   r   r   r  s        r   r   -TestMaskedArrayInPlaceArithmetic.setup_methodS
  s    2J2JBZ1bz((5/188E?BIIe<LM,,|4r||J7OO59__E_288A;++_EHHRXXHHRXXIIbhh
 Fs   1*Ec                 Z   U R                   u  pn[        US'   US-  n[        XS-   5        US-  n[        X2S-   5        U R                  u  pnUR                  R
                  R                  nUS-  n[        XQR                  R
                  R                  :H  5        [        XS-   5        g )Nr   r   r   )r  rL   r   r  r   r  r   )r   r   r   r   r  id1s         r   test_inplace_addition_scalar=TestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalarb
  s    \\
r1	QQA
aRQ^^
rffmm  	Rvv}})))*QBr   c                    U R                   u  pnUR                  n[        S[        R                  S9n[
        US'   X-  nX5-  n[        XU-   5        [        X2U-   5        [        UR                  [        XER                  5      5        g Nr   r   r   )r  r   r"   r   int16rL   r   rK   r   r   r   r   rU  r   s         r   test_inplace_addition_array<TestMaskedArrayInPlaceArithmetic.test_inplace_addition_arrayq
  sn    \\
rGG2RXX&"	
QARQRWWga01r   c                 n    U R                   u  pnUS-  n[        XS-
  5        US-  n[        X2S-
  5        g r  )r  r   r   r   r   r   s       r   test_inplace_subtraction_scalar@TestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalar}
  s9    \\
r	QQA
aRQr   c                    U R                   u  pnUR                  n[        S[        S9n[        US'   X-  nX5-  n[        XU-
  5        [        X2U-
  5        [        UR                  [        XER                  5      5        g r  r  r   r"   r   rL   r   rK   r  s         r   test_inplace_subtraction_array?TestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_array
  j    ^^
rGG2U#"	
QARQRWWga01r   c                 n    U R                   u  pnUS-  n[        XS-  5        US-  n[        X2S-  5        g )Nr   r   )r  r   r  s       r   "test_inplace_multiplication_scalarCTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalar
  s9    ^^
r	SQA
c	RQr   c                    U R                   u  pnUR                  n[        S[        S9n[        US'   X-  nX5-  n[        XU-  5        [        X2U-  5        [        UR                  [        XER                  5      5        g r  r  r  s         r   !test_inplace_multiplication_arrayBTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_array
  r  r   c                     U R                   u  pn[        S5      S-  n[        S5      S-  n[        US'   US-  n[        X5        US-  n[        X25        g )Nr   r   )r  r"   rL   r   r  s       r    test_inplace_division_scalar_intATestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_int
  sT    \\
r2JNBZ!^1	aQ
qRr   c                     U R                   u  pnUS-  n[        XS-  5        U[        S5      -  n[        U[        S5      5        g )Nr   r   )r   )r  r   r"   rd   r  s       r   "test_inplace_division_scalar_floatCTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_float
  s@    ^^
r	SQC 
fRjRe%r   c           	         U R                   u  pnUR                  n[        S[        S9n[        US'   X-  nX5-  n[        XU-  5        [        X2U-  5        [        UR                  [        [        XER                  5      US:H  5      5        g )Nr   r   r   r   r  r  s         r   !test_inplace_division_array_floatBTestMaskedArrayInPlaceArithmetic.test_inplace_division_array_float
  su    ^^
rGG2U#"	
QARQRWWgga&816CDr   c                    SSSS[         S-  SSSSSSS/n/ S	Qn/ S
Qn/ SQn[        XS9n[        X$S9nXV-  n[        UR                  / SQ5        [        UR                  SSSS[         * S-  SSSSSSS/5        UR                  5       nXV-  n[        UR                  / SQ5        [        UR                  SSSS[         * S-  SSSSSSS/5        g )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   rM   r   r   r   r  )r   r   r   r   r   r   r   r   s           r   test_inplace_division_misc;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                 0   [        / SQ/ SQS9nUS-   n[        UR                  / SQ5        [        UR                  / SQ5        US-  n[        UR                  / SQ5        [        UR                  / SQ5        [        / SQ/ SQS9nU[        / SQ/ SQS9-   n[        UR                  / SQ5        [        UR                  / SQ5        [        / SQ/ SQS9nU[        / SQ/ SQS9-  n[        UR                  / SQ5        [        UR                  / SQ5        g )	Nr   rc  r   r   )r   r   r   r   r   r   r   r   r;  r   s      r   test_datafriendly_add6TestMaskedArrayInPlaceArithmetic.test_datafriendly_add
  s    )),URWWi(RWWi(	QQVVY'QVVY')),yy11RWWi(RWWi()),	U99--QVVY'QVVY'r   c                 L   [        / SQ/ SQS9nUS-
  n[        UR                  / SQ5        [        UR                  / SQ5        [        / SQ/ SQS9nUS-  n[        UR                  / SQ5        [        UR                  / SQ5        [        / SQ/ SQS9nU[        / SQ/ SQS9-
  n[        UR                  / SQ5        [        UR                  / SQ5        [        / SQ/ SQS9nU[        / SQ/ SQS9-  n[        UR                  / SQ5        [        UR                  / SQ5        g )	Nr   rc  r   r   )r   r   r   r   r  r   r;  r   s      r   test_datafriendly_sub6TestMaskedArrayInPlaceArithmetic.test_datafriendly_sub
  s     )),URWWi(RWWi()),	QQVVY'QVVY')),yy11RWWi(RWWi()),	U99--QVVY'QVVY'r   c                 L   [        / SQ/ SQS9nUS-  n[        UR                  / SQ5        [        UR                  / SQ5        [        / SQ/ SQS9nUS-  n[        UR                  / SQ5        [        UR                  / SQ5        [        / SQ/ SQS9nU[        / SQ/ SQS9-  n[        UR                  / SQ5        [        UR                  / S	Q5        [        / SQ/ SQS9nU[        / SQ/ SQS9-  n[        UR                  / SQ5        [        UR                  / S	Q5        g )
Nr   rc  r   r   r   r   r   r  r   )r   r  r   r   r;  r   s      r   test_datafriendly_mul6TestMaskedArrayInPlaceArithmetic.test_datafriendly_mul  s     )),URWWi(RWWi()),	QQVVY'QVVY')),|)44RWWj)RWWi()),	U<i00QVVZ(QVVY'r   c                 L   [        / SQ/ SQS9nUS-  n[        UR                  / SQ5        [        UR                  / SQ5        [        / SQ/ SQS9nUS-  n[        UR                  / SQ5        [        UR                  / SQ5        [        / SQ/ SQS9nU[        / SQ/ SQS9-  n[        UR                  / S	Q5        [        UR                  / S
Q5        [        / SQ/ SQS9nU[        / SQ/ SQS9-  n[        UR                  / S	Q5        [        UR                  / S
Q5        g )Nr   rc  r   r   )r   r   r   rC  )r   r	  g      >@r   )r   r  r   r   r;  r   s      r   test_datafriendly_div6TestMaskedArrayInPlaceArithmetic.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Q/ SQS9nUS-  n[        UR                  / SQ5        [        UR                  / SQ5        US-  n[        UR                  / SQ5        [        UR                  / SQ5        g )NrC  rc  r   r  )r   ;f@r   )r   r  r   r;  r   s      r   test_datafriendly_pow6TestMaskedArrayInPlaceArithmetic.test_datafriendly_pow3  s\     ,Y/#XRWW12RWWi(	c	QVV/0QVVY'r   c                 n   [        SS/SS//5      n[        SS/SS/S9nX-  n[        USS/SS//5        UR                  [        La  [        UR                  SS/SS//5        [        SS/SS//5      n[        SS/SS/S9nX-  n[        USS/SS//5        [        UR                  SS/SS//5        g )Nr   r   r   r   r   r   r)   r   r   rb   r   s      r   test_datafriendly_add_arrays=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                 n   [        SS/SS//5      n[        SS/SS/S9nX-  n[        USS/SS//5        UR                  [        La  [        UR                  SS/SS//5        [        SS/SS//5      n[        SS/SS/S9nX-  n[        USS/SS//5        [        UR                  SS/SS//5        g )Nr   r   r   r   r   r!  r   s      r   test_datafriendly_sub_arrays=TestMaskedArrayInPlaceArithmetic.test_datafriendly_sub_arraysM  r$  r   c                 n   [        SS/SS//5      n[        SS/SS/S9nX-  n[        USS/SS//5        UR                  [        La  [        UR                  SS/SS//5        [        SS/SS//5      n[        SS/SS/S9nX-  n[        USS/SS//5        [        UR                  SS/SS//5        g )Nr   r   r   r   r!  r   s      r   test_datafriendly_mul_arrays=TestMaskedArrayInPlaceArithmetic.test_datafriendly_mul_arrays[  r$  r   c           	      x  ^ U R                    H  m[        R                  " 5          [        R                  " S5        U4S jU R                   5       u  pn[
        US'   UT" S5      -  n[        XT" S5      -   5        UT" S5      -  n[        X2T" S5      -   5        S S S 5        M     g ! , (       d  f       M  = f)Nr  c              3   D   >#    U  H  oR                  T5      v   M     g 7fr   r   .0r  rk  s     r   	<genexpr>UTestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalar_type.<locals>.<genexpr>n       B>ahhqkk>    r   r   )r  r  r  r  r  rL   r   r   r   r   r   rk  s       @r   !test_inplace_addition_scalar_typeBTestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalar_typei  s    A((*''0B4>>B
r1QqT	QAaD)ad
RQqT* +* !**s   A7B**
B9	c           	        ^ U R                    H  m[        R                  " 5          [        R                  " S5        U4S jU R                   5       u  pnUR
                  n[        STS9n[        US'   X-  nX5-  n[        XU-   5        [        X2U-   5        [        UR
                  [        XER
                  5      5        S S S 5        M     g ! , (       d  f       M  = f)Nr  c              3   D   >#    U  H  oR                  T5      v   M     g 7fr   r-  r.  s     r   r0  TTestMaskedArrayInPlaceArithmetic.test_inplace_addition_array_type.<locals>.<genexpr>z  r2  r3  r   r   r   
r  r  r  r  r  r   r"   rL   r   rK   r   r   r   r   rU  r   rk  s         @r    test_inplace_addition_array_typeATestMaskedArrayInPlaceArithmetic.test_inplace_addition_array_typeu      A((*''0B4>>B
rGG2Q'"QA&RQ'RWWga&89 +* !**   BC
C	c           	      f  ^ U R                    H  m[        R                  " 5          [        R                  " S5        U4S jU R                   5       u  pnUT" S5      -  n[        XT" S5      -
  5        UT" S5      -  n[        X2T" S5      -
  5        S S S 5        M     g ! , (       d  f       M  = f)Nr  c              3   D   >#    U  H  oR                  T5      v   M     g 7fr   r-  r.  s     r   r0  XTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalar_type.<locals>.<genexpr>  r2  r3  r   r  r  r  r  r  r   r4  s       @r   $test_inplace_subtraction_scalar_typeETestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalar_type      A((*''0B4>>B
rQqT	QAaD)ad
RQqT* +* !**   A.B!!
B0	c           	        ^ U R                    H  m[        R                  " 5          [        R                  " S5        U4S jU R                   5       u  pnUR
                  n[        STS9n[        US'   X-  nX5-  n[        XU-
  5        [        X2U-
  5        [        UR
                  [        XER
                  5      5        S S S 5        M     g ! , (       d  f       M  = f)Nr  c              3   D   >#    U  H  oR                  T5      v   M     g 7fr   r-  r.  s     r   r0  WTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_array_type.<locals>.<genexpr>  r2  r3  r   r   r   r:  r;  s         @r   #test_inplace_subtraction_array_typeDTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_array_type  r>  r?  c           	      f  ^ U R                    H  m[        R                  " 5          [        R                  " S5        U4S jU R                   5       u  pnUT" S5      -  n[        XT" S5      -  5        UT" S5      -  n[        X2T" S5      -  5        S S S 5        M     g ! , (       d  f       M  = f)Nr  c              3   D   >#    U  H  oR                  T5      v   M     g 7fr   r-  r.  s     r   r0  [TestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalar_type.<locals>.<genexpr>  r2  r3  r   rC  r4  s       @r   'test_inplace_multiplication_scalar_typeHTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalar_type  rF  rG  c           	        ^ U R                    H  m[        R                  " 5          [        R                  " S5        U4S jU R                   5       u  pnUR
                  n[        STS9n[        US'   X-  nX5-  n[        XU-  5        [        X2U-  5        [        UR
                  [        XER
                  5      5        S S S 5        M     g ! , (       d  f       M  = f)Nr  c              3   D   >#    U  H  oR                  T5      v   M     g 7fr   r-  r.  s     r   r0  ZTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_array_type.<locals>.<genexpr>  r2  r3  r   r   r   r:  r;  s         @r   &test_inplace_multiplication_array_typeGTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_array_type  r>  r?  c                 t  ^ [         R                  S    Vs1 s H#  n[         R                  " U5      R                  iM%     nnU R                   H  m[
        R                  " 5          [
        R                  " S5        U4S jU R                   5       u  p4n[        STS9T" S5      -  n[        STS9T" S5      -  n[        US'    UT" S5      -  nUT" S5      -  n[        X45        [        XT5        S S S 5        M     g s  snf ! [         a    ST S3nTU;   d   U5       e N1f = f! , (       d  f       M  = f)	NComplexr  c              3   D   >#    U  H  oR                  T5      v   M     g 7fr   r-  r.  s     r   r0  [TestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_scalar_type.<locals>.<genexpr>  r2  r3  r   r   r   Supported type  throwing TypeError)r   r  r   r  r  r  r  r  r  r"   rL   r   rD  )r   rk  unsupportedr   r   r   msgs    `     r   'test_inplace_floor_division_scalar_typeHTestMaskedArrayInPlaceArithmetic.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 'AD(,DD%"D($D%%D((
D7	c                   ^ [         R                  S    Vs1 s H#  n[         R                  " U5      R                  iM%     nnU R                   H  m[
        R                  " 5          [
        R                  " S5        U4S jU R                   5       u  p4nUR                  n[        STS9n[        US'    X7-  nXW-  n[        X4U-  5        [        XTU-  5        [        UR                  [        [        XgR                  5      UT" S5      :H  5      5        S S S 5        M     g s  snf ! [         a    ST S	3nTU;   d   U5       e N1f = f! , (       d  f       GM  = f)
NrX  r  c              3   D   >#    U  H  oR                  T5      v   M     g 7fr   r-  r.  s     r   r0  ZTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_array_type.<locals>.<genexpr>  r2  r3  r   r   r   r   r[  r\  )r   r  r   r  r  r  r  r  r  r   r"   rL   r   rK   rD  )	r   rk  r]  r   r   r   rU  r   r^  s	    `       r   &test_inplace_floor_division_array_typeGTestMaskedArrayInPlaceArithmetic.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   *D$'AE7A D))E	EE		E
E	c           	      N  ^ U R                    GH
  m[        5        nUR                  [        5        U4S jU R                   5       u  p#n[        STS9T" S5      -  n[        STS9T" S5      -  n[        US'    UT" S5      -  n[        X#5         UT" S5      -  n[        XC5        [        T[        R                  5      (       a%  [        [!        UR"                  5      SST S35        O$[        [!        UR"                  5      S	ST S35        S S S 5        GM     g ! [        [        4 a(  n[        R                  " [        U5      SS9   S nANS nAff = f! [        [        4 a(  n[        R                  " [        U5      SS9   S nANS nAff = f! , (       d  f       GM  = f)
Nc              3   D   >#    U  H  oR                  T5      v   M     g 7fr   r-  r.  s     r   r0  UTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_type.<locals>.<genexpr>  r2  r3  r   r   r   r   
stacklevelFailed on type=.r   )r  r   recordr  r  r"   rL   r   DeprecationWarningrD  r  warnr   
issubclassr   integerr   rG   )r   r  r   r   r   erk  s         @r   !test_inplace_division_scalar_typeBTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_type  sM   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8
 +I6 8MM#a&Q783 %$s[   AF;DE(A(FE.EFEFF)FFFF
F$	c                   ^ U R                    GH.  m[        5        nUR                  [        5        U4S jU R                   5       u  p#nUR
                  n[        STS9n[        US'    X&-  n[        X#U-  5         XF-  n[        XCU-  5        [        UR
                  [        [        XVR
                  5      UT" S5      :H  5      5        [        T[         R"                  5      (       a%  [        [%        UR&                  5      SS	T S
35        O$[        [%        UR&                  5      SS	T S
35        S S S 5        GM1     g ! [        [        4 a(  n[        R                  " [        U5      SS9   S nANS nAff = f! [        [        4 a(  n[        R                  " [        U5      SS9   S nANS nAff = f! , (       d  f       GM  = f)Nc              3   D   >#    U  H  oR                  T5      v   M     g 7fr   r-  r.  s     r   r0  TTestMaskedArrayInPlaceArithmetic.test_inplace_division_array_type.<locals>.<genexpr>  r2  r3  r   r   r   r   ri  r   r   rk  rl  )r  r   rm  r  r  r   r"   rL   r   rn  rD  r  ro  r   rK   rp  r   rq  r   rG   )	r   r  r   r   r   rU  r   rr  rk  s	           @r    test_inplace_division_array_typeATestMaskedArrayInPlaceArithmetic.test_inplace_division_array_type  s_   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8 +I6 8MM#a&Q789 %$s\   AF8+E>AE=A(F8E:E50F85E::F8=F5F0+F80F55F88
G	c                    U R                    H  n[        R                  " 5          [        R                  " S5        [	        / SQ/ SQUS9nX!" S5      -  n[	        / SQ/ SQUS9n[        UR                  UR                  5        [        UR                  UR                  5        X!" S5      -  n[        UR                  UR                  5        [        UR                  UR                  5        S S S 5        M     g ! , (       d  f       M  = f)Nr  r   rc  r  r   r  )r  r  r  r  r)   r   r   r   )r   rk  r   r   xx_rs        r   test_inplace_pow_type6TestMaskedArrayInPlaceArithmetic.test_inplace_pow_type/  s    A((*''0))1=!A$Y^)1ERWWdii0RWWdii0ad
QVVTYY/QVVTYY/ +* !**s   C	C;;
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)  r5  r<  rD  rK  rP  rU  r_  rd  rs  rx  r|  r(  r   r   r   r  r  P
  s    
 
2 
2 
2	&
EN((,(.(.(.
(///
+:	+:	+:1(10"JH%JN0r   r  c                      \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS r\S 5       rS rS rS rS r\R2                  R5                  SS5      \R2                  R5                  SS5      S 5       5       rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S-r/g.)/TestMaskedArrayMethodsi@  c           
      ,   [         R                  " / SQ5      nUR                  SS5      nUR                  SSSS5      n[         R                  " / SQ5      n[        XS9n[        X$R                  UR                  5      S9n[        X4R                  UR                  5      S9n[         R                  " / SQ5      n[        XS9n	[        X(R                  UR                  5      S9n
[        X8R                  UR                  5      S9nXX4XVXyX4
U l        g N$g      @gGz.@g-!@g      !@g&1?ʡE@\( @Q@{G#@Pn@h|?!@!rh@jt@J+@zGa@!rh@ʡE@-@)\(@(\B#@+@uV@~j@g"~@gK7@
ףp=J#@Gz@Mb@}?5^#@羟/$@!rhm@-#@J+@Mb@ʡ@g-?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   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r)   rm   ro   r   r   r   r  XXrU  r  mXmXXr   m2xm2Xm2XXs               r   r   #TestMaskedArrayMethods.setup_methodB      HH @ A IIaOYYq!Q"HH ' ( "		!'' 23))BHH"56XX ( ) $AGG!45"::bhh#78rs;r   c           
         [        / SQ5      n[        UR                  5       UR                  R                  5       5        [        UR	                  5       UR                  R	                  5       5        [        UR                  5       UR                  R                  5       5        [        UR                  5       UR                  R                  5       5        [        UR                  SSSSS5      UR                  R                  SSSSS5      5        [        UR                  / SQ5      UR                  R                  / SQ5      5        [        UR                  5       UR                  R                  5       5        [        UR                  5       UR                  R                  5       5        [        SS/SS//5      n[        UR                  5       UR                  R                  5       5        [        UR                  5       UR                  R                  5       5        [        UR                  SS/5      UR                  R                  SS/5      5        [        UR                  5       UR                  R                  5       5        g )Nr   r   r   r   r   r   r   )r)   r   r   r   r   argmaxargminr+   compressconjr-   diagonalrv   rw   rz   r   r   rU  s      r   test_generic_methods+TestMaskedArrayMethods.test_generic_methodsb  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                    [         R                  R                  S5      nU[         R                  R                  S5      S-  -   n[        [	        X5      5        [         R
                  US'   [        [	        X5      (       + 5        [         R
                  US'   [        [	        X5      5        [        U5      n[        US'   [        [	        XSS95        [        [	        XSS9(       + 5        US-  nSUS'   [        [	        USSS95        [        [         R                  " [         R                  5      R                  /[         R                  S9n[        [	        X5      5        g )	Nr   g:0yE>r   r   T)rN   Fr   )r   r   r   r   r   r  rM   rL   r!  int_r\   r   s      r   test_allclose$TestMaskedArrayMethods.test_allcloset  s    IINN2		r"T))vv!HQN"#vv!O"D12HQ667	T	!AD12 "((277+//0@r   c                     [         R                  " / SQ/SS9n[        XSS9(       d   e[        X[         R                  " SS5      S9(       d   eg )Nr{  zm8[ns]r   r   )atolr   rD  )r   r)   r   rN  r  s     r   test_allclose_timedelta.TestMaskedArrayMethods.test_allclose_timedelta  sA     HHl^841%%%2>>!T#:;;;r   c                 l   [         R                  " / SQ/ SQ/ SQ/5      n[         R                  " / SQ/ SQ/ SQ/[         R                  S9n[        XS9nUS	:  nUS	:  n[	        UR                  5       (       + 5        [	        UR                  5       5        [        UR                  S
5      / SQ5        [        UR                  S5      / SQ5        [        UR                  S
5      / SQ5        [        UR                  S5      / SQ5        [	        UR                  5       (       + 5        [	        UR                  5       5        [        UR                  S
5      / SQ5        [        UR                  S5      / SQ5        [        UR                  S
5      / SQ5        [        UR                  S5      / SQ5        g )N)gp=
ף?gp=
ף?g?)gQ?gQ?g)\(?)gףp=
?gףp=
?gffffff?r  r  rx  r   r   r   r   rm  r   r  )r   r)   r-  rM   r   r   r   r   )r   r   rU  r  mxbigmxsmalls         r   test_allany"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[        S9n[        / SQSS9n[        UR	                  5       [
        L 5        UR	                  US9  [        U5        [        UR                  S5        [        U[
        L5        [        S[        S9n[        UR                  5       [
        L 5        UR                  US9  [        U(       + 5        [        UR                  S5        [        U[
        L5        g )Nr   r   r   Tr   r  )r5   r-  r)   r   r   rL   r   r   )r   storerY  s      r   test_allany_oddities+TestMaskedArrayMethods.test_allany_oddities  s    b%YT*
f$%UT"V#$b%
f$%UE	T"V#$r   c           
         U R                   u
  pp4pVpxp[        UR                  5       S5        [        UR                  5       S5        [        UR                  5       S5        [        U	R                  5       S5        [        UR                  5       S5        [        UR                  5       S5        [        UR                  5       S5        [        U	R                  5       S5        [        UR                  S5      / SQ5        [        U	R                  S5      / SQ5        [        UR                  S5      / SQ5        [        U	R                  S5      / S	Q5        [        UR                  S
5      / SQ5        [        U	R                  S
5      / SQ5        [        UR                  S
5      / SQ5        [        U	R                  S
5      / SQ5        g )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   r   r  r  )r   r   r  r  rU  r  r  r  r  r  r  s              r   test_argmax_argmin)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                    [         R                  " / SQ5      n[         R                  " / SQ5      n[        XS9nUR                  SS5      n[        UR                  UR                  5        [        UR
                  UR                  SS5      5        [        UR
                  UR
                  R                  SS5      5        g )Nr  r  r   r   r:  )r   r)   clipr   r   r   )r   r   rU  r  clippeds        r   	test_clip TestMaskedArrayMethods.test_clip  s    HH @ A HH : ; 1''!Q-W\\277+W]]AFF1aL1W]]BHHMM!Q$78r   c                     [         R                  " S5      n[         R                  R                  USS/S-  S9nUR	                  SSUS9  [        UR                  SS/S-  5        g )Nr   r   r   r   r   r  )r   r"   r  r   r  r   r   r  s      r   test_clip_out$TestMaskedArrayMethods.test_clip_out  sX    IIbMEEaq!fqj1	q!QVVaVaZ(r   c                    [        / SQSS9nUS:  US:  -  n[        UR                  U5      SS/5        [        USS	/'   UR                  U5      n[        UR                  SS/5        [        UR
                  S
S/5        [        UR                  S5        [        X1U   5        US:  nUR                  U5      n[        UR                  / SQ5        [        UR
                  / SQ5        [        UR                  S5        [        X1U   5        [        / SQ/ SQ// SQ/ SQ/S9nUR                  UR                  5       S:  5      n[        UR                  / SQ5        [        UR
                  / SQ5        [        R                  " / SQ5      nUR                  US:  SS9n[        UR                  SS/SS//5        [        UR
                  S
S/SS
//5        g )Nr%  i'  r0  rP        @r   r   r   r   r   r   r   rC  rc  r  r  r  r  r   r      )r  r  r  r  r   )r   r   r   r  r   r  r  r  )
rM   r   r  rL   r   r   rI  rk   r   r)   )r   r   	conditionr   r   s        r   test_compress$TestMaskedArrayMethods.test_compress  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Q/ SQS9nUR                  5       n[        X!5        [        US'   UR                  5       n[        U/ SQ5        g )Nr{  r   r   r   r   r   r   rX  )r)   
compressedr   rL   r   s      r   test_compressed&TestMaskedArrayMethods.test_compressed  s?    ,\2LLNQ!LLNQ	"r   c                    S[         4S[        4S/n[        / SQUS9n[        [	        UR
                  R                  5       5      [	        U5      5        [        U5      n[        UR                  UR                  5        [        UR
                  UR
                  5        [        [	        U5      US9n[        UR                  UR                  5        [        UR
                  UR
                  5        [        / SQ/ SQS9n[        U5      n[        [        R                  " UR                  UR                  5      (       + 5        UR                  [        5      n[        [        R                  " UR                  UR                  5      5        g 	Nr   r   r  ))r   rw  z1.1)r   rx  z2.2)r   r  z3.3r   r   r  r   )r   r   rM   r   r   rI  r  r6   ro   r5   r   r   r  r   r  r   datatyper   r   s       r   
test_empty!TestMaskedArrayMethods.test_empty  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                    S[         4S[        4S/n[        / SQUS9n[        [	        UR
                  R                  5       5      [	        U5      5        [        [	        U5      US9n[        UR                  UR                  5        [        UR
                  UR
                  5        [        U5      n[        UR                  UR                  5        [        UR
                  UR
                  5        [        / SQ/ SQS9n[        U5      n[        [        R                  " UR                  UR                  5      (       + 5        UR                  5       n[        [        R                  " UR                  UR                  5      5        g r  )r   r   rM   r   r   rI  r  r|   ro   r}   r   r   r  r   r  r  s       r   
test_zeros!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                    S[         4S[        4S/n[        / SQUS9n[        [	        UR
                  R                  5       5      [	        U5      5        [        [	        U5      US9n[        UR                  UR                  5        [        UR
                  UR
                  5        [        U5      n[        UR                  UR                  5        [        UR
                  UR
                  5        [        / SQ/ SQS9n[        U5      n[        [        R                  " UR                  UR                  5      (       + 5        UR                  5       n[        [        R                  " UR                  UR                  5      5        g r  )r   r   rM   r   r   rI  r  rd   ro   re   r   r   r  r   r  r  s       r   	test_ones TestMaskedArrayMethods.test_onesB  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5      n/ SQn[        U5      n[        XS9n[        US   [        L 5        [        US   [        L 5        SS/USS/'   [        US   [        L 5        [        US   [        L5        [        U/ S	Q5        [        [        S5      / S
QS-  S9n/ SQnUR                  U/ SQ5        [        U[        / SQ5      5        [        UR                  / SQ5        UR                  U[        / SQ/ SQ5      5        [        U/ SQ5        [        UR                  / SQ5        [        [        S5      / S
QS-  S9n[        XE/ SQ5        [        U[        / SQ5      5        [        UR                  / SQ5        [        XE[        / SQ/ SQ5      5        [        U/ SQ5        [        UR                  / SQ5        g )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:  ry  )
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"   rI   r)   r   rL   r   rM   ri   r*   r   r   )r   r   r  rU  r   r8  s         r   test_putTestMaskedArrayMethods.test_putX  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                 X   [        S5      n[        SS/SS/S9nUR                  SS/U5        [        US	   [        L5        [        US	   S	5        [        US   [        L5        [        US   S
5        [        US   [        L 5        [        US
   [        L5        [        US
   S	5        g )Nr   r   r   FTr   r   r   r   r   )r|   r)   ri   r   rL   r   )r   r   r   s      r   test_put_nomask&TestMaskedArrayMethods.test_put_nomaskw  s    "I2s)5$-0	q!fa!F"#QqT1!F"#QqT1!!F"#QqT1r   c                     [        S5      n/ SQn[        U5      n[        US-   USSS9nUR                  / SQ/ SQ5        [	        UR
                  / SQ5        g )	Nr   r  r   Tr  )r   r   r   r   r   rn  )r   r   r   r   r   )r"   rI   r)   ri   r   r   r  s        r   test_put_hardmask(TestMaskedArrayMethods.test_put_hardmask  sI    1IaL1q5qDt<
0RXX/r   c                    [        S5      S-   n[        U/ SQS9n/ SQnUR                  5       n[        XCS5        [	        U/ SQ5        UR                  5       n[        XSS5        [	        UR
                  / SQ5        [	        UR                  / SQ5        [        / S	Q/ S
QS9nUR                  5       n[        XCU5        [	        UR
                  / SQ5        [	        UR                  / SQ5        UR                  5       n[        XSU5        [	        UR
                  / SQ5        [	        UR                  / SQ5        UR                  5       nUR                  5         [        XSU5        [	        U/ SQ5        g )Nr   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   rz  )r   r   rz  r   r   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   )r   r   r   r   r   r   )r"   r)   r  rj   r   r   r   r  )r   r   r  r   r   mxxvaluess          r   test_putmask#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Q// SQ/S9nUR                  5       n[        UR                  R                  UR                  5        [        SS/SS/S9nUR                  5       n[        UR                  R                  UR                  5        [        / SQ/ SQSS	9n[        UR                  5       R                  / SQ5        S
Ul        SUl        UR                  5       n[        UR                  / SQ5        [        UR                  / SQ5        [        UR
                  S
5        [        UR                  SS9/ SQ5        [        UR                  SS9/ SQ5        g )Nrn  r   r   r   r   r   r   r   r   r{  r  FrD  r  rZ  r[  r[  )r   r   r   r   )r)   rk   r   r   ro   rI  r   )r   r   aravelars       r   
test_ravel!TestMaskedArrayMethods.test_ravel  s    ?#?*;<V\\''61a&1v&V\\''1,\%@QWWY__l3WWYRXX|,RXX|,R]]C(QWW3W'6QWW3W'6r   r\  AKCF
data_orderCFc                 b   [         R                  " SUS9nSUSS S 24'   [         R                  " S[        US9R                  nSUSS S 24'   [	        X4S9nUR
                  R                  R                  UR                  R                  R                  :w  d   eUR                  S5      S:H  R                  5       (       d   eUR                  U5      nUR                  S5      S:H  R                  5       (       d   e[        UR                  U5      UR                  U5      R
                  5        g )N)r   r   r[  r   )r   r   )r   r\  Fr   )r   rd   r-  rQ  r)   r   rR  fncr   r:   r   rk   r   )r   r\  r  r(  r   r   raveleds          r   test_ravel_order'TestMaskedArrayMethods.test_ravel_order  s    
 gggZ0AqD	wwwd*=??QT
#!ww}}  AGGMM$5$5555q %%''''''%.q!Q&++---- 	399U+QWWU^-A-ABr   c                 (   [        S5      n[        US'   UR                  SS5      n[        UR                  S5        [        UR
                  R                  S5        [        UR                  S5        [        UR
                  R                  S5        g )Nr   r   r   r  r  )r"   rL   rm   r   ro   r   rc  s      r   test_reshape#TestMaskedArrayMethods.test_reshape  sc    1I!IIaOQWWg&QWW]]G,QWWd#QWW]]D)r   c                    [        / SQ/ SQ[        R                  S9n[        U5      n[	        UR
                  / SQ5        [	        UR                  / SQ5        [        USS9n[	        UR
                  / SQ5        [	        UR                  / S	Q5        UR                  5         [	        UR
                  / SQ5        [	        UR                  / SQ5        [        / SQ/ SQ[        R                  S9nUR                  SS9  [	        UR
                  / SQ5        [	        UR                  / S	Q5        / SQn[        U5      n[        [        [        [        5      (       + 5        [        / S
Q[        [        R                  S9n[        USS9n[	        UR
                  / SQ5        [        / S
Q/ SQ[        R                  S9n[        USS9n[	        UR
                  / SQ5        [	        UR                  / SQ5        [        SS/[        R                  S9n[        USS9n[	        U[        SS/[        R                  S95        g )Nr   r   r   r   r   r  r{  r   r   r   r   Frw  )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   stablekind)r)   r   r  rs   r   r   r   r   r  sortedr   rb   r  )r   r   sortedxs      r   	test_sort 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Q[        R                  S9n[        / SQ5      n[        USS9n[	        X25        g )N)r   r   r   r   r   r   r   )r   r   r   r   r   r   r  r  )r)   r   r  r(   r   )r   r   r'  computeds       r   test_stable_sort'TestMaskedArrayMethods.test_stable_sort  s2    $BHH5+,18,X(r   c           
      l   [        / SQ/ SQ[        R                  S9n[        5       [        SS9[        SS9[        SS9[        SSS	9[        SSS	94 H^  n[	        U40 UD6nU[        U40 UD6   n[        UR                  UR                  5        [        UR                  UR                  5        M`     g )
Nr  r   r  Trw  Fr   r0  )rI  rx  )	r)   r   r  dictrs   r(   r   r   r   )r   r   kwargsr  
argsortedxs        r   test_argsort_matches_sort0TestMaskedArrayMethods.test_argsort_matches_sort	  s    ,\BvD)E*q)q$7q%8:F 1''G71//0J
(8(89
(8(89:r   c           	      ~   [        / SQ/ SQ/5      nUR                  S5        [        U/ SQ/ SQ/5        [        / SQ/ SQ/5      nUR                  S5        [        U/ SQ/ SQ/5        [        / SQ/ SQ// S	Q/ S
Q/S9nUR                  S5        [        U/ SQ/ SQ/5        [        UR                  / SQ/ SQ/5        [        / SQ/ SQ// S	Q/ S
Q/S9nUR                  S5        [        U/ SQ/ SQ/5        [        UR                  / S
Q/ S
Q/5        [        / SQ/ SQ/ SQ// SQ/ SQ/ SQ// SQ/ SQ/ SQ// SQ/ SQ/ SQ//5      n[        XS-  S:H  '   UR                  5       nUR                  S5      nUR                  S5        UR                  S5        [        X#5        UR                  5       nUR                  S5      nUR                  S5        UR                  S5        [        X#5        UR                  5       nUR                  S5      nUR                  S5        UR                  S5        [        X#5        g )N)r:  r   r   )r   r   ry  r   rX  )r:  r   ry  r   )r   r   r:  )r   r   ry  r   rc  r   r  r   r  r  r   r   rz  r   )rM   rs   r   r   rL   r  r:   )r   r   amans       r   test_sort_2d#TestMaskedArrayMethods.test_sort_2d  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                    [        / SQ/ SQS[        4S[        4/S9n[        / SQ/ SQS[        4S[        4/S9n[        / SQ/ S	QS[        4S[        4/S9n[        U5      n[        XB5        [        UR                  UR                  5        [        US
S9n[        XC5        [        UR                  UR                  5        [
        R                  " S[        S4/5      nUR                  U5      n[        U5      n[        US
S9ng )N)rl  r  r  r   r   r  r  r|  )r  r  r  r  r  r  r  r5  rJ  ro  )r  r|  r)  r  rl  r  r  )r  r  r  r  r  r  r  )r  r  r|  r)  r  r  rl  )r  r  r  r  r  r  r  Frw  r+  r   )r)   r   rs   r   r   r   r   r  )r   r   	mask_last
mask_firstr   rr  s         r   test_sort_flexible)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                 r    [        / SQ/ SQS9n[        [        R                  " U5      [        U5      5        g )N)r   r   r   r   r   )r   r   r   r   r   r   )r)   r   r   r(   r  s     r   test_argsort#TestMaskedArrayMethods.test_argsort_  s$    /8RZZ]GAJ/r   c                 b   [        / SQ/5      n[        UR                  5       / SQ5        [        / SQ// SQ/S9n[        UR                  5       / SQ5        [        UR                  5       R                  / SQ5        [        R
                  " S//5      nUR                  5       n[        US5        SUS'   [        US   S5        [        S//SS9nUR                  5       n[        U[        R                  R                  L5        [        UR                  S5        SUS'   [        US   S5        g )	Nr   r7  r   r   r   .r  T)
rM   r   squeezer   r   r)   r   r  rL   r   )r   r   r(  arr_sqm_arrm_arr_sqs         r   test_squeeze#TestMaskedArrayMethods.test_squeezed  s    YK(T\\^Y/YKyk:T\\^Y/T\\^))95 hhuoVQsSXq! qcU.==?,-X]]D)U3Z#r   c                 ^   [         R                  " / SQ5      n[         R                  " / SQ5      n[        XS9R                  SS5      nUR                  SSSS5      nUR                  SS5      n[	        US	   US S 2S	4   5        UR                  SS5      n[	        UR
                  S
5        g )Nr  r  r   r   r   r   r   r   r   )r   r   r   r   )r   r)   rm   swapaxesr   ro   )r   r   rU  r  r  	mXswapped
mXXswappeds          r   test_swapaxes$TestMaskedArrayMethods.test_swapaxes{  s    HH @ A HH ( ) 1%%a+jjAq!$KK1%	Yr]Bq"uI.\\!Q'
Z%%|4r   c           	         [        / SQ/ SQ5      n[        UR                  / SQ5      [        / SQ/ SQ5      5        [        UR                  / SQ5      U/ SQ   5        [        UR                  SS/SS//5      [        SS	/SS	//SS/SS//5      5        [        US   [        R
                  R                  L 5        [        UR                  S5      [        R
                  R                  L 5        [        / S
Q/ SQ// SQ/ SQ/S9n[        UR                  SS/SS9[        SS/SS//SS/SS//S95        [        [        USS/SS9[        SS/SS//SS/SS//S95        g )N)r   r  r  r  rv  )r   r   r   )r   r   r  rc  r   r   r   r  r  r  r   r   r   r  r  r  r  )rM   r   rw   r   r   r  rL   r)   r   s     r   	test_take 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                    [         R                  " S5      n[         R                  " S5      S S S 24   [         R                  " S5      S S 2S 4   -   n[        X"[        U5      :  S9n[	        XSS9n[        / SQ/ SQ/ S	Q/ S
Q/ SQ/5      n[        XE5        [	        X5      n[        / SQ/ SQ/ S	Q/ SQ/ SQ/5      n[        =US'   =US'   US'   [        XE5        [        UR                  UR                  5        [        SSS9n[	        X5      n[        =US'   US'   [        XE5        [        UR                  UR                  5        g )N)r  r:  %   ry  r  r   r   r   r  mode)r  r:  rB  )r:  rB  ry  )rB  ry  r  )ry  r  r  )r  r  r  )ry  r  r  )r  r  r  r  )r   r   r   r   r  r  r  )r   r)   r"   r   rw   r   rL   r   )r   r   indicesmindicesr   ctrls         r   test_take_masked_indices/TestMaskedArrayMethods.test_take_masked_indices  s$   HH()))A,tAv&1ag)>>3q6(9;Af-l!!!"	$ %
 	T A l!!!"	$ %
 065T
5T$Z$t*T TYY		*%O<A "((T
T$ZT TYY		*r   c           
         [        [        R                  " S5      5      n[        USS/'   UR	                  5       n[        US   S L 5        [        US   S L 5        SUl        UR	                  5       n/ SQ/ SQ/ SQ/n[        US   / SQ5        [        US   / SQ5        [        US	   / SQ5        [        X#5        [        [        [        / S
Q/ SQ/ SQ5      5      S[        4S[        4S/S9n[        US'   [        UR	                  5       / SQ5        [        SS/SS/S[        4S[        4/S9nUR	                  5       n[        USS /SS//5        US   nUR	                  5       n[        USS /5        g )Nr  r   r.  r   )r   Nr   r   )r   r   r   r  )r:  ry  N   r   r   r   )rw  rx  r  )r  r  r  r   r   r  r   r   ))r   rw  s   one)r   rx     two)NNNr|  r  r  r  r   r   )r)   r   r"   rL   tolistr   ro   r   r   r   r   r   )r   r   xlistrH  r   r   s         r   test_tolist"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                 v   [        SS/S[        4S[        4/S9nU HB  nUR                  5        H+  n[        [	        U[
        R                  5      (       + 5        M-     MD     SUR                  S'   U HB  nUR                  5        H+  n[        [	        U[
        R                  5      (       + 5        M-     MD     g )Nr  r  r   r   r   r   )r)   r   rN  r   r  r   genericr   )r   r   entryr  s       r   test_tolist_specialcase.TestMaskedArrayMethods.test_tolist_specialcase  s    66"C:Sz*BCEJtRZZ889 ' 
 q	EJtRZZ889 ' r   c                 0   [        S5      nUR                  5       n[        US   UR                  5        [        US   UR                  5        [
        U/ SQ'   UR                  5       n[        US   UR                  5        [        US   UR                  5        S[        4SS[        4/n[        [        [        [        R                   " S5      S[        R                  R                  S5      5      5      US	9n[
        U/ SQ'   UR                  5       n[        US   UR                  5        [        US   UR                  5        [        R                  " S
5      n[        [        [        [        R                   " S5      [        R                  R                  S5      [        R                  R                  S5      5      5      US	9n[
        U/ SQ'   UR                  5       n[        US   UR                  5        [        US   UR                  5        g )Nr   r   r   )r   r   r   r   r8  r1  r;  ABCDEFGHIJKLMr   rn  )r"   toflexr   r   r   rL   r   r   r)   r   r   r   r   r   r   r   )r   r   rm  rF  s       r   test_toflex"TestMaskedArrayMethods.test_toflex  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Q5      n[        UR                  5       5      n[        X!5        [        UR                  UR                  5        [        / SQ/ SQS9n[        UR                  5       5      n[        X!5        [        UR                  UR                  5        [        / SQ/ SQS[
        4S[        4/S9n[        UR                  5       5      n[        X!5        [        UR                  UR                  5        g )	Nr   rc  r   )r  r  )r   r   )r  r  r  r5  rJ  r  )r)   r=   rY  r   r   r   r   r   rT  s      r   test_fromflex$TestMaskedArrayMethods.test_fromflex  s    )
#TTYY')),
#TTYY'-4Lsc5\24
#TTYY'r   c                 "   [        / SQ// SQS9n[        S/S/S/S/S/// SQS9n[        UR                  U5        [        UR                  5       U5        [        [        R
                  " UR                  S	5      UR                  S	5      5        g )
Nrn  r  r   r   r   r   r   r   r   )rM   r   rQ  rz   r   cumsum)r   marrayrV  s      r   test_arraymethod'TestMaskedArrayMethods.test_arraymethod&  sz    /oFaS1#sQC8$35VXXw'V%%'1[''!4gnnQ6GHr   c                     [         R                  R                  SSS9n[        UR                  R
                  UR
                  5        [        UR                  R                  UR                  5        g )N*   Tr   )r   r  r)   r   rQ  r   r   r   s     r   test_arraymethod_0d*TestMaskedArrayMethods.test_arraymethod_0d0  sD    EEKKK&QSSXXqvv&QSSXXqvv&r   c                    [         R                  R                  / SQ/ SQ/5      n[         R                  R                  US'   UR                  nSUS'   [         R                  R                  US'   [        UR                  UR                  R                  5        [        UR                  UR                  R                  5        g )Nr   r  r  r   r  )r   r  r)   rL   rQ  r   r   r   )r   r   xts      r   test_transpose_view*TestMaskedArrayMethods.test_transpose_view6  sy    EEKKI./#SS3%%,,3QVVRTTYY'QVVRTTYY'r   c                 r   [         R                  R                  S5      nSUS'   [         R                  R                  US'   SUS'   UR	                  5       nSUS'   [        UR                  UR	                  5       R                  5        [        UR                  UR	                  5       R                  5        g )Nrl  r   r  r  r  r  r   )r   r  r|   rL   r  r   r   r   )r   r   xds      r   test_diagonal_view)TestMaskedArrayMethods.test_diagonal_viewA  s    EEKK###ZZ\#RWWajjl//0RWWajjl//0r   r  N)0r$  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/  r6  r<  r?  rI  rP  rU  rZ  r]  rb  rf  rj  rn  r(  r   r   r   r  r  @  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'	(1r   r  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS r\S 5       rS rS rS r\" SS9S 5       rS rS rS rS rSrg)TestMaskedArrayMathMethodsiL  c           
      ,   [         R                  " / SQ5      nUR                  SS5      nUR                  SSSS5      n[         R                  " / SQ5      n[        XS9n[        X$R                  UR                  5      S9n[        X4R                  UR                  5      S9n[         R                  " / SQ5      n[        XS9n	[        X(R                  UR                  5      S9n
[        X8R                  UR                  5      S9nXX4XVXyX4
U l        g r  r  r  s               r   r   'TestMaskedArrayMathMethods.setup_methodN  r  r   c           
      P   U R                   u
  pp4pVpxpUR                  S5      n[        UR                  UR	                  S5      R                  S5      5        UR                  S5      n[        UR                  UR	                  S5      R                  S5      5        UR                  S5      n[        UR                  UR	                  S5      R                  S5      5        UR                  S5      n[        UR                  UR	                  S5      R                  S5      5        g Nr   r   )r   r`  r   r   r:   cumprod)r   r   r  r  rU  r  r  r  r  r  r  mXcps               r   test_cumsumprod*TestMaskedArrayMathMethods.test_cumsumprodn  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           	         [        [        R                  R                  SSS5      5      R	                  SS5      n[
        =US S 2S4'   =US'   US'   S H  n[        [        U5      n[        X5      n[        R                  " S[        S	9nUR                  S
5        U" USUS9n[        XeL 5        [        Xd" SUS95        [        S[        S	9nU" SUS9n[        XeL 5        M     g )Nr   r   r  r   r   rB  )r`  rv  r   r   rH  r  rd  )r   r   r  r  rf  rg  r  s          r   test_cumsumprod_with_output6TestMaskedArrayMathMethods.test_cumsumprod_with_output{  s    299$$QB/088A>(..1a4.2a52f:-HR*FR*F XXfE2FKKBQF3FF$%QF!;<6-F/FF$% .r   c           
         U R                   u
  pp4pVpxpUR                  u  p[        UR                  5       [        R                  " UR                  5       5      5        [        R                  " U[        5      n[        R                  " U[        5      n[        U5       H0  n[        R                  " US S 2U4   R                  5       5      X'   M2     [        U5       H+  n[        R                  " Xn   R                  5       5      X'   M-     [        UR                  S5      U5        [        UR                  S5      U5        g ru  )	r   ro   r   r
  r   r  r|   r   r  )r   r   r  r  rU  r  r  r  r  r  r  r  rowscolsks                  r   test_ptp#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S/SS/[        S9nUS-   n[        US   S5        [        UR                  S   5        g )Nr   r   r   r   r  r   bx)rM   ro  r   r   r   rc  s      r   test_add_object*TestMaskedArrayMathMethods.test_add_object  s?    #s1a&?GQqT4 q	r   c                     [        / SQ/ SQ[        S9n[        UR                  5       S5        [        / SQ/ SQ/[        S9n[        UR                  SS9/ S	Q5        g )
Nr   r   r  r   r  r   r   r  r   r  ry  )rM   ro  r   rv   r  s     r   test_sum_object*TestMaskedArrayMathMethods.test_sum_object  sE    &AQUUWa )Y/v>QUUU]I.r   c                     [        / SQ/ SQ[        S9n[        UR                  5       S5        [        / SQ/ SQ/[        S9n[        UR                  SS9/ S	Q5        g )
Nr   r   r  r   r  r   r   r  r   r   r:  )rM   ro  r   r5  r  s     r   test_prod_object+TestMaskedArrayMathMethods.test_prod_object  sE    &AQVVXu%)Y/v>QVVV^[1r   c                     [        / SQ[        S9n[        UR                  5       S5        [        UR	                  5       / SQ5        g )Nr   r   r   )r   r   r   )rM   ro  r   rc  r!   r  s     r   test_meananom_object/TestMaskedArrayMathMethods.test_meananom_object  s.    &1QVVXq!QVVXz*r   c                 P   [        / SQ5      n[        UR                  5       R                  UR                  5        SUl        [        UR                  5       R                  UR                  5        [        [        R                  R                  UR                  5       5      5        g )Nr   T)	rM   r   r!   ro   r   r   r   r  	is_maskedr  s     r   test_anom_shape*TestMaskedArrayMathMethods.test_anom_shape  s^    #QVVX^^QWW-QVVX^^QWW-)*r   c                 `   [        [        R                  " SS5      R                  SS5      5      n[	        UR                  5       / SQ/ SQ/5        [	        UR                  SS9/ S	Q/ S
Q/5        [	        UR                  SS9/ SQ/ SQ/5        / SQ/ SQ/Ul        Sn[	        UR                  5       R                  U5      SSU/SUS//5        [	        UR                  SS9R                  U5      SSU/SUS//5        [	        UR                  SS9R                  U5      SSU/SUS//5        g )Nr   r  r   r   )g            r   )r   rP  r  r   r  )r  r  r  )rP  rP  rP  )r   r   r   rc  rB  r  g      g      g      ?g      @r  r   rP  r   r   r   r   )rM   r   r"   rm   r   r!   r   r:   )r   r   mvals      r   	test_anom$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           
         U R                   u
  pp4pVpxpUR                  5       n[        UR                  5       UR                  5       R	                  5       R                  5       5        [        UR                  5       UR                  5       [        UR                  UR                  5       -  SS9-
  5        [        [        R                  " U5      UR                  5       5        [        R                  " S5      R                  SSS5      n[        R                  R                  US5      n[        UR                  SSS9UR                  SSS95        g )	Nr   r      r   r   Fr   )axis1axis2)r   r  r   tracer  rv   r   r   r   r"   rm   r  rM   )r   r   r  r  rU  r  r  r  r  r  r  mXdiagr(  r4  s                 r   
test_trace%TestMaskedArrayMathMethods.test_trace  s    59VV2rbcRXXZ!9!9!;!?!?!ABBHHJGGIFKK!**,,F12)4 4	5 	RXXb\288:. ii&&q1-""3.SYYQaY0%++AQ+2OPr   c           
      0   U R                   u
  pp4pVpxpUR                  S5      nUR                  U5      n[        UR                  S5      UR                  U5      5        [	        UR
                  [        L 5        UR                  S5      nUR                  U5      n[        UR                  S5      UR                  U5      5        [	        UR
                  S   5        [        U5      nUR                  XnS9  [        X5        UR                  SS5      nUR                  S5      UR                  S5      nnUR                  U5      n[        UR                  S5      UR                  U5      5        [        U5      nUR                  XS9  [        X5        g )Nr   r   r  r   r.  )	r   r:   dotr   r   r   rb   r6   r9  )r   r   r  r  rU  r  r  r  r  r  r  fxrfXr  mYYfXXfYYs                     r   test_dot#TestMaskedArrayMathMethods.test_dot  s-   59VV2rbcYYq\FF2JAHHQK4& !YYq\FF2JAHHQK4s]
rA"ll2r"::a=#**Q-SGGCLAHHQK6]A"r   c                    [        SS/SS//SS/SS//S9n[        SS/SS//SS/SS//S9n[        SS/SS//5      nUR                  X#S9  [        UR                  S5      SS/SS	//5        [        UR                  SS/SS//5        g )
Nr   r   r   r   r   r   r  r      )rM   r  r   r:   r   r  s       r   test_dot_shape_mismatch2TestMaskedArrayMathMethods.test_dot_shape_mismatch  s    1Q%1qeQqE];1Q%1qeQqE];1Q%1'	aAHHQK1a&2r();<AFFaVaV$45r   c                    [        / SQSS9n[        / SQSS9n[        [        UR                  5       5      [        R
                  5        [        [        UR                  5       5      [        R
                  5        UR                  5       UR                  5       :H  [        R                  " S5      L d   e[        [        R                  " S5      R                  S5      SS9n[        SSS9n[        [        UR                  S	S
95      [        5        [        [        UR                  S	S
95      [        5        [        UR                  S	US9UL 5        [        UR                  S	US9UL 5        g )Nr{  r   r   Tr  rn  r   r  r   r  r  )r)   r   r  rc  r   r  ra  r-  r"   rm   r5   r   r   )r   foobars      r   test_varmean_nomask.TestMaskedArrayMathMethods.test_varmean_nomask   s   IT*IT*T#((*%rzz2T#'')_bjj1
chhj(RWWT]:;: BIIbM))%0=AT"T#(((*+[9T#''q'/*K8aS)S01QC(C/0r   c           
      2   U R                   u
  pp4pVpxp[        UR                  S S9UR                  5       R                  5       5        [        UR	                  S S9UR                  5       R	                  5       5        [        UR	                  S SS9UR                  5       R	                  SS95        [        UR                  S SS9UR                  5       R                  SS95        [        UR                  SS9R                  UR                  SS9R                  5        [        UR                  5       R                  UR                  5       R                  5        UR                  SS9UR                  SS9p[        UR                  S SS9UR                  5       R                  SS95        [        UR	                  S SS9UR                  5       R	                  SS95        [        S5       H  n[        X   Xm   R                  5       R                  5       5        [        X   US S 2U4   R                  5       R                  5       5        [        [        R                  " X   5      US S 2U4   R                  5       R	                  5       5        M     g )	Nr  r   r  ddofr  r   r   r   r   
r   r   ra  r  rb  r   ro   r  r   rt   r   r   r  r  rU  r  r  r  r  r  r  mXvar0mXvar1r  s                 r   test_varstd&TestMaskedArrayMathMethods.test_varstd  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                 N   [         R                  " S[        S9n[        S[        S9n[        [        S5      SS9nS H  n[	        X45      n[        U" 5       [        L 5        [        U" S5      [        L 5        [        U" S5      [        L 5        U" US9  [        U[        L5        [        UR                  S5        U" US9  [        [         R                  " U5      5        M     [        [        S5      SS9nS	US'   S H  n[	        X45      n[        U" S
S9[        L 5        [        U" SS
S9[        L 5        [        U" SS
S9[        L 5        U" US
S9  [        U[        L5        [        UR                  S5        U" US
S9  [        [         R                  " U5      5        M     g )Nr   r   r   Tr   )ra  rb  r   r  ry  r   r  )r  r  )
r   r)   r   r"   r  r   rL   r   r   r  )r   r  moutr   
methodnamemethods         r   test_varstd_specialcases3TestMaskedArrayMathMethods.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Q/ SQ// SQ/ SQ/S9nUR                  SSS9n[        UR                  S5      / SQ5        [        UR                  / SQ5        UR                  SSS9n[        UR                  S5      / SQ5        [        UR                  / SQ5        UR                  SSS9n[        UR                  S5      / SQ5        [        UR                  / S	Q5        g )
Nr  rc  r   r   r  r  r   r   r7  )r)   rb  r   r:   r   rT  s      r   test_varstd_ddof+TestMaskedArrayMathMethods.test_varstd_ddofI  s    9i(	9/EFuu!!u$T[[^Y/TYY	*uu!!u$T[[^Y/TYY	*uu!!u$T[[^Y/TYY	*r   c                 X   [        S5      R                  S5      n[        US'   [        R                  " U5      n[        U/ SQ5        [	        U5      n[        U/ SQ5        [        UR                  / SQ5        [	        U5      n[        / SQ/ SQ/ SQ// SQ/ SQ/ SQ/S	9n[        X#5        g )
Nry  rl  r  )r   r   r:  rB  r  )r   r   r   )r   r   r:  r   )r"   rm   rL   r   r2   r   r   r)   )r   r   r  rV  s       r   	test_diag$TestMaskedArrayMathMethods.test_diagU  s    1If%$ggajS)$1gS)$SXXy)3iIy9'I>@S"r   c                    [        / SQ/ SQ/5      n[        UR                  S5      / SQ5        [        UR                  S5      SS/5        [        UR                  S5      SS/5        [        UR                  S5      / S	Q5        [        UR                  S5      SS
/5        [        UR                  S5      SS
/5        [        UR	                  S5      / SQ5        [        UR	                  S5      SS/5        [        UR	                  S5      SS/5        [        UR                  S5      / SQ5        [        UR                  S5      SS/5        [        UR                  S5      SS/5        g )Nr   r  r   r  r   r   r   r   r  x   r   r   )r)   r   rv   r5  r\   rY   r  s     r   test_axis_methods_nomask3TestMaskedArrayMathMethods.test_axis_methods_nomaskc  s	   9i()QUU1Xy)QUU2YB(QUU1X2w'QVVAY,QVVBZ!S*QVVAYC)QUU1Xy)QUU2YA'QUU1X1v&QUU1Xy)QUU2YA'QUU1X1v&r   i Zb)
free_bytesc                     [        [        R                  " SS[        R                  S9[        R                  " S5      S9n[        UR                  5       S5        g )N)'  r  i  r   r   g    @)rM   r   rY  uint16r|   r   rc  r  s     r   test_mean_overflow-TestMaskedArrayMathMethods.test_mean_overfloww  s=     biiH hh~68QVVXw'r   c                    [         R                  " / SQ5      n[         R                  R                  USS  SS9n[         R                  R                  US S SS9n[         R                  R	                  X#SS9n[         R                  R                  USS9n[         R                  R	                  USS9n[        [         R                  R                  XF5      5        g )Nr   r   r   r   r   r   r   r   r   r   r  r   )prependr  r  r   r)   r  rN   diffr   r   )r   r   r   a_prepdiff1r   diff2s          r   test_diff_with_prepend1TestMaskedArrayMathMethods.test_diff_with_prepend  s    HH-.EEquA.##AbqE#3

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

11
%u,-r   c                    [         R                  " / SQ5      n[         R                  R                  US S SS9n[         R                  R                  USS  SS9n[         R                  R	                  X#SS9n[         R                  R                  USS9n[         R                  R	                  USS9n[        [         R                  R                  XF5      5        g )Nr  r   r   r  r   )appendr  r  r  )r   r   r   a_appr  r   r  s          r   test_diff_with_append0TestMaskedArrayMathMethods.test_diff_with_append  s    HH-.EEq!uA.""1QR5"2

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

11
%u,-r   c                     [         R                  " [        SS9   [        R                  R                  [        R                  " S5      5        S S S 5        g ! , (       d  f       g = f)Nz4diff requires input that is at least one dimensionalr*  r   )r  r,  r!  r   r  r  r)   r  s    r   test_diff_with_dim_0/TestMaskedArrayMathMethods.test_diff_with_dim_0  s>    ]]H EEJJrxx{#	  s   4A
A%c                     [         R                  R                  / SQSS9n[         R                  R                  USSS9n[	        [         R                  R                  X5      5        g )Nr  r   r  r   )r  r  )r   r  rN   r  r   r   )r   r   r  s      r   test_diff_with_n_0-TestMaskedArrayMathMethods.test_diff_with_n_0  sI    EE7qAuuzz!qqz)q'(r   r  N)r$  r%  r&  r'  r   rx  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  L  s    <@:&*&/2++D"Q#061 =, & $ & $D
+#'(  45( 6(..$)r   rq  c                        \ rS rSrS rS rSrg)!TestMaskedArrayMathMethodsComplexi  c           
      ,   [         R                  " / SQ5      nUR                  SS5      nUR                  SSSS5      n[         R                  " / SQ5      n[        XS9n[        X$R                  UR                  5      S9n[        X4R                  UR                  5      S9n[         R                  " / SQ5      n[        XS9n	[        X(R                  UR                  5      S9n
[        X8R                  UR                  5      S9nXX4XVXyX4
U l        g )N)$y              @y        Gz.@y        -!@y              !@y        &1?r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  y        "~@y        K7@r  r  r  r  r  r  r  r  r  r  y        -?r   r   r   r  r  r  r  r  s               r   r   .TestMaskedArrayMathMethodsComplex.setup_method  s    HH A B IIaOYYq!Q"HH ' ( "		!'' 23))BHH"56XX ( ) $AGG!45"::bhh#78rs;r   c           
      ^   U R                   u
  pp4pVpxp[        UR                  S S9UR                  5       R                  5       5        [        UR	                  S S9UR                  5       R	                  5       5        [        UR                  SS9R                  UR                  SS9R                  5        [        UR                  5       R                  UR                  5       R                  5        UR                  SS9UR                  SS9p[        UR                  S SS9UR                  5       R                  SS95        [        UR	                  S SS9UR                  5       R	                  SS95        [        S5       H  n[        X   Xm   R                  5       R                  5       5        [        X   US S 2U4   R                  5       R                  5       5        [        [        R                  " X   5      US S 2U4   R                  5       R	                  5       5        M     g )	Nr  r   r   r   r   r  r  r   r  r  s                 r   r  -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    s    <@=r   r  c                   z   \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS r\R*                  R-                  \SS9S 5       rS rS rS rS rS rS rS rS r S r!\R*                  RE                  SSS /5      S! 5       r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S- r/S.r0g/)0TestMaskedArrayFunctionsi  c                     [         R                  " SSSS[        S-  SSSSSSS/5      n[         R                  " / S	Q5      n/ S
Qn/ SQn[        XS9n[        X$S9nUR	                  S5        XV4U l        g )Nr   r   r   r   r   r   r   r   r   r   r   r   r   )r   r)   r   rM   r   ra  )r   r   r   r   r   r   r   s          r   r   %TestMaskedArrayFunctions.setup_method  sq    HHb"b#r#vr2tS"b"MNHHJK11!%!%
% H	r   c                 ^    SS/n[        SU5      n[        USS/5        [        US   S5        g )Nr   r   F)rX   r   rc  s      r   test_masked_where_bool/TestMaskedArrayFunctions.test_masked_where_bool  s3    F"QAQqT1r   c                     / SQn[        US5      n[        X!5        [        UR                  / SQ5        [        US5      n[        X!5        [        UR                  / SQ5        g )Nr   r   rc  r  )rN   r   r   rT   r  s      r   test_masked_equal_wlist0TestMaskedArrayFunctions.test_masked_equal_wlist  sK    !QRRXXy)a#RRXXy)r   c                     / SQn[        US5      n[        UR                  / SQ5        [        UR                  S5        g )Nr   r   rc  )rN   r   r   rI  r  s      r   test_masked_equal_fill_value5TestMaskedArrayFunctions.test_masked_equal_fill_value  s/    !QRXXy)R]]A&r   c                    [        / SQ5      n[        US'   [        [        [	        US5      U5      [        US5      5        [        [        [        US5      U5      [        US5      5        [        [        [        US5      U5      [        US5      5        [        [        [        US5      U5      [        US5      5        [        [        [        US5      U5      [        US5      5        [        [        [        US5      U5      [        US5      5        [        [        [        US5      U5      [        US5      5        [        [        / SQ/ SQ5      / SQ5        g )Nr%  r   r  rn  )rz  rz  r   r   r   )r)   rL   r   rX   r@   rO   rA   rP   rE   rR   rF   rS   rc   rT   r7   rN   r   s     r   test_masked_where_condition4TestMaskedArrayFunctions.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[        S9n[        UR                  [        5      n[        X!5      n[        X5        g )N)r   r   r   r   )rd   r   r|   ro   r   rX   r   )r   r-  r.  ctests       r   test_masked_where_oddities3TestMaskedArrayFunctions.test_masked_where_oddities  s0    \/ekk8,U*U"r   c                     [        S5      n[        [        5         [        SU5        S S S 5        [        US5      n[	        UR
                  / SQ5        g ! , (       d  f       N3= f)Nr   r   )
r   r   r   r   r   r   r   r   r   r   )r"   r   
IndexErrorrN   r   r   rT  s      r   "test_masked_where_shape_constraint;TestMaskedArrayFunctions.test_masked_where_shape_constraint  sF    2J:&A 'Aq!TYY >? '&s   A
A#c           	          [         R                  " SSS/S9n[         R                  " SS9   [         R                  R	                  US   S:  U5      nS S S 5        [        WR                  R                  R                  UR                  R                  5        [        US   [         R                  R                  [         R                  " S5      [         R                  " S5      5      5        g ! , (       d  f       N= f)	Nr   )r5  z<f2)rJ  z<f4r   r`  )overr5  r   )r   r|   rd  r  rX   r   r   r   r;  rM   rd   )r   r   r$  s      r   test_masked_where_structured5TestMaskedArrayFunctions.test_masked_where_structured  s     HHRl;<[[h' ##AcFQJ2B	 (
 	RWW]](("((..9RWEE&&rxx|RWWR[A	C ('s   'C//
C=c                     [         R                  " S5      n[         R                  " S5      n[        [        [         R                  R
                  US:  U5        g )Nr   r   r   )r   r"   r   r  r  rX   rc  s      r   test_masked_where_mismatch3TestMaskedArrayFunctions.test_masked_where_mismatch)  s8    IIbMIIaLj"%%"4"4a!eQ?r   c                    [        [        [        [        S5      5      SS5      / SQ5        [        [	        [        [        S5      5      SS5      / SQ5        [        [        [        [        [        S5      5      / SQS9SS5      R                  / SQ5        [        [	        [        [        [        S5      5      / S	QS9SS5      R                  / S
Q5        [        [        [        [        [        S5      5      / SQS9S5      R                  / SQ5        [        [        [        / SQ/ SQS9S5      R                  / SQ5        g )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   rQ   r   r  rU   r)   r   rN   rT   r  s    r   test_masked_otherfunctions3TestMaskedArrayFunctions.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                 X   [        / SQ/ SQS9n[        UR                  5       / SQ5        [        UR                  S5      / SQ5        [        UR                  S5      / SQ5        [        U5      nUR                  US	9  [        U/ SQ5        [        / S
Q5      n[        / SQ5      n[        US'   [        XCU* 5      n[        U/ SQ5        [        US'   [        XCU* 5      n[        U/ SQ5        [        US   [        L 5        [        US   [        L5        [        US   [        L 5        g )N)g82?g	@g,E|@gE@gŏ1@r  r   )r   r   r   r   rl  r   )g333333?gffffff@r  gffffff@g@r   )g(\?gS㥛@g-@gʡE@gK@r  r%  r&  r   r'  r   )r)   r   r  r6   rL   r{   r   )r   r   r   r   r!  r   s         r   
test_round#TestMaskedArrayFunctions.test_round@  s    ?&(QWWY 45QWWQZ!:;QWWQZ!DEqM	AQ,-&'/"!!OQ-.!!OQ-.!!F"#!r   c                    [        [        R                  R                  SSS5      5      R	                  SS5      n[
        =US S 2S4'   =US'   US'   [        R                  " S[        S9nUR                  S	5        [        R                  " US
US9n[        X2L 5        [        X1R                  S
US95        [        S[        S9nUR                  S
US9n[        X2L 5        g )Nr   r   r  r   r   rB  r   r   rH  r   )decimalsr  )r)   r   r   r  rm   rL   r5   r   r   r  r   r   )r   r   rg  r  s       r   test_round_with_output/TestMaskedArrayFunctions.test_round_with_outputV  s     299$$QB/088A>(..1a4.2a52f: &.E"qf5 !VXXqfX=>vU+1&1 !r   c                    [        SS/S9n[        UR                  5       S5        [        SS/S9n[        UR                  5       [        L 5        [        SS/S9n[
        R                  " S[        S9nUR                  S5        UR                  US9  [        US5        [        SS/S9n[        S	S/S9nUR                  US9  [        US
   S5        [        SS/S9n[        S	S/S9nUR                  US9  [        US
   [        L 5        g )Nrw  Fr   r   Tr   rH  r  g    r   )	r)   r   r  r   rL   r   r5   r   r   )r   r   rg  s      r   test_round_with_scalar/TestMaskedArrayFunctions.test_round_with_scalarh  s     #UG$QWWY"#TF#	V#$#UG$!5)E	FVQ#UG$vTF+	FVBZ##TF#vUG,	Fr
f$%r   c                     [        S5      n[        [        U[        5      5        [	        U[
        R                   " S5      5        g Nr   )rB   r   r  r   r   r   r  s     r   test_identity&TestMaskedArrayFunctions.test_identity  s,    QK
1k*+QA'r   c                    Sn[        [        US5      S5        [        [        U[        5      [        L 5        [	        / SQ5      n[	        / SQ/ SQS9n[        X5      n[        U/ SQ5        [        UR                  / S	Q5        [        Ul        [        X5      n[        UR                  / S	Q5        X-  n[        UR                  UR                  5        [        XC5        [        UR                  UR                  5        X-  n[        UR                  UR                  5        [        X5        [        UR                  UR                  5        g )
N皙r   \(\?)r$  r$  rw  rw  r   )r   r   r   r   r   r  r   )r   r%  gKTj?r%  r   r  )
r   rg   r   rL   r)   r   r   rb   r   r   )r   r   r   r   r   s        r   
test_power#TestMaskedArrayFunctions.test_power  s    E!RL$/a F*+,-)@!KAABQWWo.!KQWWo.FQWWagg&A!AGGQWW-	QWWagg&A!AGGQWW-r   c                    [         R                  " / SQ/ SQ/5      n[        U/ SQ/ SQ/S9n[         R                  " / SQ5      n[         R                  " X3/5      n[        U/ SQ/ SQ/S9n[        / SQ/ S	Q// S
Q/ SQ/S9nX%-  n[        Xv5        [        UR                  UR                  5        X$-  n[        Xv5        [        UR                  UR                  5        X-  n[        Xv5        [        UR                  UR                  5        [        / SQ/ SQ// SQ/ SQ/S9nX5-  n[        Xv5        [        UR                  UR                  5        XS-  n[        Xv5        [        UR                  UR                  5        g )NrC  )r   r   rl  r   rc  r   r  rB  )r   r     )r  iq     r  r   r   r   )r      r)  )r   r)   r   r   )r   a2a2mb1b2b2mrH  r   s           r   test_power_with_broadcasting5TestMaskedArrayFunctions.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reasonc                    [         R                  " SSSS[        S-  SSSSSSS/5      n[         R                  " / S	Q5      n/ S
Qn/ SQn[        XS9n[        X$S9nUR	                  S5        [        US:  US5      n[        U/ SQ5        [        UR                  UR                  5        [        US:  SU5      n[        U/ SQ5        [        UR                  / SQ5        [        US:  U[        5      n[        U/ SQ5        UR                  R                  5       nSXS:*  R                  S5      '   [        UR                  U5        [         R                  " SS9   [        R                  " [        SS9   UR                  [         5      n	S S S 5        S S S 5        [        W	S:  U	[        5      n[        U/ SQ5        [        UR"                  U	R"                  5        g ! , (       d  f       NY= f! , (       d  f       Nb= f)Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   )      "r8  r8  r8  r8  r   r8  r8  r   r8  r8  r   )r   r   r   r   r   r8  r8  r   r8  r   r   r8  )r   r   r   r   r   r   r   r   r   r   r   r   Tro  ra  zinvalid valuer*  )r7  r7  r7  r7  r7  r   r7  r7  r   r7  r7  r   )r   r)   r   rM   r   r{   r   r   rL   r  r:   rd  r  r  RuntimeWarningr   r   r   )
r   r   r   r   r   r   r   r   tmpixms
             r   
test_where#TestMaskedArrayFunctions.test_where  s    HHb"b#r#vr2tS"b"MN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iin E ) #'3'QFGQWWcii(	 ED )(s$   G17G G1 
G.	*G11
G?c                    [         R                  " S 5      n[        S 5      nUR                  5       n[	        [         R
                  R                  SX5      U5        [	        [         R
                  R                  SX"5      U5        g )NT)r   r)   rM   r  r   r  r{   )r   r   r   r  s       r   test_where_object*TestMaskedArrayFunctions.test_where_object  sV    HHTNFFHRUU[[q,a0RUU[[q,a0r   c                    [        S5      n[        US'   US:  n[        X![        5      n[        UR                  UR                  L 5        [        US   [        L 5        [        US   [        L 5        [        US   [        L 5        [        US   [        L5        [        US   [        L5        [        X5        [        U[        U5      n[        UR                  UR                  L 5        [        US   [        L 5        [        US   [        L5        [        US   [        L5        [        US   [        L 5        [        US   [        L 5        g )Nr   r   r:  r   r  ry  )r"   rL   r{   r   r   r   r)  s       r   test_where_with_masked_choice6TestMaskedArrayFunctions.test_where_with_masked_choice  s   2J!F!177"#!!!!F"#!F"#Q!VQ177"#!!F"#!F"#!!r   c                    [        / SQ5      n[        / SQ5      n[        US'   [        X!U* 5      n[        U/ SQ5        [        US'   [        X!U* 5      n[        U/ SQ5        [	        US   [        L 5        [	        US   [        L5        [	        US   [        L 5        [        SS5      n[        US'   [        SS5      S	-  n[        US'   [        / SQ/ S
QS9nUR                  S5      n[        X!U5      n[        XQU5      n[        X65        [	        [        U5      [        L 5        [        U/ SQ5        [        U[        S5      n[        U/ SQ5        [        US[        5      n[        U/ SQ5        g )Nr%  r&  r   r'  r   r   r   r   r   r  r   )r   r   r   r  r  )rz  rz  rz  r   r   )rz  r   r   rz  rz  )	r)   rL   r{   r   r   r"   r:   r>   rb   )r   r   r!  r   r   cmr   s          r    test_where_with_masked_condition9TestMaskedArrayFunctions.test_where_with_masked_condition  s<   &'/"!!OQ-.!!OQ-.!!F"#!1aL"1aL2!/8XXa[!N2!_Qv%&R*+!VQQ*+!QQ*+r   c                 D   [         R                  " S[         R                  S9n[         R                  " S[         R                  S9S-  n[	        US:  X!5      R
                  n[         R                  " [         R                  [         R                  5      n[        X45        g )Nr   r   rx  rP  )r   r"   rr  r  r{   r   result_typer   )r   r   r   r   rV  s        r   test_where_type(TestMaskedArrayFunctions.test_where_type  se    IIarxx(IIarzz*S0QWa#))..2::6T#r   c                     [         R                  " S5      R                  SS5      n[         R                  " S5      n[         R                  " / SQX5      n[	        / SQX5      n[        X45        [        UR                  UR                  5        g )Nry  r   r   )r   r"   rm   r|   r{   r   r   )r   r   r   r  r  s        r   test_where_broadcast-TestMaskedArrayFunctions.test_where_broadcast  s_    IIaL  A&HHQKxx	1(9a#TTZZ*r   c                 ^   [         R                  " S[        4S[        4/5      n[         R                  " / SQUS9n[         R                  " SUS9n[         R                  " / SQX#5      n[         R                  " / SQX#5      n[        XE5        [        UR                  UR                  5        g )Nr   r   r|  r   rS  r   )r   r  r+  )r   r   r   r)   r{   r   )r   rr  r   r   r  r  s         r   test_where_structured.TestMaskedArrayFunctions.test_where_structured)  sx    XXSzC:./HH-R8HHXR(xx	1(XXi&TTZZ*r   c                 R   [         R                  " S[        4S[        4/5      n[         R                  " / SQUS9n[	        / SQU[
        5      n[        / SQU5      n[        UR                  UR                  5        [        X45        [        UR                  UR                  5        g )Nr   r   rP  r   r+  r   )	r   r   r   r)   r{   rL   rX   r   r   )r   rr  r   r  r'  s        r   test_where_structured_masked5TestMaskedArrayFunctions.test_where_structured_masked4  st    XXSzC:./HH-R89a(	1-RXXx~~.R"RWWhmm,r   c                 &   [         R                  " S[        S9n[         R                  US'   [         R                  US'   [
        R                  " [        SS9   [         R                  R                  U5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   z!not supported for the input typesr*  )
r   r"   ro  r  re  r  r,  rD  r  masked_invalidr  s     r   test_masked_invalid_error2TestMaskedArrayFunctions.test_masked_invalid_error?  sc    IIav&vv!vv!]]9!DFEE  #F F Fs    B
Bc                      " S S5      n[         R                  R                  U" 5       5      n[        UR                  [         R
                  " U" 5       5      5        [        UR                  / SQ5        g )Nc                   "    \ rS rSrSrSS jrSrg)CTestMaskedArrayFunctions.test_masked_invalid_pandas.<locals>.SeriesiK  nonsenseNc                 l    [         R                  " S[         R                  [         R                  /5      $ r   )r   r)   re  r  )r   r   r  s      r   	__array__MTestMaskedArrayFunctions.test_masked_invalid_pandas.<locals>.Series.__array__N  s     xxBFFBFF 344r   r   )NN)r$  r%  r&  r'  r   r_  r(  r   r   r   Seriesr\  K  s    E5r   ra  )FTT)r   r  rW  r   r   r)   r   )r   ra  r(  s      r   test_masked_invalid_pandas3TestMaskedArrayFunctions.test_masked_invalid_pandasG  sL    	5 	5 ee""68,399bhhvx&89399&9:r   r  TFc                 `   [         R                  R                  / SQ5      nUR                  [        L d   e[         R                  R                  X!S9nUR                  [        Ld   eUR                  [        L d   e[         R                  " UR                  UR                  5      U:w  d   eg )Nr{  r  )	r   r  r)   r   rb   rW  r   r  r   )r   r  r   r0  s       r   test_masked_invalid_full_mask6TestMaskedArrayFunctions.test_masked_invalid_full_maskU  s     EEKK%ww&   ee""1"0xxv%%%vv""177CII6$>>>r   c                 .   / SQ/ SQ/ SQ/ SQ/n[        / SQU5      n[        U[        / SQ5      5        [        / SQUSS	9n[        U[        / SQ5      5        [        / SQUS
S	9n[        U[        / SQ5      5        [        / SQ/ SQS9n[        X1S
S	9n[        U[        / SQ5      5        [        UR                  / SQ5        [        U/ SQ/ SQ/ SQ/ SQ/S9n/ SQn[        X1S
S	9n[        U[        / SQ5      5        [        UR                  / SQ5        g )Nr   r   r   r   r   rL  r  r  r     r     r  r  r  !   r   r   r   r   r  r  r  r   )r   r   r   r   r  rC  wrap)r  r   r  r   r   r   r   r   r   )rz  r   r  rz  r  r   r   r   r   r  r  )r+   r   r)   r   )r   choiceschosenindices_s       r   test_choose$TestMaskedArrayFunctions.test_choosea  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                     / SQ/ SQ/ SQ/ SQ/n[        S[        S9n[        / SQXS9n[        U[	        / S	Q5      5        [        X#L 5        [        S[        S9n[	        / SQ/ S
QS9n[        XASUS9n[        U[	        / SQ5      5        [        UR                  / S
Q5        [	        U/ SQ/ SQ/ SQ/ SQ/S9n/ SQn[        S[        S9R                  [        5      n[        XASUS9n[        U[	        / SQ5      5        g )Nrh  ri  rj  rm  r   r   ro  r  rp  rr  r   rq  )rD  r  )rz  r  r  rz  r  rs  r  r  )r  r  r  r  )	r5   r   r+   r   r)   r   r   r  r   )r   rt  r  ru  rv  s        r   test_choose_with_out-TestMaskedArrayFunctions.test_choose_with_outx  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                    [        S5      n[        US'   UR                  S5      n[        UR                  S5        [        UR                  S   5        UR                  SS5      n[        UR                  S5        [        UR                  S   5        UR                  SSS9n[        UR                  S5        [        UR                  S   5        UR                  SSSS9n[        UR                  S5        [        UR                  S   5        [        R                  " US	5      n[        [        U[        5      5        [        UR                  S	5        [        US
   [        L 5        [        UR                  S   5        g )Nr   r   )r   r   rZ  r   r   r[  r[  )r   r   r  )
r"   rL   rm   r   ro   r   rR  r   r  r   )r   r   r   r!  s       r   r  %TestMaskedArrayFunctions.test_reshape  s   2J!IIfQWWf%IIaOQWWf%IIfCI(QWWf%IIa#I&QWWf%JJq&!
1k*+QWWf%$6!"r   c           
         S[         4S[         4/n[        U5      n[        US[        4S[        4/5        [	        U[        U5      L 5        [         S4n[        U5      n[        U[        S45        [	        U[        U5      L 5        [         n[        U5      n[        U[
        R                  " [        5      5        [	        U[        U5      L 5        S[         4SS[         4S[         4/4/n[        U5      n[
        R                  " SSSS/4/5      n[        X#5        [	        U[        U5      L 5        S[         S44/n[        U5      n[        U[
        R                  " S[        S44/5      5        [	        U[        U5      L 5        S	[         4/n[        U5      n[        U[
        R                  " S	[        4/5      5        [	        U[        U5      L 5        [
        R                  " S[        S
4/5      n[        U5      n[
        R                  " S[        4SU4/5      n[        U5      n[        U[
        R                  " S[        4SS[        S
4/4/5      5        [	        UR                  S   S   UL 5        g )Nr   r   r   ru  rv  )r   r/  )ru  r/  )rv  r/  )r5  r   r   r   )	r   rJ   r   r-  r   r   r   r   r&  )r   ntyper   rV  	base_type
base_mtypesub_types          r   test_make_mask_descr-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S/n[        U5      n[        UR                  [        5        [        USS/5        [        R
                  " SS/[        S9n[        U5      n[        UR                  [        5        [        USS/5        S[        4S[        4/n[        R
                  " SS/US9n[        U5      n[        UR                  [        5        [        USS/5        S[        4S[        4/n[        R
                  " SS/US9n[        XR                  S9n[        UR                  U5        [        X!5        S[        4S[        4/nS[        4S[        4/n[        R
                  " SS/US9n[        XR                  S9n[        UR                  U5        [        U[        R
                  " SS/US95        [        R
                  " SS	S9S
   n[        [        U[        R                  5      5        [        XR                  S9n[        X!5        [        X!L5        [        R
                  " SSS9S
   n[        XR                  S9n[        XR5        SS/n[        [        /nSn[        R                  " XfU5       H+  u  pn[        [        XUS9n[        U[        L XX4-  5        M-     g )Nr   r   r   r   r   r  r  r  z?,?r   r  TFzcopy=%s, shrink=%s, dtype=%s)r  rE  r   )rI   r   r   r   r   r)   r-  r   r   r  void	itertoolsrh   rb   )r   r   r   mdtypebdtypetest2boolsdtypes	msgformatcpyshrrr  r0  s                r   test_make_mask'TestMaskedArrayFunctions.test_make_mask  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                 :   S[         4S[         4/n[        R                  " / SQUS9n[        U[        5      n[        X25        [        [        U5      n[        X25        [        US5      n[        X25        [        R                  " / SQUS9n[        X$5      n[        R                  " / SQUS9n[        X55        S[         4S	[         4/n[        R                  " / SQUS9n [        X$5      nS[         4SS
[         4S[         4/4/n[        R                  " SS/US9n[        R                  " SS/US9n	[        R                  " SS/US9n
[        [        X5      U
5        [        R                  " SS/5      n[        X5      [        L d   eg ! [         a     Nf = f)Nr   r   )r  r  r  r  r   F)r  r  r  r  )r  r  r  r  r5  rJ  ru  rv  rO  rQ  r   r  rM  )r-  r   r)   rK   rb   r   r!  )r   r5  r   r   r  rV  	othertyper   r  bmaskcntrlr   s               r   test_mask_or%TestMaskedArrayFunctions.test_mask_or  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 
FFc                 ^   [        / SQ/ SQS9n[        / SQ/ SQS9n[        / SQ/ SQ// SQ/ SQ/S9n[        X5      (       d   e[        XSS9(       a   e[        X5      (       d   e[        X5      (       d   e[        XSS9(       d   e[        X"5      (       d   e[        X"SS9(       a   eg )	Nr   r  r   r   r  r7  Fr0  )r)   r   r  s       r   test_allequal&TestMaskedArrayFunctions.test_allequal(  s    )),)),9i(	9/EF~~~AU333~~~ ~~~///~~~AU3333r   c                    [         R                  " / SQ[        S9n[        [	        U5      U5        [         R                  " SS/S[        4S[        4/S9n[	        U5      n[         R                  " / SQ[        S9n[        X#5        S[        4SS[        4S	[        4/4/nS
S/n[         R                  " XTS9n[	        U5      n[         R                  " / SQ[        S9n[        X#5        g )Nrc  r   r  r  r   r   r  ru  rv  r  rP  )r   r   r   r   r   r   )r   r)   r-  r   r9   )r   r   r   rV  r  r   s         r   test_flatten_mask*TestMaskedArrayFunctions.test_flatten_mask9  s     xx	.\$'.xx(#tsDk0JKD!((<t4T#+tTlT4L%ABC[)xx+D!((-T:T#r   c                     [         R                  " / SQ5      n[        USS9n[        U5      n[        X2R                  5       5        [	        US5      n[        X2R	                  SS5      5        g )Nr{  Fr   r  r   )r   r)   r!   r   rm   )r   r   rU  r   s       r   test_on_ndarray(TestMaskedArrayFunctions.test_on_ndarrayK  sQ    HH\"!% AwT668$q&!T99Q?+r   c                 ^   [         R                  " S5      nSUl        [         R                  " / SQ5      nU/ SQ   n[         R                  R                  X!SS9n[        XC5        [         R                  R                  U5      n[         R                  R                  X%SS9n[        XC5        g )Nr:  rE  )TFTTr  r   r  )r   r"   ro   r)   r  r  r   )r   r(  condrV  r   marrs         r   r  &TestMaskedArrayFunctions.test_compressT  s~     iil	xx12i.uu~~da~0T#uu{{3uu~~dq~1T#r   c                    [         R                  R                  SS/5      n[         R                  R                  U5      n[	        [        U5      [         R                  L 5         " S S[         R                  5      n[         R                  R                  U" SS95      n[         R                  R                  U5      n[	        [        U5      UL 5        [         R                  R                  S/S//5      n[        UR                  S5        [         R                  R                  S/////5      n[        UR                  S5         " S S[        5      n[         R                  R                  U" / // //5      5      n[        UR                  S5         " S	 S[        5      n[         R                  R                  U" / // //5      5      n[        US
5        g )Nr   r   c                       \ rS rSrSrg)3TestMaskedArrayFunctions.test_compressed.<locals>.Aii  r   Nr$  r%  r&  r'  r(  r   r   r   r5  r  i      r   r5  r   rm  c                       \ rS rSrSrg)3TestMaskedArrayFunctions.test_compressed.<locals>.Miw  r   Nr  r   r   r   r=  r  w  r  r   r=  c                       \ rS rSrS rSrg)r  i~  c                     g)Nre  r   r  s    r   r  >TestMaskedArrayFunctions.test_compressed.<locals>.M.compressed  s    r   r   N)r$  r%  r&  r'  r  r(  r   r   r   r=  r  ~  s    r   re  )
r   r  r)   r  r   r  r   r   r   r   )r   r   r   r5  r=  s        r   r  (TestMaskedArrayFunctions.test_compresseda  s[    EEKKAuu"T
bjj()	

 	 EEKK
#uu"T
a  uu!aS	*TYY"uuQC5',TYY"	 	 uuB4",0TYY"	 	 uuB4",0T2r   c                 *   [        [        R                  " S5      S5      n[        R                  " SS/5      n[        / SQS5      n[        R                  R                  XSS9n[        XC5        [        R                  R                  XSS9n[        XCS S 5        [        R                  R                  XS	S9n[        XCSS 5        [        / S
QS5      n[        R                  R                  XSSS9n[        XC5        [        R                  R                  XSSS9n[        XCS S 5        [        R                  R                  XS	SS9n[        XCSS 5        [        R                  R                  SS// SQ5      n[        U[        / SQS5      5        SS/n[        / SQS5      n[        R                  R                  XSS9n[        U[        / SQS5      5        [        R                  R                  XSS9n[        U[        / SQS5      5        g )Nr   r   r   )r   r   r   r   r  r   r   rY  rC  samevalid)r   r   r   r   r  r   F)rD  propagate_maskr7  )r   r   r   r   )r   r   r   r   )r  )r   r   r   r   r   T)r   r   r   r   r   )rN   r   r"   r)   r  convolver   )r   r   r   r  r   s        r   test_convolve&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   )ra  N)1r$  r%  r&  r'  r   r  r  r  r   r  r  r  r  r  r  r  r  r!  r&  r2  r  r  skipifr   r<  r?  rB  rF  rJ  rM  rQ  rT  rX  rb  r  re  rw  rz  r  r  r  r  r  r  r  r  r  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r   r  c                   V    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rSrg)TestMaskedFieldsi  c           	          / SQn/ SQn/ SQnS[         4S[        4S/nS[        4S[        4S[        4/n/ SQn[        [	        [        XU5      5      XdS	9n[        XvXES
9U l        g )Nrn  )rw  rx  r  r  r  )r  r  threefourfiver   r   r  r!  r  r  )baser   ddtyper  )r   r   r-  r)   r   r   r  r   )r   ilistflistslistr  r  r   r  s           r   r   TestMaskedFields.setup_method  sh    )7*sElL9+T{S$K8T#eE23$MdfL	r   c                    U R                   S   nU R                   S   n[        Ul        [        UR                  [
        R                  " UR                  US95        [        Ul        [        UR                  [
        R                  " UR                  US95        SUl        [        UR                  [
        R                  " UR                  US95        SUl        [        UR                  [
        R                  " UR                  US95        / SQUl        [        UR                  [
        R                  " S Vs/ s H  o3X34PM     snUS95        g s  snf )Nr  r  r   FTr  )r   rb   r   r   r   r   r|   ro   rL   rd   r)   )r   r  r  r   s       r   test_set_records_masks'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                    U R                   S   nUS   US   US   pCn[        [        S4US'   [        UR                  [        5        [        UR
                  / SQ5        [        UR                  [        5        [        UR
                  [        SS	S
S/5        [        UR                  S5        [        UR
                  / SQ5        g )Nr  r   r   r!  r   r   )r   r   r   r   r   rx  r  r  r  r:  )   pirM  s   three   four   fiver   r   r   r   r   r   r   r   r  base_abase_bbase_cs        r   test_set_record_element(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                    U R                   S   nUS   US   US   pCn[        [        S4US S& [        UR                  [        5        [        UR
                  / SQ5        [        UR                  [        5        [        UR
                  [        [        [        SS	/5        [        UR                  S
5        [        UR
                  / SQ5        g )Nr  r   r   r!  r   r   )r   r   r   r   r   r  r  r:  )r  r  r  r  r  r  r  s        r   test_set_record_slice&TestMaskedFields.test_set_record_slice  s    yy $(ItCy$s)D>RaV\\3'V\\?3V\\5)V\\BBS#9:V\\5)V\\<	>r   c                     U R                   S   n[        US'   S HB  n[        X   R                  / SQ5        [        X   R                  UR                  U   5        MD     g)zCheck record accessr  r   )r   r   r!  r  N)r   rL   r   r   r   )r   r  r  s      r   test_mask_element"TestMaskedFields.test_mask_element  sK    yy Q A7

16 !r   c                     S[         4S[        4/n[        SUS9n[        [	        U5      [
        R                  " / SQSS/S95        [        US S & [        [	        U5      [
        R                  " / SQSS/S95        g )	Nr   r   r   r   )r  r  r  )r   |b1)r   r  )r  r  r  )r   r   r5   r   r?   r   r)   rL   )r   rF  r   s      r   test_getmaskarray"TestMaskedFields.test_getmaskarray  s{    *sEl+Qf%\$'XX6%1<$@B	C Q\$'XX6%1<$@B	Cr   c                 d   [        [        [        R                  " S5      [        R                  R                  S5      5      5      n[        R                  " U5      n[        US[        4S[        4/S9nSUR                  S'   [        R                  " S/SS/-  -   [        S9nUR                  [        5      n[        XRR                  5       5        [        UR                  U5        UR                  [        S	45      n[        XR5        [        UR                  UR                  S
S	5      5        g )Nr   r   r   r   r  r   r      r   r   )r   r   r   r"   r   r   r)   r   r   r-  r  r   rk   rm   )r   iteratorr   r   controlmaskr   s         r   	test_viewTestMaskedFields.test_view  s    BIIbM299>>"+=>?xx!(C<#u">?q	hhsR1#X~T:vve}T::<(TYY,vvuaj!T TYY 3 3B :;r   c           
      |  ^ S[         4S[         4/n[        [        [        [        R
                  R                  S5      [        R                  " S5      5      5      US9m[        R                  " [        [        / SQ/ SQ5      5      S[        4S[        4/S9Tl	        U4S jnU" S5        U" S	5        U" S
5        g )Nr   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   c                   > [        [        TU    5      [        5        [        TU    R                  TR                  U    5        [        TU    R
                  TR
                  U    5        [        [        TU S4   5      [        5        [        TU S4   R                  TR                  U S4   5        [        TU S4   R
                  TR
                  U S4   5        g )N.)r   r  ra   r   r   r   r   )r8  r   s    r   _test_index2TestMaskedFields.test_getitem.<locals>._test_index  s    adU+ 1QWWQZ8 1QWWQZ8a3i+6 1S53@ 1S53@r   r   r   r.  )
r   r)   r   r   r   r   r   r"   r-  r   )r   rF  r  r   s      @r   test_getitemTestMaskedFields.test_getitem  s    ,e-$s299>>"-ryy}=>fM$s#A#A C D"%tsDk :<	A 	AABr   c                    [         R                  " S[        4S[        4/5      n[         R                  R                  SS/US9nSUS   S'   [        US   [         R                  " SS/5      5        S	US   S'   [        US   [         R                  " SS	/5      5        [         R                  " S[        4S[        4/5      n[         R                  " S
S/US9n[         R                  R                  SUS9nSUS   S'   [        UR                  U5        [         R                  R                  SUS9nSUS   S'   [        UR                  U5        [         R                  " SS/US9n[         R                  R                  SUS9nUR                  5         SUS   S'   [        UR                  U5        [         R                  R                  SUS9nUR                  5         SUS   S'   [        UR                  U5        g )Nr   r   )r   r   )r   r   r   r   r   r   r   r  )TTr  r   r   )r   r   r   r   r  r   r   r)   r-  r  r   r  )r   rF  r  r  rV  r   s         r   test_setitem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                     [         R                  R                  SSS9n[         R                  R                  S5      nXS'   [	        UR
                  / SQ5        g )Nr   Tr   r   r   r  )r   r  rM   r"   r   r   )r   mask_0dr(  s      r   test_setitem_scalar$TestMaskedFields.test_setitem_scalar=  sB    %%$$QT$2eell1oA388%9:r   c                     U R                   S    H.  n[        [        U5      [        U R                   S   5      5        M0     g )Nr  r  )r   r   r   )r   recs     r   test_element_len!TestMaskedFields.test_element_lenD  s1    99V$CS3tyy':#;< %r   r   N)r$  r%  r&  r'  r   r  r  r  r  r  r  r  r  r  r  r(  r   r   r   r  r    s<    M5&B >7
C< (&<;=r   r  c                        \ rS rSrS rS rSrg)TestMaskedObjectArrayiJ  c                    [         R                  R                  S S /5      n[        [        4 GH  n[         R
                  " S5      R                  U5      n[         R
                  " S5      R                  U5      nX1S'   XAS'   [        US   UL 5        [        US   UL 5        [        [        US   [        5      5        [        [        US   [        5      5        [        US   S   UL 5        [        US   S   UL 5        [         R                  R                  US'   [        US   UL 5        [        [        US   [        5      5        [        [        US   [        5      5        [        US   R                  S5        [        US   S   UL 5        [        US   R                  U5        [        US   R                  S5        [        US   S   R                  U5        [        US   S   R                  S5        GM     g )	Nr   r   r   r   r   .)r   .r   T)r   r  r)   r   ro  rP  r   r   r  r   rL   r   r   r   )r   r(  rr  a0a1s        r   r  "TestMaskedObjectArray.test_getitemL  s   eekk4,'&/B!!"%B!!"%BFFCFbL!CFbL!Js5z;78Js5z;78CJrNb()CJrNb()UU\\CFCFbL!Js5z;78Js5z;78U$/CJrNb() Qb)Qd+UB,,b1UB,,d33 "r   c                    [         R                  R                  S S /5      n[         R                  " [         R                  R                  /[        5      S   US'   [        UR                  S   [         R                  R                  L 5        [        US   [         R                  R                  L 5        [         R                  R                  US'   [        US   [         R                  R                  L 5        g )Nr  r   )r   r  r)   rL   ro  r   r   )r   r(  s     r   test_nested_ma$TestMaskedObjectArray.test_nested_mai  s    eekk4,'XXruu||nf5e<E
 	ruu||+, 	A"%%,,&' AA"%%,,&'r   r   N)r$  r%  r&  r'  r  r  r(  r   r   r   r  r  J  s    4:(r   r  c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestMaskedViewiz  c                 ^   [        [        [        R                  " S5      [        R                  R                  S5      5      5      n[        R                  " U5      n[        US[        4S[        4/S9nSUR                  S'   [        R                  " S/SS/-  -   [        S9nX#U4U l
        g )	Nr   r   r   r   r  r   r   r  )r   r   r   r"   r   r   r)   r   r   r-  r   )r   r  r   r   r  s        r   r   TestMaskedView.setup_method|  s    BIIbM299>>"+=>?xx!(C<#u">?q	hhsR1#X~T:k*	r   c                     U R                   u  pnUR                  5       n[        [        U[        5      5        [        UR                  UR                  5        [        UR                  UR                  5        g r   )r   r  r   r  r   r   r   r   r   r   r   r  r   s        r   test_view_to_nothing#TestMaskedView.test_view_to_nothing  sN    !%+vvx
4-.TZZ)TZZ)r   c                 *   U R                   u  pnUR                  [        R                  5      n[	        [        U[        5      (       + 5        [        XBR                  5        [        XAR                  UR                  5      R                  5       5        g r   )r   r  r   r   r   r  r   r   r   r   r   r2  r  s        r   test_view_to_type TestMaskedView.test_view_to_type  s^    !%+vvbjj!Jt[112T77#T99QWW#5#=#=#?@r   c                     U R                   u  pnUR                  [        5      n[        [	        U[
        5      5        [        XAR                  5       5        [        UR                  U5        g r   )	r   r  r   r   r  r   r   rk   r   r  s        r   test_view_to_simple_dtype(TestMaskedView.test_view_to_simple_dtype  sH    !%+vve}
4-.T::<(TYY,r   c                 $   U R                   u  pnUR                  S[        4S[        4/5      n[        UR                  R
                  R                  S5        [        US   US   5        [        US   US   5        US   R                  S[        4S[        4/5      n[        [        U[        5      5        [        UR                  R
                  R                  S5        [        US   US   S   5        [        US   US   S   5        US   R                  S[        4S[        4/5      n[        [        U[        5      5        [        UR
                  R                  S5        [        US   US   S   5        [        US   US   S   5        g )Nr5  rJ  )r5  rJ  r   r   r   r   )
r   r  r   r   r   r   r;  r   r  r   r  s        r   test_view_to_flexible_dtype*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                    U R                   u  pnUR                  [        S45      n[        [	        U[
        5      5        [        XA5        [        UR                  UR                  SS5      5        US   R                  [        S45      n[        [	        U[
        5      5        [        XAS   5        [        UR                  S5        US   R                  [        S45      n[        [	        U[
        5      5        [        XAS   5        g )Nr   r   r   r  )	r   r  r   r   r  r   r   r   rm   r  s        r   test_view_to_subdtype$TestMaskedView.test_view_to_subdtype  s    !%+vvuaj!
4-.T TYY 3 3B :;tyy%$
4-.T7#TYY'uzz5!*%
4-.T8$r   c                    U R                   u  pnUR                  [        S4[        R                  5      n[        XA5        [        [        U[        R                  5      5        [        [        U[        5      (       + 5        g )Nr   )	r   r  r   r   r  r   r   r  r   r  s        r   test_view_to_dtype_and_type*TestMaskedView.test_view_to_dtype_and_type  sU    !%+vvuaj"++.T 
4-.Jt[112r   r  N)r$  r%  r&  r'  r   r  r  r  r  r  r  r(  r   r   r   r   r   z  s&    +*A-,(%"3r   r   c                        \ rS rSrS rS rSrg)TestOptionalArgsi  c                    [         R                  " S5      R                  S5      n[         R                  " S[        S9R                  S5      nSUS S 2S S 2S4'   [         R
                  R                  XS9nS nS	 nS
 H  nU" XcU5        U" XcU5        M     S H  nU" XcU5        M     [         R                  " S5      R                  S5      S-  S:H  n[         R
                  R                  XS9nS H  nU" XcU5        U" XcU5        M     g )N      8@rX  r   r   Tr   r   c           	          [         R                  " U 5      n[        R                  R                  U 5      n[	        U" USS9SS S24   U" USS S24   SS95        [	        U" USS9SS S24   U" USS S24   SS95        g )Nr   r  .r   r  )rU  __getattribute__r   r  r   r;  r   r   numpy_fma_fs        r   testaxis4TestOptionalArgs.test_ndarrayfuncs.<locals>.testaxis  s    ,,Q/G55))!,D aaSbS171S"W:A3NOae,S"W5 3ss7%8:r   c           	         [         R                  " U 5      n[        R                  R                  U 5      n[	        U" USS9R
                  U" USS9R
                  5        [	        U" USS9R
                  U" USS9R
                  5        [	        U" USSS9SS S24   U" USS S24   SSS95        [	        U" USSS9SS S24   U" USS S24   SSS95        g )	NTkeepdimsFr   r  r#  .r   r  )rU  r  r   r  r   ro   r  s        r   testkeepdims8TestOptionalArgs.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CRC@ 3ss7!dCEaed;CGD 3ss7%$GIr   )rv   r5  rc  ra  rb  r  r   r   )r   r   )r   r"   rm   r|   r-  r  r)   )r   r   rU  r   r  r%  r;  s          r   test_ndarrayfuncs"TestOptionalArgs.test_ndarrayfuncs  s     IIdO##G,HHRt$,,W5!Ab&	EEKKK"	:	I  7AQ1q! 7  AQ1   YYr]""7+A-2EEKKK"AQ1q!  r   c           	      <   [         R                  " S5      R                  S5      n[         R                  " S[        S9R                  S5      nSUS S 2SS S 24'   [         R
                  R                  XS9n[        [        U5      S5        [        [        US	S
9S[        S5      -  5        [        [        USS
9S[        S5      -  5        [        [        USS9S[        S5      -  5        [        [        US	SS9S[        S5      -  5        [        [        USSS9S[        S5      -  5        [        [        USS
9S[        S5      -  5        [        [        [        USS
9  [        [        [        USS
9  [         R
                  R                  U[        S9n[        [        U5      S5        [        [        US	S
9S[        S5      -  5        [        [        USS
9S[        S5      -  5        [        [        USS9S[        S5      -  5        [        [         R                  " [        USS95      S5        [        [        US	SS9S[        S5      -  5        [        [        USSS9S[        S5      -  5        [        [        USS
9S[        S5      -  5        [        [        [        USS
9  [        [        [        USS
9  [        [        [         R
                  R                  5      S5        [        [        [        [         R
                  R                  S	5      S	S
9  g )Nr  rX  r   r   Tr   r   r  r   r  r   )r   r   r  r   r  r"  r7  r$  )r   r   r   )r   r   r   r.  r  r   r   )r   r"   rm   r|   r-  r  r)   r   r0   rd   r   r!  r   rb   r   rL   )r   r   rU  r   s       r   
test_countTestOptionalArgs.test_count  sK    IIdO##G,HHRt$,,W5!Aa%EEKKK"U1Xr"U11%qe}5U15)1T$Z<8U1t,bg.>?U11t4aWoFU1548!DM/JU12&$u+6j%7i2 EEKKK'U1Xr"U11%qe}5U15)1T$Z<8U1t,bg.>?RWWU1t45q9U11t4aWoFU1548!DM/JU12&$u+6j%7i2 	U255<<(!, 	iAQ?r   r   N)r$  r%  r&  r'  r'  r*  r(  r   r   r   r  r    s    -"^$@r   r  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS r\R"                  R%                  SS9S 5       r\R"                  R%                  SS9S 5       rS rS rSrg)TestMaskedConstanti  c                    [        U" [        R                  R                  S5      [        R                  R                  L 5        [        R                  " / SQ5      nU" [        R                  R                  U5      n[        U[        R                  R                  L5        [        [        U[        R                  R                  R                  5      (       + 5        [        UR                  UR                  5        [        [        R                  R                  U5      [        R                  " UR                  [        S95        g )Nr   r   r   )r   r   r  rL   r)   r  r  MaskedConstantr   ro   r>   rd   r-  )r   r   vectorr  s       r   _do_add_testTestMaskedConstant._do_add_test   s    BEELL!$45 )$RUU\\6* 	beell*+Jvruuzz'@'@AABV\\6<<0RUU]]6*BGGFLL,MNr   c                 B    U R                  [        R                  5        g r   )r1  r   r   r  s    r   
test_ufuncTestMaskedConstant.test_ufunc.  s    "&&!r   c                 (    U R                  S 5        g )Nc                 
    X-   $ r   r   r   r   s     r   r   2TestMaskedConstant.test_operator.<locals>.<lambda>2  s    qur   )r1  r  s    r   test_operator TestMaskedConstant.test_operator1  s    ,-r   c                 4   [         R                  R                  [         R                  R                  5      n[	        [        U[         R                  R                  R                  5      (       + 5        [	        U[         R                  R                  L5        g r   )r   r  r)   rL   r   r  r  r/  rK  s     r   	test_ctorTestMaskedConstant.test_ctor4  sS    EEKK% 	Jq"%%**";";<<=%&r   c                    [        [        [        R                  R                  5      S5        [        R                  R
                  R                  [        R                  R                  R                  5      n[        [        U5      S5        g )NrL   )
r   r  r   r  rL   r   __new__r  r/  r   )r   masked2s     r   	test_reprTestMaskedConstant.test_repr<  sS     	T"%%,,'2 %%##++BEEJJ,E,EFg1r   c                    SSK Jn  [        S[        R                  S-   5       H  nU" 5        n[        R
                  " [        R                  R                  X2S9  UR                  S5        [        R                  " U5      nS S S 5        [        W[        R                  R                  L 5        M     g ! , (       d  f       N8= f)Nr   )BytesIOr   r   r  )iorE  r  r  r  dumpr   r  rL   seekloadr   )r   rE  r  r;  r0  s        r   test_pickleTestMaskedConstant.test_pickleE  sx    1f559:EaBEELL!<q	kk!n  C255<<'( ;s   AB55
C	c                     [        [        R                  R                  R	                  5       [        R                  R                  L [        R
                  R	                  5       [        R
                  L 5        g r   )r   r   r  rL   r  True_r  s    r   r  TestMaskedConstant.test_copyO  sC     	EELL255<</HHMMOrxx'	)r   c                     SS K n[        UR                   " [        R                  R                  5      [        R                  R                  L 5        g r  )r  r   r   r  rL   r   r  s     r   
test__copyTestMaskedConstant.test__copyV  s.    IIbeell#ruu||3	5r   c                     SS K n[        UR                  " [        R                  R
                  5      [        R                  R
                  L 5        g r  )r  r   r  r   r  rL   rP  s     r   r   TestMaskedConstant.test_deepcopy[  s.    MM"%%,,'255<<7	9r   c                    [         R                  R                  n[        [         R                  R                  R
                  [        R                  USS5        [        [        [        R                  UR                  SS5        [        [        [        R                  UR                  SS5        [         R                  R                  R                  [         R                  R                  5      n[        [        [        R                  USS5        [        [        [        R                  UR                  SS5        [        [        [        R                  UR                  SS5        g )Nr   r   F)r   r  rL   r   r  r   r  setitemr!  r   r   r  r   )r   origr  s      r   test_immutable!TestMaskedConstant.test_immutable`  s    uu||beejj**H,<,<dBJj!1!1499b!Dj("2"2DIIr5Iuu||  !2!23j("2"2D"a@j("2"2DIIr1Ej("2"2DIIr5Ir   c                    [         R                  " S[        5      n[        [        [
        R                  US[         R                  R                  5        [        [        [        [         R                  R                  5        g r  )	r   r|   r   r   r   r  rV  r  rL   )r   a_is     r   test_coercion_int$TestMaskedConstant.test_coercion_intk  sD    hhr3i!1!13BEELLIibeell3r   c                     [         R                  " S[        5      n[        [        [
        R                  US[         R                  R                  5        [        [         R                  " US   5      5        g r  )r   r|   r   r   r  r  rV  r  rL   r   r  )r   a_fs     r   test_coercion_float&TestMaskedConstant.test_coercion_floatp  sE    hhr5![("2"2CRUU\\JR!"r   zSee gh-9750r4  c                     [         R                  " SS5      n[         R                  R                  US'   [	        US   S5        g )Nr   U10rj  r   r|   r  rL   r   )r   a_us     r   test_coercion_unicode(TestMaskedConstant.test_coercion_unicodeu  s1    hhr5!%%,,BSWd#r   c                     [         R                  " SS5      n[         R                  R                  US'   [	        US   S5        g )Nr   S10s   --rd  )r   a_bs     r   test_coercion_bytes&TestMaskedConstant.test_coercion_bytes{  s1    hhr5!%%,,BSWe$r   c                      " S S[        [        R                  R                  5      5      nU" 5       n[	        X!" 5       L 5        [	        U[        R                  R                  L5        [        [        U5      S5        g )Nc                       \ rS rSrSrg)-TestMaskedConstant.test_subclass.<locals>.Subi  r   Nr  r   r   r   Subro    r  r   rp  rL   )r  r   r  rL   r   r   r  )r   rp  r   s      r   test_subclass TestMaskedConstant.test_subclass  sU    	$ruu||$ 	 ESU
%&a(+r   c                     [        [        [        [        R                  R
                  SS5        [        [        [        [        R                  R
                  S[        R                  5        g )Nro   r  r   )r   r  setattrr   r  rL   rq  r  s    r   test_attributes_readonly+TestMaskedConstant.test_attributes_readonly  s6    ngruu||WdKngruu||WbhhOr   r   N)r$  r%  r&  r'  r1  r4  r:  r=  rB  rJ  r  rQ  r  rX  r\  r`  r  r  xfailrf  rk  rq  ru  r(  r   r   r   r-  r-    s    O".'2))5
9
	J4
#
 [[m,$ -$
 [[m,% -%
,Pr   r-  c                       \ rS rSrS rSrg)TestMaskedWhereAliasesi  c                    [        [        R                  " S/5      [        R                  " S5      5      n[	        UR
                  S/5        [        [        R                  [        R                  5      n[	        UR
                  S5        [        R                  R                  [        R                  [        R                  * 5      n[	        UR
                  S5        [        R                  R                  / SQSSS9n[        UR
                  [        R                  R                  L 5        [        R                  R                  / SQSSS9n[	        UR
                  S/S-  5        g )	Ng      i TFr{  r   rQ  r   )
rW   r   r)   r  r   r   r  r  r   rb   )r   r0  s     r   test_masked_values)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   ry  ry    s    ,r   ry  c                      [         R                  R                  / SQ/ SQS9n [        [         R                  " U 5      S/S//5        g )Nrh  )r   r   r   r   r   r   r   )r   r  r)   r   argwherer  s    r   test_masked_arrayr    s2    
L|4AQ1#s,r   c                  B   [         R                  R                  / SQ5      n [         R                  R                  U S:H  U SS9n[	        U R
                  / SQ5        [         R                  R                  / SQ/ SQS9n [         R                  R                  U S:H  U SS9n[	        U R
                  / SQ5        [         R                  R                  [         R                  S	S
SS/5      n [         R                  R                  U SS9n[	        U R
                  / SQ5        g )Nr{  r   Fr  )FFTFr  r   )TFTFr   r   r   )TFFFF)r   r  r)   rX   r   r   r  rW  )r   r  s     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                     [         R                  R                  / SQSS9n [         R                  R                  / SQSS9n[         R                  R                  X5      n/ SQn/ SQn[	        UR
                  U5        [	        UR                  U5        [         R                  R                  S5      n [         R                  R                  S5      n[         R                  R                  X5      nS	/S
-  nS/S-  S/S
-  -   n[	        UR
                  S   U5        [	        UR                  U5        [         R                  R                  XS S9n[	        UR
                  S   U5        [	        UR                  U5        g )Nr   r   r  )r   r   r   )r   r   r   r   r   r   )FTFFFTr  )r   r   r   r   Tr   Fr  r  )	r   r  rN   r  r   r   r   r  rd   )r   r   r  expected_datar{  s        r   test_append_masked_arrayr    s   
7!,A
7!,AUU\\!F&M<Mv{{M2v{{M2
A


5AUU\\!FC!GMFQJ%1,Mv{{26v{{M2UU\\!T\*Fv{{26v{{M2r   c                  h   [         R                  R                  / SQSS9n [         R                  R                  / SQ/ SQ/S5      n[	        [
        [         R                  R                  XSS9  [         R                  R                  U [         R                  S S 24   USS9n[         R                  R                  S	S
5      n[         R                  R                  US	S/'   UR                  S5      n[        UR                  UR                  5        [        UR                  UR                  5        g )Nr   r   r  r  r  r  r   r  r   r   r   rl  )r   r  rN   rW   r   r!  r  newaxisr"   rL   rm   r   r   r   )r   r   r  r'  s       r   #test_append_masked_array_along_axisr    s    
7!,A
Y	2A6A *beellAq9UU\\!BJJqL/11\5Fuu||Ar"Huu||HaV&Hv{{HMM2v{{HMM2r   c                  2    [        [        S5      S:H  5        g )Ny      ?      ?y@xD        )r   r1   r   r   r   test_default_fill_value_complexr    s    v&,67r   c                  d    [        / SQ/ SQS9n [        R                  " U SU S9n[        XL 5        g )NrC  rc  r   r   r  )r)   r   r   r   r   s     r   test_ufunc_with_outputr    s+     	l+A
q"!AAFOr   c                     [        / SQ/ SQS9n [        / SQ/ SQS9n[        / SQ/ SQS9n[        / SQ/ SQS9nUR                  5       n[        R                  " XU5      nUR                  5       n[        R                  " XUS9nUR                  5       n[        R                  " XU4S9n	[	        UR
                  UR
                  5        [	        UR                  UR                  5        [	        U	R
                  UR
                  5        [	        U	R                  UR                  5        [	        UR
                  UR
                  5        [	        UR                  UR                  5        g	)
z/Test that masked arrays are immune to gh-10459 r   r   r   r  r  rc  )rL  r  rn  r  N)r)   r  r   r   r   r   r   )
r   r   r  r'  out_posres_posout_kwres_kwout_tupres_tups
             r   test_ufunc_with_out_variedr    s     \	2A\	2A\	2C\	2HhhjGffQ7#GXXZFVVAf%FhhjGffQz*Gx}}-x}}-x}}-x}}-x}}-x}}-r   c            
         [         R                  " S[        S4SS[        4/4/5      n [	        / SQS4/ SQS4// SQS4/ SQS	4//U S
9n[         R
                  R                  US   S   S'   UR                  U 5      nUR                  R                  [         R                  " U 5      R                  :X  d   eUR                  R                  R                  [         R                  " U 5      R                  :X  d   e[        X5        [        XR                  UR                  SS9L 5        [        [        UR                  UR                  SS95      [         R                  5        UR                  UR                  SS9n[        UR                  R                  5        [        UR                  R                  R                  5        [         R                  " XSS9nUR                  R                  [         R                  " U 5      R                  :X  d   eUR                  R                  R                  [         R                  " U 5      R                  :X  d   e[        X5        [        U[         R                  " XS SS9L 5        [         R                  " XR                  SSS9n[        UR                  R                  5        [        UR                  R                  R                  5        g )Nr+  r   r   r   r   rc  rd  )r   )r   r   r   Fr  )subokr[  r[  T)r   r  )r   r  r  )r   r\  r  )r   r   r   r   r)   r  rL   r   r;  r   r   r   r  r   rR  f_contiguous)descrr   x_ax_fx_a2x_f2s         r   test_astype_mask_orderingr    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   r  r  r  z'ignore::numpy.exceptions.ComplexWarningc                    [         R                  R                  [        SU 5      SS9nUR	                  U5      n[        UR                  S:H  5        [        UR                  U :H  5        [        UR                  R                  U :H  5        [        UR                  S:H  5        [        UR                  U:H  5        [        UR                  R                  U:H  5        [        X#5        g )Nr   r   r0  )	r   r  r)   rd   r   r   rI  r   r   )r  r  srcdsts       r   test_astype_basicr  #  s    
 %%++d1clq+
1C
**S/CCNNa CIICNN  C'(CNNa CIICNN  C'(r   c                     [         R                  " / 5      n [         R                  " SU 5      n[         R                  R	                  U5      n[        UR                  UR                  5        [        UR                  UR                  5        [         R                  R	                  XS9n[        UR                  UR                  5        [        UR                  UR                  5        g )Nr   r   )r   r   r5   r  r)   r   ro   )rr  r   r  s      r   test_fieldless_voidr  6  s    	"B
BA 
QB177#177#	Q	B177#177#r   c                      [         R                  R                  n [         R                  R                  SU R                  S9nSUl        [        U R                  R
                  S5        g )Nr   r   r  r   )r   r  rL   r)   r   ro   r   r8  s     r   0test_mask_shape_assignment_does_not_break_maskedr  E  sB    
A
AAFF#AAGr"r   r   zHno docstrings present to inspect when PYTHONOPTIMIZE/Py_OptimizeFlag > 1r4  c                      S n Sn[        [        R                  R                  R	                  U R
                  S5      U5        g )Nc                     g)zIThis docstring

Has multiple lines

And notes

Notes
-----
original note
Nr   r  s    r   r  test_doc_note.<locals>.methodN  s     	r   zNThis docstring

Has multiple lines

And notes

Notes
-----
note

original notenote)r   r   r  r  r4   __doc__)r  expected_docs     r   test_doc_noter  K  s3    
L $$V^^V<lKr   c                      [         R                  R                  S/ SQ/[        S9n [        R
                  " U 5      nUS   R                  S5        [        U S   5      S:X  d   eg )Nr   r  r   r    this should not appear in sourcer   )r   r  r)   ro  r  r  r  r   sourcer  s     r   test_gh_22556r  j  sS    UU[[!Yv[6F}}V$HQK9:vay>Qr   c                     [         R                  R                  SS/S[         R                  S9n [         R                  " S5      n[         R
                  " XSS9n[         R                  R                  U[         R                  " UR                  [         R                  S9S9n[         R                  R                  SS[         R                  S9n[        R                  " U5        [        R                  " U5        g )	Nr   Tro  r   Fr$  r   r   )r   r  rM   r  r)   r5  rd   ro   r-  r  r  )r  r  r  r)   s       r   test_gh_21022r  q  s    UUb"XD

KF88A;DWWV7FUU%'WWV\\%I   KFEEBTDEMM%MM&r   c                     [         R                  R                  SS/SS/SS/S//SS/SS/SS//[        S9n [        R
                  " U 5      nUS   R                  SS	/5        [        U S   5      S:X  d   e[        US   5      S
:X  d   e[        UR                  U R                  5        SUR                  S'   U R                  S   S:X  d   eg )Nr   dogr   r   catr  rR  r  r   r   r  )
r   r  r)   ro  r  r  extendr   r   r   r  s     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                      [         R                  R                  SS/[        S9n [        R
                  " U 5      nSUS'   [        U S5        [        US5        g )Nr   r     .)r   r  r)   ro  r  r  r   r  s     r   test_deepcopy_0d_objr    sG    UU[[!F[3F}}V$HHSM2r   c                  ^   [         R                  R                  SS/SS/SS9n U R                  S:X  d   eU R                  R                  R
                  S:X  d   e[         R                  R                  U R                  5       [         R                  " SS/5      R                  S5      SS9  g )	Nr   TFr  r   r  r  )strict)r   r  r   rI  r   r  rM  r   r:   r)   r   r  s    r   test_uint_fill_value_and_filledr    s    
1a&4-x@A<<6!!!<<""c)))JJ!!	
BHHfa[)00:4 " Ir   )r  
__author__sysr  r  r  r  r  r  	functoolsr   r  rU  r   numpy.ma.corenumpy._core.fromnumeric_corer  numpy._core.umathr  numpy.exceptionsr   numpy.testingr   r   r   r   r	   numpy.testing._private.utilsr
   r   numpy._utilsr   numpy.ma.testutilsr   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   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r   r  r  r  r  MaskedArrayFutureWarningr   r  charr  r   r  r  r  rz  r  r  rq  r  r  r  r  r   r  r-  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rR  optimizer  r  r  r  r  r  )dt_s   0r   <module>r     s%  
 )
 
           - - ! ! &  9     
                          $ UU $5#6     ' '	HHMM**MO %8
8$7S288C=$7
8&
'w88w
'|" |"~q. q.hm, m,`OE OEd
U3 U3n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mr 9
's   !M	M