+
    xȇi%                    B   R t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	H
t
HtHtHtHtHtHtHtHtHt ^ RIHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7 ^ RI8H9t9H:t:H;t;H<t<  ! R R4      t= ! R R	4      t> ! R
 R4      t? ! R R4      t@ ! R R4      tA ! R R4      tB ! R R4      tC ! R R4      tD ! R R4      tE ! R R4      tF ! R R4      tG ! R R4      tH ! R R4      tI ! R  R!4      tJ ! R" R#4      tKR# )$zTests suite for MaskedArray.
Adapted from the original test_ma by Pierre Gerard-Marchant

:author: Pierre Gerard-Marchant
:contact: pierregm_at_uga_dot_edu

N)normalize_axis_tuple)MaskedArrayarangearraycountgetmaskarraymaskedmasked_arraynomaskonesshapezeros)#
_covhelperapply_along_axisapply_over_axes
atleast_1d
atleast_2d
atleast_3daverageclump_maskedclump_unmaskedcompress_ndcompress_rowcolscorrcoefcovdiagflatdotediff1dflatnotmasked_contiguousin1dintersect1disinmask_rowcols
masked_allmasked_all_likemedianmr_ndenumeratenotmasked_contiguousnotmasked_edgespolyfit	setdiff1dsetxor1dstackunion1duniquevstack)assert_assert_almost_equalassert_array_equalassert_equalc                   P   a  ] tR t^It o R tR tR tR tR tR t	R t
R tR	tV tR
# )TestGenericc                   \        R	\        R7      p\        ^^.^^.\        R7      p\        W4       \        P
                  ! RRR.RRR./4      p\        R	VR7      p\        R
R
.RR.VR7      p\        W4       \        RVR7      p\        R
R
.R
R
..RR.RR..VR7      p\        W4       \        P
                  ! RRRR.3.4      p\        R	VR7      p\        RR.RR.VR7      p\        W4       \        R	VR7      p\        RR.RR.VR7      p\        W4       \        RVR7      p\        R..R..VR7      p\        W4       R# )   dtypemaskr:   namesabformatsfNr8       rD      rF   r8   r8   r>   rA   barA   bbrA   rF   rE   )r#   floatr   r4   npr:   )selftestcontroldts   &   j/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/numpy/ma/tests/test_extras.pytest_masked_allTestGeneric.test_masked_allK   sf    $e,AaV59T#XXwc
ISzBC$b)(/?rJT#&+&&)FF+;<%v.0@A " 	T#XXzC+{)C#DEF$b)k2);7rCT#$b)k2);7rCT#&++}oRHT#    c                z   \         P                  ! R R\        3.R33.4      p\         P                  P	                  RV4      p\        \        VR ,          4      \         P                  P                  P                  4       \        \        VR ,          R,          4      \         P                  P                  P                  4       \        \        VR ,          R,          4      ^4       \        VR ,          R,          P                  R4       \        VR ,          R,          P                  P                  R4       R# )r?   cNrF   rE    rO   r:   objectmar#   r4   typecorer   lenr   _fill_valuerP   my_dtype
masked_arrs   &  rT   "test_masked_all_with_object_nested.TestGeneric.test_masked_all_with_object_nestedi   s     88cc6]OT#:;<=UU%%dH5
T*S/*BEEJJ,B,BCT*S/#./1G1GHSC-.2Z_S)//8Z_S)55;;R@rW   c                   \         P                  ! R \        R33.4      p\         P                  P	                  RV4      p\        \        VR ,          4      \         P                  P                  P                  4       \        \        VR ,          4      ^4       \        VR ,          P                  R4       \        VR ,          P                  P                  R4       R# )r?   NrZ   rE   r[   r\   rc   s   &  rT   test_masked_all_with_object'TestGeneric.test_masked_all_with_objectu   s    88cFD>234UU%%dH5
T*S/*BEEJJ,B,BCSC)1-Z_**F3Z_0066;rW   c                   \        ^^.\        R7      p\        V4      p\        ^^.^^.\        R7      p\        W#4       \        P
                  ! RRR.RRR./4      p\        R	R	.R
R
.VR7      p\        V4      p\        RR.R
R
.VR7      p\        W#4       \        P
                  ! RRRR.3.4      p\        RR.RR.VR7      p\        V4      p\        W#4       R# )rF   r9   r;   r=   r>   r?   r@   rA   NrC   rE   )
   rl   rH   rI   rK   rM   )r   rN   r$   r4   rO   r:   )rP   baserQ   rR   rS   s   &    rT   test_masked_all_like TestGeneric.test_masked_all_like   s     aV5)t$AaV59T#XXwc
ISzBCff%VV,<BGt$8,FF3C2NT#XXzC+{)C#DEFk2);7rCw'T#rW   c                x   \        ^^4       EF(  p\        ^V,          4       EF  p\        P                  ! V\        R7      p\        P                  ! W#\        R7      p\        ^V,          4      pV^V,          ,          ^ 8g  Vn        ^ pV! V4       F*  pWvP                  V,          P                  4       ,          pK,  	  V\        8X  d+   \        VP                  4       P                  4       V4       K  VP                  ( Vn        \        VP                  4       P                  4       V4       EK  	  EK+  	  R# )rF   r9   N)rangerO   r   intfullr	   r<   datasumr   r4   
compressed)	rP   rA   ijkjar>   ssls	   &&       rT   check_clumpTestGeneric.check_clump   s    q!A1a4[IIas+WWQ- A&1+!+A$B))A & !3!3!5q9ffWAF !3!3!5q9 ! rW   c                    \        \        P                  ! ^
4      4      p\        V. RO&   \	        V4      p\        ^ ^4      \        ^^4      \        ^^
4      .p\        W#4       V P                  \        4       R# rl   N)rD   rF   r8         	   )r	   rO   r   r   r   slicer4   r}   rP   r>   rQ   rR   s   &   rT   test_clump_maskedTestGeneric.test_clump_masked   s\    2' &
AA;aU1b\:T#&rW   c                    \        \        P                  ! ^
4      4      p\        V. RO&   \	        V4      p\        ^^4      \        ^^4      .p\        W#4       V P                  \        4       R# r   )r	   rO   r   r   r   r   r4   r}   r   s   &   rT   test_clump_unmaskedTestGeneric.test_clump_unmasked   sU    2' &
a A;a.T#(rW   c                   \        ^
4      p\        V4      p\        V\        ^ VP                  4      .4       \
        P                  ! ^
\        R7      Vn        \        V\        ^ VP                  4      .4       \        W^8  V^8  ,          V^8H  ,          &   \        V4      p\        V\        ^^4      \        ^^	4      .4       \        VR&   \        V4      p\        V. 4       R# )rl   r9   NNNN)
r   r   r4   r   sizerO   r   boolr<   r   )rP   r>   rQ   s   &  rT   test_flatnotmasked_contiguous)TestGeneric.test_flatnotmasked_contiguous   s    2J'*TE!QVV,-."D)TE!QVV,-.*0q5QU
qAv
&''*TE!QKq!56!'*T2rW   r[   N)__name__
__module____qualname____firstlineno__rU   rf   ri   rn   r}   r   r   r   __static_attributes____classdictcell____classdict__s   @rT   r6   r6   I   s3     $<
A<$(: 	') rW   r6   c                      a  ] tR t^t o R tR tR tR tR tR t	R t
]P                  P                  R. ROR	R
.. ROR.R.3. RO. RO.^ . RO.^^.. RO.. RO.3.4      R 4       tR tRtV tR	# )TestAveragec                   \        . RO. ROR7      p\        R\        V^ R7      4       \        R\        V. ROR7      4       \        V. RORR7      w  r#\        RV4       \        VR8H  4       \        VR	&   \        \        V^ R7      P
                  R.4       \        . RO. ROR7      pVP                  ^^4      p\        VR&   \        \        V^ R7      RR .4       \        \        V^R7      P
                  ^ ,          R.4       \        RR .\        V^ R7      4       \        V^ RR
7      w  r#\        VRR .4       R# )              ?       @Tr<   axisweightsr   returned      @r   r   r   N)r   r   r         @)TFFF)r   r   r   r   r   rF   )r   r4   r   r1   r   r<   reshape)rP   ottresultwtss   &   rT   test_testAverage1TestAverage.test_testAverage1   s	   $+FGS'#A./S'#/?@Ac+;dKS&!s
AWSq)..7$+FGkk!QD	WSq)C:6WSq)..q1D6:b"Xws34cD9S2r(#rW   c           
        . ROp. RO. RO.p\        ^\        P                  R7      p\        \	        V^ R7      R4       \        \	        V^ VR7      R4       \        \        ^\        P                  R7      R\        ^4      ,          .4      p\        \	        VR4      \        P                  P                  \        P                   ! ^4      4      R,          R,          4       \        \	        V^ R7      \        P                   ! ^4      R,          R,          4       \        \	        V^R7      \	        V^ R7      \	        V^ R7      R,          .4       \        \	        VRVR	7      R4       \        \	        V^ VR7      . RO4       \        \	        V^R7      \	        V^ R7      \	        V^ R7      R,          .4       \        ^4      p. ROp. RO. RO.p\        ^4      p. ROp	\        \	        \        W54      ^ R7      R4       \        \	        \        W64      ^ R7      R4       \        \	        \        W84      ^ R7      P                  R.4       \        \	        \        W94      ^ R7      R
4       \        \        \	        \        W84      ^ R7      4      ^ 4       \        WG4      p
\        \	        V
R4      R4       \        \	        V
^ R7      . RO4       \        \	        V
^R7      RR.4       \        \	        V
^ VR7      . RO4       R# )rD   r9   r         @r   r   r   Nr         (@r   r   T      @rD   rF   rF   rF   rF   rD   rF   rD   rD   rD   rD   rF   g
@)r   r   r   r   r         $@)rD   rD   rF   rF   rD   rD   )rD   rF   rF   rF   rF   rF   )r   r        X@r   r   g      @)r   r   r   r   r   r   )r   rO   float64r4   r   r   addreducer   r   r	   r<   r   )rP   w1w2xym1m2m3m4m5zs   &          rT   test_testAverage2TestAverage.test_testAverage2   s8    "451BJJ'WQQ'-WQQ3S96!2::.fQi@AWQ%rvv}}RYYq\'BR'G#'MNWQQ'1):R)?@WQQ'aa('!!*<s*BC	EWQb18<WQQ3.	0WQQ'aa('!!*<s*BC	E1X "45!WW\!0q93?W\!0q93?W\!0q9>>GW\!0q93?U7<#6Q?@!DWQ%x0WQQ')EFWQQ'#s4WQQ32	4rW   c                h   \        ^4      p\        ^4      ^,          p\        W.W!..^RR7      w  r4\        \        V4      \        V4      4       \        VP                  VP                  4       \        \	        R4      ^ ^^.RR7      w  rV\        \        V4      \        V4      4       \        \	        R4      RR7      w  rV\        \        V4      \        V4      4       \        \	        R4      \	        R4      RR7      w  rV\        \        V4      \        V4      4       \        ^^.^ ^..\        4      p\        VRR.RR..4      p\        V^ R7      p	\        V	RR	.4       \        V^ R7      p
\        V
R
R	.4       \        VRR7      p
\        V
R4       \        V^R7      p
\        V
RR.4       R# )r   Tr   r   r   r   )r   r   Fr         ?r   r   N      ?r   r8   r8      g@)r   r   r4   r   r   r   rN   r	   )rP   r>   r?   r1r   r2r   a2da2dma2daa2dmas   &          rT   test_testAverage3TestAverage.test_testAverage3  se   1I1IM1&1&)DAU2Yb	*RXXrxx(iq1a&4PU2Yb	*i48U2Yb	*i$y/DQU2Yb	*aVaV$e,C5%.4-!@As#TC:&1%US#J'4(UG$1%US#J'rW   c                V   \         P                  ! . R	O4      P                  ^^4      p\         P                  P                  VR.R.R..R7      p\         P                  ! . R
O4      P                  ^^4      p\	        W#^RR7      p\        R.R.R..R.R.R..4      p\        WE4       R# )r8   FTr   )r   r   keepdimsr   r   r   Nr8   r      )r      r   )rO   r   r   r^   r   r	   r4   )rP   r   r?   wactualdesireds   &     rT   test_testAverage4TestAverage.test_testAverage4  s    HHY''1-EEKK%5'D6 :K;HHY''1-A=rdRD1UGeWtf3MNV%rW   c                   \         P                  ! ^4      P                  ^^^4      p\         P                  ! . RO4      P                  ^^^4      p\         P                  ! RR4      p\         P
                  P                  WR7      pVR,          p\        VRVR7      p\        . RO. ROR7      p\        Wg4       \         P                  ! RR4      pRVR&   RVR&   \         P
                  P                  WR7      p\        VRVR7      p\        \         P                  RR.. ROR7      p\        Wg4       \         P                  ! RR4      p\         P
                  P                  WR7      pVR,          p\        VRVR7      p\        RR.RR.R7      p\        Wg4       \        P                  ! \        R	R
7      ;_uu_ 4        \        VRVR7       RRR4       \        P                  ! \        R	R
7      ;_uu_ 4        \        VRVR7       RRR4       \        VRVR7      p\        VRVP                  R7      p\        Wg4       R#   + '       g   i     L~; i  + '       g   i     LV; i)   Fr   r          @      "@Tg      @g      @zHShape of weights must be consistent with shape of a along specified axis)matchN)r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   rD   rD   rF   )      @r   r   )FFFrD   rD   rF   )TFF)rF   r   r   rF   r8   rD   rF   r8   )rF   rD   )rO   r   r   r   rs   r^   r   r	   r2   nanpytestraises
ValueErrorT)	rP   r   r   mymasubw0r   r   subw1s	   &        rT   $test_weight_and_input_dims_different0TestAverage.test_weight_and_input_dims_different#  s    IIbM!!!Q*HHEFWQ1 	
 GGIu%eekk!k$'
659|2GHF,GGIu%'
'
eekk!k$659VVR%' 	F,GGIu%eekk!k$'
659d|5%.AF, ]]89 9 Ci7	9 ]]89 9 Cfe4	9 659#FEGG<F,9 99 9s   I>II	I+	c                    \        \        ^^.4      4      p\        VR4       \        \        . RO. ROR7      4      p\        VR4       R# )rF   r   r   N)rF   r8   r   r   FFTT)r   r   r4   rP   r>   s   & rT   test_onintegers_with_mask%TestAverage.test_onintegers_with_maskV  s:    E1a&M"QE,-GHIQrW   c                   \         P                  ! . RO. R	O.\        R7      p\        . R
O. RO.VR7      p\	        V4      p\         P                  ! VP                  4       4      p\        VP                  VP                  4       \        VP                  VP                  4       \	        V^ R7      p\	        VP                  ^ R7      \	        VP                  ^ R7      R,          ,           p\        VP                  VP                  4       \        VP                  VP                  4       \	        V^R7      p\	        VP                  ^R7      \	        VP                  ^R7      R,          ,           p\        VP                  VP                  4       \        VP                  VP                  4       \         P                  ! . RO. RO.4      p	\	        W)R7      p
\         P                  ! VP                  4       W( ,          R7      p\        V
P                  VP                  4       \        V
P                  VP                  4       \	        W)^ R7      p\	        VP                  V	^ R7      \	        VP                  V	^ R7      R,          ,           p\        VP                  VP                  4       \        VP                  VP                  4       \	        W)^R7      p\	        VP                  V	^R7      \	        VP                  V	^R7      R,          ,           p\        VP                  VP                  4       \        VP                  VP                  4       R# )rD   r9                 ?r   r   r   r   r   N)rD   rD   rD   rF   rD   rD   rF   rD   rD   rD   )rD   y      ?       @y      @      @y      @      @y      @       @)y              "@r   y       @      @y      @      @y      @      @)r   r   r   r   r   )r   r   r   r   r   )	rO   r   r   r	   r   rv   r2   realimag)rP   r<   r>   avexpectedav0	expected0av1	expected1r   wavwav0wav1s   &            rT   test_complexTestAverage.test_complex]  s@    xx(*157=>@"$ QZ::alln-BGGX]]3BGGX]]3aa AFF+gaff1.E.JJ	CHHinn5CHHinn5aa AFF+gaff1.E.JJ	CHHinn5CHHinn5 hh113 4a%::allnc%jACHHhmm4CHHhmm4qA.QVVSq9QVVSq9B>?	DIIy~~6DIIy~~6qA.QVVSq9QVVSq9B>?	DIIy~~6DIIy~~6rW   z<x, axis, expected_avg, weights, expected_wavg, expected_wsumNr   g      ?r   c                f   \         P                  P                  WR R7      pVP                  \         P                  ! V4      8X  g   Q h\	        Ws4       \         P                  P                  WVR R7      pVP                  \         P                  ! V4      8X  g   Q h\	        W4       \         P                  P                  WVR R R7      w  rVP                  \         P                  ! V4      8X  g   Q h\	        W4       V	P                  \         P                  ! V4      8X  g   Q h\	        W4       R# )T)r   r   )r   r   r   )r   r   r   r   N)rO   r^   r   r   r3   )
rP   r   r   expected_avgr   expected_wavgexpected_wsumavgwavgwsums
   &&&&&&&   rT   test_basic_keepdimsTestAverage.test_basic_keepdims  s     eemmA4m8yyBHH\22223-uu}}Q7T}JzzRXXm44444/UU]]1,04 # A
zzRXXm44444/zzRXXm44444/rW   c                   \         P                  P                  \         P                  ! ^	4      P	                  ^^4      . R
O. R
O. RO.R7      p\        . RORR7      p\        . RO. R
OR7      p\        V^ VRR7      p\         P                  ! . RO4      p\        WE4       \        V^ VRR7      p\         P                  ! . RO4      p\        Wg4       \         P                  P                  . RO. ROR7      p\        V^^^\         P                  .R7      p\        VR4       \         P                  P                  . RO. RO. RO.. RO. RO. RO.R7      p\         P                  P                  V^\         P                  ^.^ R7      p\         P                  P                  R\         P                  \         P                  R.. ROR7      p\        Wh4       \        VP                  VP                  4       R	# )r   r   Fr   r   r   r   r         @NrF   rD   rD   rD   rD   rD   )r         )      @g     @g     @)r  g0N@g0N@)r   r   r   r   r   )r   r  r   r   )r   r   r   r   )FTTF)TFTT)TFTF)rO   r^   r   r   r   r	   r   r2   r   r4   r<   )	rP   r>   weights_unmaskedweights_maskedavg_unmaskedexpected_unmasked
avg_maskedexpected_maskedavg_expecteds	   &        rT   test_masked_weightsTestAverage.test_masked_weights  s    EEKK		!,,Q2'I>  @'%@%k	Bqq'7%IHH%<=L<QQO
((#NOJ8
 EEKK12  4q1aBFF*;<L#.EEKK   

 '%&
	   UU]]1q"&&!n1]E
uu{{C#=#= # ? 	J5Z__l&7&78rW   r[   rF   r8   r   )r   r   rF   )rF   r8   r   )rF   r      )r   r   r   )r   r   g      #@)r   r   r   )r   r   r   r   r   r   r   r   r   r   r	  r   markparametrizer  r"  r   r   r   s   @rT   r   r      s     $& 4D(0&1-f*7X [[F
TC5)dVcU	;j
!1&7a&?#i[
2	300")9 )9rW   r   c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestConcatenatori  c                :   \        \        R,          \        . RO4      4       \        ^4      p. ROp\	        WR7      p\        V^ ^ V3,          p\        \        V\        4      4       \        V. RO4       \        VP                  \        V^ ^ V3,          4       R# )rF   r   NrF   r8   r   r   r   r   )rF   rD   rD   rD   rD   )rF   rF   rF   rF   rF   rD   rD   rF   rF   rF   rF   rF   )	r3   r&   r   r   r	   r1   
isinstancer   r<   )rP   r?   r   drY   s   &    rT   test_1dTestConcatenator.test_1d  su    3/0%8J2KLG#1a
O
1k*+1BC1663q!Qz?3rW   c                n   \         P                  P                  ^^4      p\         P                  P                  ^^4      p\         P                  ! \         P                  P                  ^^4      ^ 4      p\         P                  ! \         P                  P                  ^^4      ^ 4      p\	        WR7      p\	        W$R7      p\
        RWV3,          p\        VP                  R8H  4       \        VR,          V4       \        VR,          V4       \        VP                  \         P                  RW43,          4       \
        WV3,          p\        VP                  R8H  4       \        VR,          V4       \        VR	,          V4       \        VP                  \         P                  W43,          4       R# )
r   r   1N)r   rl   )r   Nr   N)r   r   NN)rl   r   )r2  r   )r3  r   )rO   randomrandroundr	   r&   r1   r   r3   r<   r_)rP   a_1a_2m_1m_2b_1b_2r-  s   &       rT   test_2dTestConcatenator.test_2d  s"   iinnQ"iinnQ"hhryy~~a+Q/hhryy~~a+Q/3)3)S7"#1U8S)1U8S)166255c#78M7"#1U8S)1U8S)166255?3rW   c                ~   \         \        P                  P                  ^3,          p\	        VP
                  RR.4       \	        VP                  ^,          ^4       \         ^^.\        P                  P                  3,          p\	        VP
                  . RO4       \	        VP                  R,          ^^.4       R# )rF   TF:Nr8   NN)FFT)r&   rO   r^   r   r4   r<   rt   )rP   r   s   & rT   test_masked_constant%TestConcatenator.test_masked_constant  s|    RUU\\1_%V[[4-0V[[^Q'aVRUU\\)*V[["67V[[_q!f-rW   r[   N)	r   r   r   r   r.  r>  rA  r   r   r   s   @rT   r)  r)    s     	44(. .rW   r)  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestNotMaskedi  c           	        \        \        P                  ! ^4      P                  ^^4      . RO. RO. RO. RO. RO.R7      p\	        VR4      p\        V^ ^.4       \	        V^ 4      p\        V^ ,          RR.4       \        V^,          R	R.4       \	        V^4      p\        V^ ,          RR
.4       \        V^,          RR.4       \	        VP                  R4      p\        V^ ^.4       \	        VP                  ^ 4      p\        V^ ,          RR.4       \        V^,          RR.4       \	        VP                  R4      p\        V^ ,          RR.4       \        V^,          RR.4       \        VR&   \	        V^ 4      p\        V^ ,          RR.4       \        V^,          RR.4       \	        VR4      p\        V^ ,          RR.4       \        V^,          RR.4       R# )   r   N)rD   rD   rF   rD   rD   )rD   rD   rD   rF   rF   )rF   rF   rD   rD   rD   )rD   rD   rD   rD   rD   )rF   rF   rF   rD   rD   rD   rF   r8   r   r   )r   r   r   r   r   )rD   rD   r8   rD   r   )r   r8   r   r   r   )r   r   r   r   r   )rF   rF   r8   r   r   )rD   rF   r8   r   )rD   rD   r8   r   )r   r8   r   r   )r	   rO   r   r   r)   r4   rt   r   rP   rt   rQ   s   &  rT   
test_edgesTestNotMasked.test_edges  s   BIIbM11!Q7"1"1"1"1"1	"35 tT*TAr7#tQ'T!W@AT!W@AtQ'T!W@AT!W@Atyy$/TAr7#tyy!,T!W@AT!W@Atyy"-T!W@AT!W@ARtQ'T!W@AT!W@AtR(T!W|\:;T!W|\:;rW   c                   \        \        P                  ! ^4      P                  ^^4      . RO. RO. RO.R7      p\	        VR4      p\        V\        ^ ^R4      \        ^^R4      \        ^^R4      .4       \	        V^ 4      p\        V\        ^ ^R4      \        ^^R4      .\        ^ ^R4      \        ^^R4      .\        ^ ^R4      \        ^^R4      .\        ^ ^R4      \        ^^R4      .\        ^^R4      .\        ^^R4      .. \        ^^R4      ..4       \	        V^4      p\        V\        ^ ^R4      .. \        ^ ^R4      \        ^^R4      ..4       R# )   r   N)rD   rD   rD   rD   rF   rF   rF   rF   )rF   rF   rF   rF   rF   rF   rF   rF   )rD   rD   rD   rD   rD   rD   rF   rD   )r	   rO   r   r   r(   r4   r   )rP   r>   tmps   &  rT   test_contiguousTestNotMasked.test_contiguous  sp   2..q!47779: #1d+S!Q"b$"b$
 	 #1a(S1aaD 121aaD 121aaD 121aaD 121a1a1a	
 		 #1a(S1a1aaD 12
 	rW   r[   N)r   r   r   r   rK  rP  r   r   r   s   @rT   rD  rD    s      <D rW   rD  c                   *  a  ] tR tRt o R tR tR t]P                  P                  R. RO4      ]P                  P                  RR.]
P                  P                  ^ 3]
P                  P                  ^3.4      R	 4       4       tR
 tR tR tRtV tR# )TestCompressFunctionsi>  c           
        \         P                  ! \        \        ^<4      4      4      P	                  ^^^4      p\         P
                  ! R4      P                  \        4      pRVR&   \        WR7      p\        V4      p\        V. RO. RO. RO.. R	O. R
O. RO..4       \        V^ 4      p\        V. RO. RO. RO. RO.. RO. RO. RO. RO..4       \        V^4      p\        V. RO. RO. RO.. RO. RO. RO.. RO. RO. RO..4       \        VR4      p\        VR4      p\        VR4      p\        W44       \        W54       \        W64       \        V^4      p\        V. RO. RO. RO. RO.. RO. RO. RO. RO.. R	O. RO. R
O. RO..4       \        VR 4      p\        VR!4      p\        VR"4      p\        W44       \        W54       \        W64       \        VR#4      p\        V. RO. RO. RO.. RO. RO. RO..4       \        VR$4      p\        W44       \        VR%4      p\        V. RO. RO. RO.. RO. RO. RO.. R	O. R
O. RO..4       \        VR&4      p\        VR'4      p\        VR(4      p\        W44       \        W54       \        W64       \        VR)4      p\        V. RO. RO. RO. RO.. R	O. RO. R
O. RO..4       \        VR*4      p\        W44       R# )+r   Tr   Nr   r   r   rF   rF   rF   )rD   r8   r   r   )rl   r         )            )(   *   +   ,   )2   4   5   6   )7   9   :   ;   rG  )r   r      r   r   )rl   r%  r   rW  rX  )rY     rZ  r[  r\  )r]  )   r^  r_  r`  )-   .   /   0   1   )ra  3   rb  rc  rd  )re  8   rf  rg  rh  )            rN  )   r      !   "   )#   $   %   &   '   rZ   rI  )rI  )r   ri  r   r   )rs  ru  rv  rN  )rF     r     )rw  rx  ry  rz  )r{  r}  r~  r  )rl  rn  ro  rp  rB   rH  )rH  r   )rD   rI  r   )rI  r8   )rF   rH  )rI  rH  rD   r8   )rD   rH  )
rO   r   listrq   r   r   astyper   r   r4   )rP   r   r   r>   a2a3a4s   &      rT   test_compress_nd&TestCompressFunctions.test_compress_nd@  s   HHT%	*+,44Q1=HHY&&t,'
! NQ***, +**,- 	. 1Q....0 /...0	1 	2 1Q...0 /..0 /..01 	2 D!BE"QQQ 1Q/)**, +***, +***,- 	. D!BE"QQQ 6"Q...0 /..01 	2 G$Q 6"Q***, +**, +**,- 	. G$G$H%QQQ 6"Q****, +***,	- 	. G$QrW   c                   \        \        P                  ! ^	4      P                  ^^4      . RO. RO. RO.R7      p\	        \        V4      ^^.^^..4       \	        \        V^ 4      . RO. RO.4       \	        \        V^4      ^^.^^.^^..4       \        VP                  . RO. RO. RO.R7      p\	        \        V4      ^ ^.^^..4       \	        \        V^ 4      . RO. RO.4       \	        \        V^4      ^ ^.^^.^^..4       \        VP                  . RO. RO. RO.R7      p\	        \        V4      ^..4       \	        \        V^ 4      . RO.4       \	        \        V^4      ^.^.^..4       \        VP                  . RO. RO. R	O.R7      p\	        \        V4      P                  ^ 4       \	        \        V^ 4      P                  ^ 4       \	        \        V^4      P                  ^ 4       R# )
r   r   Nr  r  rU  )r   ri  r   rD   rF   rD   r   r   )r   rO   r   r   r4   r   _datar   rP   r   s   & rT   test_compress_rowcols+TestCompressFunctions.test_compress_rowcols  s   "))A,&&q!,!9i8:%a(Aq6Aq6*:;%a+i-CD%a+q!fq!fq!f-EF!''Iy AB%a(Aq6Aq6*:;%a+i-CD%a+q!fq!fq!f-EF!''Iy AB%a(A3%0%a+i[9%a,sQC!o>!''Iy AB%a(--q1%a+00!4%a+00!4rW   c                   \        \        P                  ! ^	4      P                  ^^4      . RO. RO. RO.R7      p\	        \        V4      P                  . RO. RO. RO.4       \	        \        V^ 4      P                  . RO. RO. RO.4       \	        \        V^4      P                  . RO. RO. RO.4       \        VP                  . RO. RO. RO.R7      p\	        \        V4      P                  . RO. RO. RO.4       \	        \        V^ 4      P                  . RO. RO. RO.4       \	        \        V^4      P                  . RO. RO. RO.4       \        VP                  . RO. RO. RO.R7      p\	        \        V4      P                  . RO. RO. RO.4       \	        \        V^ 4      P                  . RO. RO. RO.4       \	        \        V^4      P                  . RO. RO. RO.4       \        VP                  . RO. RO. RO.R7      p\        \        V4      P                  4       \        J 4       \        \        V^ 4      P                  4       \        J 4       \        \        V^4      P                  4       \        J 4       \        \        V4      P                  P                  4       4       \        \        V^ 4      P                  P                  4       4       \        \        V^4      P                  P                  4       4       R# )	r   r   Nr  r  rV  r  )rF   rF   rD   r   )r   rO   r   r   r4   r"   r<   r  r1   allr   r  s   & rT   test_mask_rowcols'TestCompressFunctions.test_mask_rowcols  s=   "))A,&&q!,!9i8:\!_))I6	8\!Q',,I6	8\!Q',,I6	8!''Iy AB\!_))I6	8\!Q',,I6	8\!Q',,I6	8!''Iy AB\!_))I6	8\!Q',,I6	8\!Q(--I6	8!''Iy ABQ##%/0Q"&&(F23Q"&&(F23Q$$((*+Q"''++-.Q"''++-.rW   r   Nfuncrowcols_axisc           	     4   \        \        P                  ! ^	4      P                  ^^4      . RO. RO. RO.R7      p\        P
                  ! \        4      ;_uu_ 4        V! WAR7      p\        V\        WC4      4       RRR4       R#   + '       g   i     R# ; i)r   r   r   Nr  r  )	r   rO   r   r   r   warnsDeprecationWarningr4   r"   )rP   r   r  r  r   ress   &&&&  rT   #test_mask_row_cols_axis_deprecation9TestCompressFunctions.test_mask_row_cols_axis_deprecation  si    
 "))A,&&q!,!9i8: \\,--q$Cl1;< .---s   BB	c           	        \         P                  ! ^^4      p. ROp\        WR7      P                  ^^4      p\        WR7      P                  ^^4      p\	        W4RR7      p\        VP                  ^^.^^ ..4       \	        WCRR7      p\        VP                  . RO. R	O. R	O.4       \	        W4RR7      p\        V\         P                  ! VP                  ^ 4      VP                  ^ 4      4      4       \	        WCRR7      p\        V\         P                  ! VP                  ^ 4      VP                  ^ 4      4      4       . R
Op\        WR7      P                  ^^4      p\        WR7      P                  ^^4      p\	        W4RR7      p\        VP                  ^ ^.^^..4       \	        WCRR7      p\        VP                  . RO. RO. RO.4       \	        W4RR7      p\        V\         P                  ! VP                  ^ 4      VP                  ^ 4      4      4       \        V\	        W44      4       \	        WCRR7      p\        V\         P                  ! VP                  ^ 4      VP                  ^ 4      4      4       . ROp\        WR7      P                  ^^4      p\        WR7      P                  ^^4      p\	        W44      p\        VP                  \        4       \	        WC4      p\        VP                  \        4       \        V. ROR7      P                  ^^4      p\        V. ROR7      P                  ^^4      p\	        W4RR7      p\        VP                  ^^.^ ^ ..4       \	        W4RR7      p\        V\         P                  ! VP                  ^ 4      VP                  ^ 4      4      4       \	        WCRR7      p\        VP                  . R	O. R	O. R	O.4       \	        WCRR7      p\        V\         P                  ! VP                  ^ 4      VP                  ^ 4      4      4       \        V. R
OR7      P                  ^^4      p\        V. ROR7      P                  ^^4      p\	        W4RR7      p\        VP                  ^ ^ .^^..4       \	        W44      p\        V\         P                  ! VP                  ^ 4      VP                  ^ 4      4      4       \	        WCRR7      p\        VP                  . RO. RO. RO.4       \	        WCRR7      p\        V\         P                  ! VP                  ^ 4      VP                  ^ 4      4      4       \        V. R
OR7      P                  ^^4      p\        V. ROR7      P                  ^^4      p\	        W4RR7      p\        VP                  ^^ .^^..4       \	        W4RR7      p\        V\         P                  ! VP                  ^ 4      VP                  ^ 4      4      4       \	        WCRR7      p\        VP                  . RO. RO. RO.4       \	        WCRR7      p\        V\         P                  ! VP                  ^ 4      VP                  ^ 4      4      4       \        \         P                  ! ^4      P                  ^^^4      ^^ .^ ^ ..^ ^ .^ ^ ...R7      p\        \         P                  ! ^4      P                  ^^^4      ^ ^ .^ ^ ..^ ^ .^ ^...R7      p\	        W4RR7      p\        VP                  ^^.^^..^ ^ .^ ^...^ ^ .^ ^..^ ^ .^ ^....4       \	        W4RR7      p\        VP                  ^ ^ .^ ^..^ ^ .^ ^ ...^ ^ .^ ^ ..^ ^ .^ ^ ....4       \	        WCRR7      p\        VP                  ^^ .^ ^ ..^^ .^ ^ ...^^ .^ ^ ..^^.^^....4       \	        WCRR7      p\        VP                  ^ ^ .^ ^ ..^ ^ .^ ^ ...^ ^ .^ ^ ..^^ .^ ^ ....4       \        \         P                  ! ^4      P                  ^^^4      ^^ .^ ^ ..^ ^ .^ ^ ...R7      pRp\	        W4RR7      p\        VP                  ^^ .^ ^ ..^ ^ .^ ^ ...4       \	        W4RR7      p\        VP                  ^^ .^ ^ ..^ ^ .^ ^ ...4       \	        WCRR7      p\        VP                  ^^ .^ ^ ..^ ^ .^ ^ ...4       \	        WCRR7      p\        VP                  ^^ .^ ^ ..^ ^ .^ ^ ...4       \        \         P                  ! ^4      P                  ^^^4      ^^ .^ ^ ..^ ^ .^ ^ ...R7      p\        \         P                  ! ^4      ^ ^.R7      p\	        W4RR7      p\        VP                  ^^.^^..4       \	        W4RR7      p\        VP                  ^^ .^ ^ ..4       R# )rF   r   T)strictFr   N)rF   rD   rD   rD   rD   rD   rV  r  rD   rD   rD   rD   rD   rF   r   )rD   rD   rD   rD   rD   rD   )rD   rD   rF   rD   rD   rD   )	rO   r   r	   r   r   r4   r<   filledr
   )rP   nr   r>   r?   rY   s   &     rT   test_dotTestCompressFunctions.test_dot  s   IIaO#++Aq1#++Aq1T"QVVq!fq!f-.T"QVViI>?U#Qqxx{AHHQK89U#Qqxx{AHHQK89#++Aq1#++Aq1T"QVVq!fq!f-.T"QVViI>?U#Qqxx{AHHQK89QA	"U#Qqxx{AHHQK89#++Aq1#++Aq1IQVVV$IQVVV$!34<<QB!34<<QBT"QVVq!fq!f-.U#Qqxx{AHHQK89T"QVViI>?U#Qqxx{AHHQK89!34<<QB!34<<QBT"QVVq!fq!f-.IQqxx{AHHQK89T"QVViI>?U#Qqxx{AHHQK89!34<<QB!34<<QBT"QVVq!fq!f-.U#Qqxx{AHHQK89T"QVViI>?U#Qqxx{AHHQK891--aA6!"AA/1a&1a&1ABD1--aA6!"AA/1a&1a&1ABDT"QVVAA'1a&1a&)9:AA'1a&1a&)9:<	= U#QVVAA'1a&1a&)9:AA'1a&1a&)9:<	= T"QVVAA'1a&1a&)9:AA'1a&1a&)9:<	= U#QVVAA'1a&1a&)9:AA'1a&1a&)9:<	= 1--aA6!"AA/1a&1a&1ABDT"QVV1v1v.!Q!Q0@ABU#QVV1v1v.!Q!Q0@ABT"QVV1v1v.!Q!Q0@ABU#QVV1v1v.!Q!Q0@AB1--aA6!"AA/1a&1a&1ABD1QF3T"QVVq!fq!f-.U#QVVq!fq!f-.rW   c                `   \         P                  ! ^4      p\        V4      p\        \	        \        W4      4      \        J 4       \        \	        \        W4      4      \        J 4       \        \	        \        W!4      4      \        J 4       \        \	        \        W"4      4      \        J 4       R# )r   N)rO   eyer   r1   r_   r   r   rP   r>   r?   s   &  rT   test_dot_returns_maskedarray2TestCompressFunctions.test_dot_returns_maskedarray_  sl    FF1I!HSY;./SY;./SY;./SY;./rW   c                    \        \        P                  ! ^4      4      p\        \        P                  ! R4      4      p\	        WVR7      p\        W2J 4       \        W4       R# )r   outN)r   r   )r   rO   r  r   r   r1   r4   )rP   r>   r  r  s   &   rT   test_dot_out"TestCompressFunctions.test_dot_outh  sE    "&&)BHHV$%!C 
QrW   r[   )NrD   rF   )r   r   r   r   r  r  r  r   r&  r'  rO   r^   	mask_rows	mask_colsr  r  r  r  r   r   r   s   @rT   rS  rS  >  s     n`5(/@ [[V\2[[fn5!uu2RUU__a4HIK=K 3=m/^0 rW   rS  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestApplyAlongAxisip  c                    \        R 4      P                  ^^^4      pR p\        V^V4      p\        V^^.^^
..4       R# )r   c                     V ^,          # rZ   r[   )r?   s   &rT   myfunc*TestApplyAlongAxis.test_3d.<locals>.myfuncu  s    Q4KrW   Nr   r   r   r4   rP   r>   r  xas   &   rT   test_3dTestApplyAlongAxis.test_3dr  sF    3K1a(	 fa+R1a&1b'*+rW   c                    \        ^4      P                  ^^^4      pRR lp\        V^V^R7      p\        V^^.^^..4       R# )r   c                 "    V ^V,           ,          # rZ   r[   )r?   offsets   &&rT   r  1TestApplyAlongAxis.test_3d_kwargs.<locals>.myfunc  s    QZ= rW   )r  N)rD   r  r  s   &   rT   test_3d_kwargs!TestApplyAlongAxis.test_3d_kwargs|  sH    2Jq!Q'	! fa15R1a&1b'*+rW   r[   N)r   r   r   r   r  r  r   r   r   s   @rT   r  r  p  s     ,, ,rW   r  c                   &   a  ] tR tRt o R tRtV tR# )TestApplyOverAxesi  c                   \        ^4      P                  ^^^4      p\        \        P                  V^ ^.4      p\        P
                  ! ^<.^\.^|...4      p\        W#4       \        W^,          P                  \        4      &   \        \        P                  V^ ^.4      p\        P
                  ! ^.^,.^<...4      p\        W#4       R# )rN  N)
r   r   r   rO   ru   r   r4   r   r  r   )rP   r>   rQ   ctrls   &   rT   
test_basicTestApplyOverAxes.test_basic  s    2Jq!Q'rvvq1a&1xx2$se,-.T "(q5..
rvvq1a&1xx2$rd+,-T rW   r[   N)r   r   r   r   r  r   r   r   s   @rT   r  r    s     ! !rW   r  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR t]P&                  P)                  R. ROR7      R 4       tR tR tR tR tR tR tR tR tRtV tR# )
TestMediani  c                    \         P                  P                  \         P                  \         P                  .\         P                  \         P                  ..RR7      p\	        V\         P                  4       R# )rF   r   NrH  )rO   r^   r%   infr4   rP   rs   & rT   test_pytypeTestMedian.test_pytype  sE    EELL266266*RVVRVV,<=BLGQrW   c                   \         P                  P                  \         P                  P                  \         P                  \         P                  .\         P                  \         P                  ..4      RR7      p\        V\         P                  4       \         P                  P                  \         P                  P                  \         P                  \         P                  .\         P                  \         P                  ..4      RR7      p\        V\         P                  4       \         P                  P                  \         P                  P                  \         P                  \         P                  .\         P                  \         P                  ..RR7      RR7      p\        VP                  R4       \         P                  P                  \         P                  P                  \         P                  \         P                  .\         P                  \         P                  ..RR7      RR7      p\        VP                  R4       R# )rF   r   NTr   rH  )rO   r^   r%   r	   r  r4   r<   r  s   & rT   test_infTestMedian.test_inf  s   EELL++bffbff-=.0ffbff-=-? @FH  JQEELL++bffbff-=.0ffbff-=-? @FJ  LQEELL++bffbff-=.0ffbff-=-?EI , K   " 	QVVT"EELL++bffbff-=.0ffbff-=-?EI , K"  $ 	QVVT"rW   c                   \         P                  ! ^	4      p\        \         P                  P	                  V4      R4       \        \        \         P                  P	                  V4      4      \        J4       \        ^4      p\        \         P                  P	                  V4      R4       \        \        \         P                  P	                  V4      4      \        J4       ^p\        \         P                  P	                  V4      R4       \        \        \         P                  P	                  V4      4      \        J4       \         P                  ! ^H4      P                  ^	^4      p\        \         P                  P	                  V^ R7      \         P                  ! V^ R7      4       \        \         P                  P	                  V^R7      \         P                  ! V^R7      4       \        \         P                  P	                  V^R7      \        J4       \         P                  ! R4      P                  ^	^4      p\        \         P                  P	                  V^ R7      \         P                  ! V^ R7      4       \        \         P                  P	                  V^R7      \         P                  ! V^R7      4       \        \         P                  P	                  V^R7      \        J4       R# )r   r   r  r   r   Ng      R@)
rO   r   r4   r^   r%   r1   r_   r   rq   r   r  s   & rT   test_non_maskedTestMedian.test_non_masked  s   IIaLRUU\\!_b)RUU\\!_%[89!HRUU\\!_c*RUU\\!_%[89RUU\\!_b)RUU\\!_%[89IIe$$Q*RUU\\!!\,bii.BCRUU\\!!\,bii.BCQQ'{:;IIf%%a+RUU\\!!\,bii.BCRUU\\!!\,bii.BCQQ'{:;rW   c                   \        \        P                  ! ^4      ^ .^,          ^.^,          ,           R7      p\        \        P                  P                  V4      R4       \        \        P                  P                  V4      P                  R
R4       \        \        \        P                  P                  V4      4      \        J4       \        \        P                  ! ^
4      P                  ^^4      ^ .^,          ^.^,          ,           R7      p\        \        P                  P                  V4      R4       \        \        P                  P                  V4      P                  R
R4       \        \        \        P                  P                  V4      4      \        J4       \        P                  P                  VRRR7      p\        VRR.4       \        VP                  RR4       \        \        V4      \        J 4       R	# )z5test the examples given in the docstring of ma.medianr   r   shape mismatchr   Tr   overwrite_inputr   r   Nr[   rH  rB   )r   rO   r   r4   r^   r%   r   r1   r_   r   r   )rP   r   ma_xs   &  rT   test_docstring_examples"TestMedian.test_docstring_examples  sG   "))A,aS1WsQw%67RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))B-''1-QC!GqcAg4EFRUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89uu||AB|=TB8$TZZ'78T
k)*rW   c                R   R p\        ^4       F  pR F  p\        ^W#R7      p\        P                  ! \        V) V4      RR.4      pV F'  w  rg \        P
                  P                  WFVR7       K)  	  \        P                  ! V^,           ) V.RR.4      pV F9  w  rg \        P
                  P                  WFVR7       \        WW&V3,          4      h	  K  	  K  	  R#   \         d    \        YY&T3,          4      hi ; i  \        P                  P                   d     K  i ; i)z5mask = %s, ndim = %s, axis = %s, overwrite_input = %sFT)ndminr<   r  N)FT)rq   r   	itertoolsproductrO   r^   r%   	ExceptionAssertionError
exceptions	AxisError)rP   msgr  r<   r   argsr   overs   &       rT   test_axis_argument_errors$TestMedian.test_axis_argument_errors  s   E1XE%!54 !((vu)=t}M"&JDNQ4H #' !((EAI,)>N"&JDNQ4H -S%t3L-LMM #' &  % N,S%t3L-LMMN ==22 s   !C !D  D 	D&	%D&	c                   \        ^RR7      p\        \        P                  P	                  V4      ^4       \        ^RR7      p\        \        P                  P	                  V4      \        P                  P
                  4       R# )rF   Fr   TN)r   r4   rO   r^   r%   r   r  s   & rT   test_masked_0dTestMedian.test_masked_0d  sN    !% RUU\\!_a(!$RUU\\!_beell3rW   c                   \        \        P                  ! ^4      RR7      p\        \        P                  P                  V4      \        P                  P                  4       \        \        P                  P                  V4      P                  RR4       \        \        \        P                  P                  V4      4      \        P                  P                  P                  J 4       \        \        P                  ! ^4      RR7      p\        \        P                  P                  V4      R4       \        \        P                  P                  V4      P                  RR4       \        \        \        P                  P                  V4      4      \        J4       \        \        P                  ! ^4      . ROR7      p\        \        P                  P                  V4      R4       \        \        P                  P                  V4      P                  RR4       \        \        \        P                  P                  V4      4      \        J4       \        \        P                  ! ^4      . ROR7      p\        \        P                  P                  V4      R4       \        \        P                  P                  V4      P                  RR4       \        \        \        P                  P                  V4      4      \        J4       \        \        P                  ! ^4      . ROR7      p\        \        P                  P                  V4      R4       \        \        P                  P                  V4      P                  RR4       \        \        \        P                  P                  V4      4      \        J4       \        \        P                  ! R	4      . ROR7      p\        \        P                  P                  V4      R4       \        \        P                  P                  V4      P                  RR4       \        \        \        P                  P                  V4      4      \        J4       \        \        P                  ! ^4      . ROR7      p\        \        P                  P                  V4      R4       \        \        P                  P                  V4      P                  RR4       \        \        \        P                  P                  V4      4      \        J4       \        \        P                  ! R
4      . ROR7      p\        \        P                  P                  V4      R4       \        \        P                  P                  V4      P                  RR4       \        \        \        P                  P                  V4      4      \        J4       R# )r   Tr   r  Fr   r   r   r   r   r  Nr[   r   )rD   rF   rF   rF   rF   )rD   rF   rF   rD   rD   r   )r   rO   r   r4   r^   r%   r   r   r1   r_   r`   MaskedConstantr   r  s   & rT   test_masked_1dTestMedian.test_masked_1d  sR   "))A,T*RUU\\!_beell3RUU\\!_**B0@ARUU\\!_%)B)BBC"))A,U+RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,_5RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))A,_5RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,_5RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))B-o6RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,%78RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))B-&89RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89rW   c           
         \        \        P                  P                  \	        . RO. ROR7      4      P
                  \        P                  P                  \	        . RO. ROR7      4      P
                  4       R# )rF   r   Nr$  r  r  )r4   rO   r^   r%   r   r   rP   s   &rT   test_1d_shape_consistency$TestMedian.test_1d_shape_consistency  sD    RUU\\%		"BCIIUU\\%		"BCII	KrW   c                   ^e^r!\        \        P                  ! RRV4      4      p\        ;VR&   VRR% \        \        P                  ! W3\
        R7      4      pVR,          VR	&   \        P                  ! \        V4      4      p\        ^V4       F/  p\        P                  P                  V4       W5,          VRV3&   K1  	  \        \        VR	,          4      ^ 4       \        \        V4      ^ 4       \        \        V^ R7      \        P                  ! V4      4       \        \        VP                  ^R7      \        P                  ! V4      4       R# )
e   r   :Nrl   NNr9   r   r         r   rD   )r	   rO   linspacer   emptyrN   r   ra   rq   r4  shuffler4   r%   r   r   )rP   r  pr   r   idxrw   s   &      rT   r>  TestMedian.test_2d  s    rAS"a02!!#341&67A$$iiAq!AIIc"fAadG  	VAdG_a(VAY"VAA&4VACCa("((1+6rW   c           	        \        \        P                  ! ^4      P                  ^
^4      4      p\        ;VR&   VRR% \        \        V4      R4       \        \        \        P                  P                  V4      4      \        J4       \        \        V^ R7      . RO4       \        \        \        P                  P                  V^ R7      4      \        J 4       \        \        V^R7      . RO4       \        \        \        P                  P                  V^R7      4      \        J 4       \        \        V^R7      P                  . RO4       R# )	rw  Nr   NN      -@r   )      +@r   g      /@)
rD   rD   rD   rl   rW  rj  r\  rD   rD   rD   )
rF   rF   rF   rD   rD   rD   rD   rF   rF   rF   )r	   rO   r   r   r   r4   r%   r1   r_   r^   r   r<   r  s   & rT   test_2d_waxisTestMedian.test_2d_waxis'  s    2..r156""#VAY%RUU\\!_%[89VAA&(:;RUU\\!!\,-<=VAA&(JKRUU\\!!\,-<=VAA&++-KLrW   c                   \         P                  P                  ^4      P                  ^^^4      p\        W^,          ^ 8H  &   \        \        V^ 4      ^^	.^^.^^	.^^..4       VP                  R4      p\        \        V^ 4      ^c^
.^^c.^^..4       \         P                  P                  ^4      P                  ^^^4      p\        W^,          ^ 8H  &   \        \        V^ 4      ^^
.^^	.^^..4       R# )rN  N)r   r   r8   )rO   r^   r   r   r   r4   r%   r  s   & rT   r  TestMedian.test_3d3  s    EELL$$Q1-a%1*VAq\RGaWr1gBx#HIIIi VAq\RHr2hR#ABEELL$$Q1-a%1*VAq\RHq!fr2h#?@rW   c                    \        \        P                  ! ^4      P                  ^
^4      4      p\        ;VR&   VRR% \        \        VRR7      \        V^R7      4       R# )rw  r  Nr   r  rH  )r	   rO   r   r   r   r4   r%   r  s   & rT   test_neg_axisTestMedian.test_neg_axis>  sM    2..r156""#VAB'):;rW   c                T   R F  p\        \        P                  ! V4      4      p\        ;VR&   VRR% \        \        P                  ! R4      4      p\        W#R7      pV^8X  d   \        VR4       M\        VR4       \        WCJ 4       \        \        V4      \        J 4       K  	  R# )	rw  r  Nr  r   g      .@)rw        >@r  g      ?@r  r[   )
r	   rO   r   r   r   r%   r4   r1   r_   r   )rP   vr   r  r  s   &    rT   test_out_1dTestMedian.test_out_1dC  s    #ARYYq\*A##AbEAbcFrwwr{+Cq"ABwS$'S#&AHDG{*+ $rW   c                   R EFM  p\        \        P                  ! V4      P                  ^
R	4      4      p\        ;VR&   VR
R% \        \        P
                  ! ^
4      4      p\        V^VR7      pV^8X  dU   \        R.^,          . RO,           R.^,          ,           R.^,          R.^,          ,           R.^,          ,           R7      pMS\        R.^,          . RO,           R.^,          ,           R.^,          R.^,          ,           R.^,          ,           R7      p\        WE4       \        WCJ 4       \        \        V4      \        J 4       EKP  	  R# )r]  r  N)r   r  r   TFr   )r]  g      D@rw  r  rH  r  )rl   rW  rj  r\  )r  g     1@g     5@g     9@)r	   rO   r   r   r   r   r%   r4   r1   r_   r   )rP   r  r   r  r  es   &     rT   test_outTestMedian.test_outQ  s   #ARYYq\11"b9:A##AbEAbcFrwwr{+Cqqc*ABw ",<!<tax!G'+fqjE7Q;&>$!&KM !",D!Dtax!O'+fqjE7Q;&>$!&KMAHDG{*+ $rW   r   N)argnames	argvaluesc                J  aa \         P                  ! R\        R7      p\         P                  P                  R4      \         P                  ! VP
                  4      R	,          ,          pVP                  \         P                  4      p\         P                  V\        V4      &   \        \         P                  ! VP
                  4      VR7      oVf   R
SP                  ,          pMp\        VSP                  4      o\        ;QJ d+    . VV3R l\        SP                  4       4       F  NK  	  5M$! VV3R l\        SP                  4       4       4      p\        \         P                  ! V4      4      p\!        SVRVR7      pWeJ g   Q h\#        VP
                  V4       R# )r   r9   Nr   c              3   Z   <"   T F   qS9   d   ^MSP                   V,          x  K"  	  R# 5i)rF   N)r   ).0rw   	axis_normr-  s   & rT   	<genexpr>/TestMedian.test_keepdims_out.<locals>.<genexpr>w  s&      L=J)^3]s   (+T)r   r   r  )r   r   ri  r%  )r      r   NrZ   )rO   r   r   r4  r   r   r  intpr   tupler	   r   ndimr   rq   r  r%   r4   )	rP   r   r<   r   	shape_outr  r   r  r-  s	   &&     @@rT   test_keepdims_outTestMedian.test_keepdims_outb  s    xxT2IIX&$**)=g)FFHHRWWU1X,48<qvvI,T166:I L=B166]L L=B166]L LI288I./t=}}V\\9-rW   c                    R R.RR.RR..p\         P                  P                  V^ 4      pR R.p\        \         P                  P	                  V^ R7      V4       R# )r   r   r   r   N)rO   r^   masked_equalr3   r%   )rP   rt   re   r  s   &   rT   $test_single_non_masked_value_on_axis/TestMedian.test_single_non_masked_value_on_axis~  s]    RRR UU''a0
8255<<
<;#	%rW   c                T   R \         P                  ! ^\        R7      3 EF  p\         P                  P	                  ^\         P
                  ^.. RO.4      pWn        \         P                  P                  VRR7      p\        \         P                  ! V4      4       \        V\         P
                  4       \         P                  P                  VP                  4       ^ R7      p\        \         P                  ! V4      4       \        V\         P
                  4       \         P                  P                  V^ R7      p\        \        V4      \        4       \        V^\         P
                  ^.4       \         P                  P                  V^R7      p\        \        V4      \        4       \        V\         P
                  ^.4       \         P                  P                  VRR7      p\        \        V4      \        4       \        V\         P
                  ^.4       EK  	  \         P                  P	                  ^\         P
                  ^.. RO.4      p\         P                  P                  VR&   \        \         P                  P                  VRR7      \         P
                  4       \        \         P                  P                  V^ R7      ^\         P
                  ^.4       \        \         P                  P                  V^R7      \         P
                  R.4       R# )Fr9   Nr   r   r$  rH  )r   r8   )rO   r   r   r^   r   r   r<   r%   r1   isscalarr3   ravelr4   r_   r   r   )rP   r<   dmr  s   &   rT   test_nanTestMedian.test_nan  s   BHHQd34Dq"&&!ni89BG Rd+ABKKN#q"&&)RXXZa0ABKKN#q"&&)Ra(Aa+.q1bffa.1Ra(Aa+.q2661+.Rb)Aa+.q2661+.) 5, UU[[1bffa.)4555<<4255<<<6?255<<<3a^D255<<<3bffc]CrW   c                   \         P                  P                  \         P                  ! R4      4      p\         P                  P                  \         P                  ! R4      4      p\         P
                  VR&   \         P                  P                  VR&   \        \         P                  P                  V^ VR7      V4       \         P                  P                  \         P                  ! R4      4      p\        \         P                  P                  V^VR7      V4       \         P                  P                  \         P                  ! R4      4      p\        \         P                  P                  W!R7      V4       R# )	r   r  N)r   r   r   r8   rF   rG   r   r[   )	rO   r^   r	   r   r   r   r   r4   r%   )rP   or-  s   &  rT   test_out_nanTestMedian.test_out_nan  s    EErxx~.EErwwv/&&$%%,,$RUU\\!QA\.2EErxx~.RUU\\!QA\.2EErxx|,RUU\\!\+Q/rW   c                   \         P                  P                  \         P                  ! ^\        R7      4      p\         P                  P
                  VR&   \         P                  V^&   \        \         P                  P                  V4      \         P                  4       \        \         P                  P                  V^ R7      \         P                  4       \         P                  P                  \         P                  ! ^\        R7      P                  ^^^4      4      p\         P                  ! VP                  4      ^,          ^8H  Vn        VP                  4       p\         P                  VR&   \         P                  VR&   \        \         P                  P                  V4      \         P                  4       \        \         P                  ! \         P                  P                  V4      4      4       \         P                  P                  V^ R7      p\         P                  VR&   \         P                  VR&   \        \         P                  P                  V^ 4      V4       \         P                  P                  V^R7      p\         P                  VR	&   \         P                  VR&   \        \         P                  P                  V^4      V4       \         P                  P                  VR
R7      p\         P                  V^&   \         P                  V^&   \        \         P                  P                  VR
4      V4       R# )rN  r9   :NNr   r   Nr$  )rF   rF   r8   r8   r   r   rF   r   r  )rO   r^   r	   r   rN   r   r   r3   r%   r   r   r<   copyr1   r(  r4   )rP   r>   aorigr?   s   &   rT   test_nan_behaviorTestMedian.test_nan_behavior  s   EEryy59:#vv!255<<?BFF3255<<<2BFF;EEryy59AA!QJK166"Q&!+VV'
VV'
 	255<<?BFF3BEELLO,- EELLQL'&&$&&$RUU\\!Q'+ EELLQL'&&$&&$RUU\\!Q'+ EELLVL,vv!vv!RUU\\!V,a0rW   c                   \         P                  ! . RO. RO.\         P                  R7      p\         P                  P	                  W^8H  R7      p\        \         P                  P                  V^R7      ^4       \        \         P                  P                  V^R7      P                  R4       \        \         P                  P                  V^ R7      V^ ,          4       \        \         P                  P                  V4      ^4       R# )r   r9   r   r   FN)r   r      )rO   r   uint8r^   r	   r3   r%   r<   r   s   & rT   test_ambigous_fillTestMedian.test_ambigous_fill  s    HHk;/rxx@EEqAv.255<<<2C8255<<<277?255<<<2AaD9255<<?C0rW   c           
        \         P                  \         P                  ) 3 EF  p\         P                  ! V\         P                  .\         P                  \         P                  ..4      p\         P                  P                  V\         P                  ! V4      R 7      p\        \         P                  P                  V^ R7      V\         P                  .4       \        \         P                  P                  V^R7      V\         P                  .4       \        \         P                  P                  V4      V4       \         P                  ! \         P                  \         P                  V.\         P                  \         P                  V..4      p\         P                  P                  V\         P                  ! V4      R 7      p\        \         P                  P                  V^R7      V4       \        \         P                  P                  V^R7      P                  R4       \        \         P                  P                  V^ R7      V^ ,          4       \        \         P                  P                  V4      V4       \         P                  ! W.W..4      p\        \         P                  P                  V4      V4       \        \         P                  P                  V^ R7      V4       \        \         P                  P                  V^R7      V4       \         P                  ! V^V) R	.R
\         P                  \         P                  ^.^\         P                  \         P                  V..\         P                  R7      p\         P                  P                  V\         P                  ! V4      R 7      pV^ 8  d[   \        \         P                  P                  V^ R7      RRV) R.4       \        \         P                  P                  V4      R4       MY\        \         P                  P                  V^ R7      RRV) R.4       \        \         P                  P                  V4      R4       \        \         P                  P                  V^R7      RRV.4       \        ^
4       EF5  p\        ^^
4       EF   p\         P                  ! \         P                  .V,          V.V,          ,           .^,          4      p\         P                  P                  V\         P                  ! V4      R 7      p\        \         P                  P                  V4      V4       \        \         P                  P                  V^R7      V4       \        \         P                  P                  V^ R7      \         P                  .V,          V.V,          ,           4       EK#  	  EK8  	  EK  	  R# )r   r   Fr9   r   r   r   g      @Nir  g      $g      "g      r  )rO   r  r   r   r^   r	   isnanr4   r%   r3   r<   float32rq   )rP   r  r>   rw   rx   s   &    rT   test_specialTestMedian.test_special  s   FFRVVG$C3-"&&"&&)9:;A""1288A;"7Aaa03-@aa03-@a#.2662663/"&&"&&#1FGHA""1288A;"7Aruu||AA|6<ruu||AA|6;;UCruu||AA|6!=ruu||A4 3*sj12Aa#.aa0#6aa0#63C4,2bffbffc24 !#

,A ""1288A;"7AQwRUU\\!!\4r2tR6HIRUU\\!_c2RUU\\!!\4tR#s6KLRUU\\!_d3aa03c2BC2Yq"ABFF8a<SEAI">!?!!CDA**1288A;*?A a#6 aa!8#> aa!8#%66(Q,3%!)!;= & C %rW   c           	     H   \         P                  P                  \         P                  ! . \        R 7      4      p\
        P                  ! \        4      ;_uu_ 4        \        \         P                  P                  V4      \         P                  4       RRR4       \         P                  P                  \         P                  ! . \        ^R7      4      p\
        P                  ! \        4      ;_uu_ 4        \        \         P                  P                  V4      \         P                  4       RRR4       \         P                  P                  \         P                  ! . \        ^R7      4      p\        \         P                  P                  V^ R7      V4       \        \         P                  P                  V^R7      V4       \         P                  P                  \         P                  ! \         P                  \        ^R7      4      p\
        P                  ! \        4      ;_uu_ 4        \        \         P                  P                  V^R7      V4       RRR4       R#   + '       g   i     EL; i  + '       g   i     ELU; i  + '       g   i     R# ; i)r9   N)r:   r  r   )rO   r^   r	   r   rN   r   r  RuntimeWarningr3   r%   r   r4   r  s   &  rT   
test_emptyTestMedian.test_empty  sv   EErxx%89\\.))ruu||A7 * EErxx%qAB\\.))ruu||A7 * EErxx%qABRUU\\!!\,a0RUU\\!!\,a0 EErxxe1EF\\.))aa0!4 *)! *)) *)) *))s$   8I(88I<2,J(I9	<J	J!	c           	        \         P                  P                  \         P                  ! R 4      4      p\	        \        \         P                  P                  VP                  \        4      4      4      \        4       \         P                  V^&   \	        \        \         P                  P                  VP                  \        4      4      4      \        4       R# )r   N)rO   r^   r	   r   r1   r_   r%   r  r]   rN   r   )rP   r1  s   & rT   test_objectTestMedian.test_object  su    EEryy}-RUU\\!((6"234e<vv!RUU\\!((6"234e<rW   r[   )NrF   rZ   r   )r  rH  ) r   r   r   r   r  r  r  r  r  r  r  r  r>  r  r  r  r  r  r   r&  r'  r!  r%  r+  r2  r9  r>  rC  rG  rJ  r   r   r   s   @rT   r  r    s      #$<*+N04$:LK7 
M	A<
,," [[
  	.	.$%D:	0!1F1)=V5,= =rW   r  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestCovi#  c                R    \        \        P                  P                  ^4      4      # r   r   rO   r4  r5  r  s   &rT   _create_dataTestCov._create_data%  s    RYY^^B'((rW   c                   V P                  4       p\        \        VR R7      ^,          P                  \        P
                  4       \        \        WRR7      ^,          P                  \        P
                  4       VR8  p\        \        \        P                  P                  W4      R R7      ^,          P                  \        4      VP                  ^R4      ( 4       \        \        \        P                  P                  W4      VRR7      ^,          P                  \        4      \        P                  ! V( V( 34      4       R# )TrowvarF)r   rU  r   NrH  )rQ  r1   r   r:   rO   rB  r3   r^   r	   r  r   r   r0   )rP   r   r<   s   &  rT   test_covhelperTestCov.test_covhelper(  s    
1T*1-33RZZ@
1%03992::F3w""1+D\\!R  		
 	""1+qIIuten%		
rW   c           	     0   V P                  4       p\        \        P                  ! V4      \        V4      4       \        \        P                  ! VR R7      \        VR R7      4       \        \        P                  ! VR RR7      \        VR RR7      4       R# )FrT  TrU  biasN)rQ  r2   rO   r   r  s   & rT   test_1d_without_missingTestCov.test_1d_without_missing<  se    BFF1Is1v.BFF1U3S55IJBFF1U>%d;	=rW   c           	     P   V P                  4       P                  ^^4      p\        \        P                  ! V4      \	        V4      4       \        \        P                  ! VRR7      \	        VRR7      4       \        \        P                  ! VRRR7      \	        VRRR7      4       R# )r   FrT  TrY  N)rQ  r   r2   rO   r   r  s   & rT   test_2d_without_missingTestCov.test_2d_without_missingD  sr    ''1-BFF1Is1v.BFF1U3S55IJBFF1U>%d;	=rW   c           
     X   V P                  4       p\        VR&   WP                  4       ,          pVP                  4       p\	        \
        P                  ! V4      \        V4      4       \	        \
        P                  ! VRR7      \        VRR7      4       \	        \
        P                  ! VRRR7      \        VRRR7      4        \        VRR7       V^R p\	        \
        P                  ! W"RRR1,          4      \        WRRR1,          4      4       \	        \
        P                  ! W"RRR1,          RR7      \        WRRR1,          RR7      4       \	        \
        P                  ! W"RRR1,          RRR7      \        WRRR1,          RRR7      4       R#   \         d     Li ; i)rF   FrT  TrY  allow_maskedNrH  )rQ  r   meanrv   r2   rO   r   r   rP   r   nxs   &  rT   test_1d_with_missingTestCov.test_1d_with_missingL  s@   "	VVX\\^BFF2JA/BFF2e4c!E6JKBFF2e$?%d;	=	&
 qWBFF2$B$x0#a4R4/BBFF2$B$x>TrT759	;BFF2$B$xDITrT75tD	F  		s   F F)(F)c           	     |   V P                  4       p\        VR&   VP                  ^^4      p\        P                  ! \        V4      4      P                  \        4      p\        P                  ! W"P                  4      pWP                  ^4      R	,          ,
          P                  ^ 4      p\        \        V4      \        P                  ! V4      VP                  ^,          ^,
          ,          VR,
          ,          4       \        \        VRR7      \        P                  ! VRR7      VP                  ^,          ,          V,          4       \        P                  ! VP                  V4      pWP                  ^ 4      ,
          P                  ^ 4      p\        \        VRR7      \        P                  ! VRR7      VP                  ^ ,          ^,
          ,          VR,
          ,          4       \        \        VRRR7      \        P                  ! VRRR7      VP                  ^ ,          ,          V,          4       R# )
rF   Nr   T)rZ  FrT  rY  rH  r  )rQ  r   r   rO   logical_notr   r  rr   r   r   rc  r  r2   r   r   )rP   r   validfracxfs   &    rT   test_2d_with_missingTestCov.test_2d_with_missingd  s   "IIaO|A/66s;vveWW%&&)G$$,,Q/CFFF2J!''!*q.9TBYG	IC-FF2D1AGGAJ>E	Gvveggu%&&)m##A&C%0VVBu5ggaj1n.15<	> 	C%d;VVBu4@WWQZ(*./	1rW   r[   N)r   r   r   r   rQ  rV  r[  r^  rf  rm  r   r   r   s   @rT   rM  rM  #  s)     )
(==F01 1rW   rM  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestCorrcoefiz  c                    \        \        P                  P                  ^4      4      p\        \        P                  P                  ^4      4      pW3# rO  rP  )rP   rt   data2s   &  rT   rQ  TestCorrcoef._create_data|  s8    RYY^^B'(biinnR(){rW   c                    V P                  4       ^ ,          p\        \        P                  ! V4      \        V4      4       \        \        P                  ! VRR7      \        VRR7      4       R# rD   FrT  N)rQ  r2   rO   r   r  s   & rT   r[  $TestCorrcoef.test_1d_without_missing  sJ    "BKKNHQK8BKK%8$Qu5	7rW   c                    V P                  4       ^ ,          P                  ^^4      p\        \        P                  ! V4      \	        V4      4       \        \        P                  ! VRR7      \	        VRR7      4       R# ru  )rQ  r   r2   rO   r   r  s   & rT   r^  $TestCorrcoef.test_2d_without_missing  sW    "**1a0BKKNHQK8BKK%8$Qu5	7rW   c           
     0   V P                  4       ^ ,          p\        VR&   WP                  4       ,          pVP                  4       p\	        \
        P                  ! VRR7      \        VRR7      4        \        VRR7       V^R p\	        \
        P                  ! W"RRR1,          4      \        WRRR1,          4      4       \	        \
        P                  ! W"RRR1,          RR7      \        WRRR1,          RR7      4       R#   \         d     Li ; i)rD   FrT  ra  NrH  )rQ  r   rc  rv   r2   rO   r   r   rd  s   &  rT   rf  !TestCorrcoef.test_1d_with_missing  s    ""	VVX\\^BKK59$Qu5	7	QU+ qWBKKttH5xTrT77KLBKKttHUC$Q$B$>	@  		s   5D DDc                    V P                  4       ^ ,          p\        VR&   VP                  ^^4      p\        V4      p\        P                  ! V4      p\        VRR1RR13,          VRR1RR13,          4       R# )rD   NrH  )rQ  r   r   r   rO   r2   rP   r   rQ   rR   s   &   rT   rm  !TestCorrcoef.test_2d_with_missing  sn    ""IIaO{++a.D"crcNGCRC"H,=>rW   r[   N)r   r   r   r   rQ  r[  r^  rf  rm  r   r   r   s   @rT   rp  rp  z  s$     
77@$? ?rW   rp  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestPolynomiali  c                \   \         P                  P                  ^
4      p\         P                  P                  ^4      P                  R^4      p\	        \        W^4      \         P
                  ! W^4      4       VP                  \        4      p\        V^ &   VP                  \        4      p\        ;VR&   VR	&   \        WR
,          ^RR7      w  r4rVp\         P
                  ! VR,          VR,          P                  4       ^RR7      w  rrp\        W4WVV3WWV34       F  w  r\	        W4       K  	  \        WR,          ^RR7      w  r4rVp\         P
                  ! V^R V^R1R3,          ^RR7      w  rrp\        W4WVV3WWV34       F  w  r\	        W4       K  	  \        W^RR7      w  r4rVp\         P
                  ! V^R V^R1R3,          ^RR7      w  rrp\        W4WVV3WWV34       F  w  r\	        W4       K  	  \         P                  P                  ^
4      ^,           pVP                  4       pV^R pV^R pV^R p\        W^RVR7      w  r4rVp\         P
                  ! VV^RVR7      w  rrp\        VV4       \        W4WVV3WWV34       F  w  r\	        W4       K  	  R# )rl   r   Trs   rF   NN)rs   r   NrH  rC   rH  rH  r  )r  rD   )r   rH  )rO   r4  r5  r   r2   r*   viewr   r   rv   zipr7  r4   )rP   r   r   CRKSDrY   r  ry   r{   r-  r>   a_r   woxsyswss   &                   rT   test_polyfitTestPolynomial.test_polyfit  ss    IINN2IINN2&&r1-GA!,bjjq.ABFF;!FF;$$$!F)!!tWad;qQ**QrUAeH,?,?,A1*.0qQA!?Q1O<GQ& = "!uXqt<qQ**QqWa"bk14HqQA!?Q1O<GQ& = "!5qQ**QqWa"aj!$GqQA!?Q1O<GQ& = IINN2"VVXqWqWqW!!:qQ**RQTR@qQQA!?Q1O<GQ& =rW   c                .   \         P                  P                  ^
4      p\         P                  P                  ^4      P                  R^4      p\         P                  V^ &   \         P                  VR&   VP                  \        4      pVP                  \        4      p\        V^ &   \        VR&   \        W^RR7      w  r4rVp\         P                  ! V^R V^R1R3,          ^RR7      w  rrp\        W4WVV3WWV34       F  w  r\        W4       K  	  R# )rl   Tr  r   NrH  r  )rO   r4  r5  r   r   r  r   r   r*   r  r2   )rP   r   r   r  r  r  r  r  rY   r  ry   r{   r-  r>   r  s   &              rT   test_polyfit_with_masked_NaNs,TestPolynomial.test_polyfit_with_masked_NaNs  s    IINN2IINN2&&r1-vv!FF&	FF;FF;!&	!!5qQ**QqWa"aj!$GqQA!?Q1O<GQ& =rW   r[   N)r   r   r   r   r  r  r   r   r   s   @rT   r  r    s     %'N' 'rW   r  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tRtV tR# )TestArraySetOpsi  c                   . ROp\        VRRR7      p\        \        V^ ,          \        4      4       \	        V^ ,          \        . RO. ROR7      4       \	        V^,          . RO4       \	        V^,          . R	O4       R# )
rF   Treturn_indexreturn_inverser   NrF   rF   rF   r8   r8   r   r$  r  )rD   r   r   )rD   rD   rD   rF   rF   r8   )r/   r1   r,  r   r4   r	   rJ  s   &  rT   test_unique_onlist"TestArraySetOps.test_unique_onlist  sZ    !ddC
47K01T!Wl99EFT!Wi(T!W01rW   c                   \        . RO. ROR7      p\        VRRR7      p\        V^ ,          \        . RO. R	OR7      4       \        V^,          . R
O4       \        V^,          . RO4       ^Vn        \        . RO. RO^R7      p\        VRRR7      p\        V^ ,          \        . RO. R	OR7      4       \        V^,          . R
O4       \        V^,          . RO4       R# )rF   r   Tr  )rt   r<   
fill_valueNr  )rD   rD   rF   rD   rF   rD   )rF   r8   r   rH  rD   rD   rD   rF   )rD   r   r   r8   )rD   rD   r   rF   r   r8   )r	   r/   r4   r  rJ  s   &  rT   test_unique_onmaskedarray)TestArraySetOps.test_unique_onmaskedarray  s    .5GHddCT!Wl=|LMT!Wl+T!W01!3!3CddCT!Wl=|LMT!Wl+T!W01rW   c                   \        . RORR7      p\        VRRR7      p\        V^ ,          \        ^.R.R7      4       \        V^,          ^ .4       \        V^,          . RO4       \        p\        VRRR7      p\        V^ ,          \        \        4      4       \        V^,          ^ .4       \        V^,          ^ .4       R# )rF   Tr   r  NrV  r  )r	   r/   r4   r   rJ  s   &  rT   test_unique_allmasked%TestArraySetOps.test_unique_allmasked  s    ID1ddCT!WlA5v>?T!Wqc"T!Wi( ddCT!Wl623T!Wqc"T!Wqc"rW   c                .   \        \        P                  ! ^4      . ROR7      p\        . RO. ROR7      p\	        V4      p\        W24       \        VP                  ^ 4      VP                  ^ 4      4       \        VP                  VP                  4       R# )r   r   NrF   rD   rD   rD   rF   )rF   rF   rF   r   )rF   rD   rD   rF   )r	   rO   r   r   r   r4   r  r<   )rP   r   rR   rQ   s   &   rT   test_ediff1dTestArraySetOps.test_ediff1d  s`    1O<<8qzT#T[[^W^^A%67TYY-rW   c                $   \        \        P                  ! ^4      . ROR7      p\        V\        R7      p\        . RO. ROR7      p\        W#4       \        VP                  ^ 4      VP                  ^ 4      4       \        VP                  VP                  4       \        V. ROR7      p\        . RO. R	OR7      p\        W#4       \        VP                  ^ 4      VP                  ^ 4      4       \        VP                  VP                  4       R# )
r   r   )to_beginNr  )rD   rF   rF   rF   r   )rF   rF   rD   rD   rF   r$  )rF   r8   r   rF   rF   rF   r   )rD   rD   rD   rF   rD   rD   rF   	r	   rO   r   r   r   r   r4   r  r<   r|  s   &   rT   test_ediff1d_tobegin$TestArraySetOps.test_ediff1d_tobegin  s    1O<q6*o>T#T[[^W^^A%67TYY-q9--4IJT#T[[^W^^A%67TYY-rW   c                $   \        \        P                  ! ^4      . ROR7      p\        V\        R7      p\        . RO. ROR7      p\        W#4       \        VP                  ^ 4      VP                  ^ 4      4       \        VP                  VP                  4       \        V. ROR7      p\        . RO. R	OR7      p\        W#4       \        VP                  ^ 4      VP                  ^ 4      4       \        VP                  VP                  4       R# )
r   r   )to_endNr  )rF   rF   rF   r   rD   )rF   rD   rD   rF   rF   r$  )rF   rF   rF   r   rF   r8   r   )rF   rD   rD   rF   rD   rD   rD   r  r|  s   &   rT   test_ediff1d_toend"TestArraySetOps.test_ediff1d_toend(  s    1O<q(o>T#T[[^W^^A%67TYY-q+-4IJT#T[[^W^^A%67TYY-rW   c                8   \        \        P                  ! ^4      . ROR7      p\        V\        \        R7      p\        . RO. ROR7      p\        W#4       \        VP                  ^ 4      VP                  ^ 4      4       \        VP                  VP                  4       \        V. RO\        R7      p\        . RO. R	OR7      p\        W#4       \        VP                  ^ 4      VP                  ^ 4      4       \        VP                  VP                  4       R# )
r   r   r  r  Nr  )rD   rF   rF   rF   r   rD   )rF   rF   rD   rD   rF   rF   r$  )rD   rF   rF   rF   r   rF   r8   r   )rF   rF   rD   rD   rF   rD   rD   rD   r  r|  s   &   rT   test_ediff1d_tobegin_toend*TestArraySetOps.test_ediff1d_tobegin_toend7  s    1O<q&9*1CDT#T[[^W^^A%67TYY-qV<057T#T[[^W^^A%67TYY-rW   c                Z   \         P                  ! ^4      p\        V4      p\        . RO. ROR7      p\	        W#4       \        \        V\        4      4       \	        VP                  ^ 4      VP                  ^ 4      4       \	        VP                  VP                  4       \        V\        \        R7      p\        . RO. ROR7      p\        \        V\        4      4       \	        VP                  ^ 4      VP                  ^ 4      4       \	        VP                  VP                  4       R# )r   r   r  NrF   rF   rF   rF   rD   rD   rD   rD   r   r   )rO   r   r   r   r4   r1   r,  r   r  r<   r   r|  s   &   rT   test_ediff1d_ndarray$TestArraySetOps.test_ediff1d_ndarrayG  s    IIaLqz<8T#
4-.T[[^W^^A%67TYY-q&9*1CD
4-.T[[^W^^A%67TYY-rW   c                    \        . RO. ROR7      p\        . RO. ROR7      p\        W4      p\        . RO. ROR7      p\        W44       R# )rF   r   N)rF   r   r   r   r  )r   rF   rF   rF   )rF   r   rH  r   )r   r    r4   )rP   r   r   rQ   rR   s   &    rT   test_intersect1d TestArraySetOps.test_intersect1dW  s8    ,\2,\21 
3T#rW   c                p   \        . RO. ROR7      p\        . RO. ROR7      p\        W4      p\        V\        . RO4      4       \        . RO. ROR7      p. ROp\        W4      p\        V\        . R	O. R
OR7      4       \        . RO4      p\        . RO4      p\        W4      p\        \	        V\
        4      4       \        V. RO4       \        . RO. ROR7      p\        . RO. R
OR7      p\        W4      p\        \	        V\
        4      4       \        V. RO4       \        . \        . . 4      4       R# )rF   r   NrF   r8   r   ri  rH  rD   rD   rD   rD   rF   rF   r8   r   r   r   rH  r  )r   r   ri  rF   r8   r   r   r   r   r   ri  rH  r  r$  )r   r   r   r+  rF   r   r8   r   rD   rF   rD   rD   r   r   r   r   )r   r,   r4   r1   r,  r   r3   rP   r>   r?   rQ   s   &   rT   test_setxor1dTestArraySetOps.test_setxor1d_  s    "9%,>?~T5+,"9~T5\BC))~
4-.T-.,\2,\2~
4-.T-.2xB/0rW   c                   \        . RO. ROR7      p. ROp\        WRR7      p\        V\        . RO. R	OR7      4       \        . R
O. ROR7      p\        . RO. R	OR7      p\        WRR7      p\        \	        V\
        4      4       \        V. RO4       \        ^.^.^.^..4      p\        ^^.^^..4      p\        WRR7      p\        \	        V\
        4      4       \        V. RO4       R# )rF   r   T)assume_uniqueNr  r  r  r  r  r  r  r  r+  )r   r,   r4   r1   r,  r   r  s   &   rT   test_setxor1d_unique$TestArraySetOps.test_setxor1d_uniquey  s    "9D1T5\BC,\2,\2D1
4-.T-.A3aS1#&'Aq6Aq6"#D1
4-.T-.rW   c                   \         P                  ! ^4      P                  . RO4      p\         P                  ! . RO4      p^VR&   \	        WR7      p\	        . RO. R	OR7      p\        R\
        R7      pRVR
&   RVR&   RVR&   \        W4      p\        \        V\        4      4       \        WT4       \         P                  ! WVP                  ( ,          4      VP                  ( ,          p\        WV4       R# )rN  r   )rt   r<   r9   TNr   )rF   r8   rD   )	rD   rl   rs  rw  rF   r   r%  ru  ry  )	rD   rF   rD   rF   rD   rF   rD   rF   rD   r  r   )rD   r8   r   )rO   r   r   r   r   r   r!   r1   r,  r   r3   r<   )rP   r>   r<   r?   ecrY   r-  s   &      rT   	test_isinTestArraySetOps.test_isin  s     IIbM!!),xx	"W!::<9D)777J
1k*+1!GGA!&&z"affW,1 rW   c                   \        . RO. ROR7      p\        . RO. ROR7      p\        W4      p\        V. RO4       \        . RO. ROR7      p\        . R	O. R
OR7      p\        W4      p\        V. RO4       \        . \        . . 4      4       R# )rF   r   Nr  r  r  r  )TTTFTr   r   r8   rF   rH  rF   r   rH  r   )TTFTT)r   r   r4   r3   r  s   &   rT   	test_in1dTestArraySetOps.test_in1d  sn    "9%,>?AzT:;"9*9-AzT:;2tB|,rW   c           	        \        . RO. ROR7      p\        . RO. ROR7      p\        \        P                  ! \	        W4      4      \	        WRR7      4       \        . R	O. ROR7      p\        . R
O. ROR7      p\        \        P                  ! \	        W4      4      \	        WRR7      4       \        . \	        . . RR7      4       R# )rF   r   T)invertNr  r  r  r  r  r  r   )r   r4   rO   r  r   r3   r  s   &  rT   test_in1d_invert TestArraySetOps.test_in1d_invert  s    "9%,>?RYYtAz*Dd,CD"9*9-RYYtAz*Dd,CD2tB489rW   c                f   \        . RO. ROR7      p\        . RO. ROR7      p\        W4      p\        . RO. ROR7      p\        W44       \        . RO. R	O.. R
O. RO.R7      p\        . RO. ROR7      p\        . RO. ROR7      p\        WV4      p\        W4       \        . \        . . 4      4       R# )rF   r   N)rF   r8   r   ri  r   rH  r  r  )rF   r8   r   r   r   ri  rH  )rD   rD   rD   rD   rD   rD   rF   r   rU  r  r   rG  r  )rD   rF   r8   r   r   r   )r   r.   r4   r3   )	rP   r>   r?   rQ   rR   r   r   ezr   s	   &        rT   test_union1dTestArraySetOps.test_union1d  s    %,>?%,>?q}.5JKT# 9i(	9/EF/8%,>?AMQ2wr2/rW   c                   \        . RO. ROR7      p\        . RO4      p\        W4      p\        V\        . RO. ROR7      4       \        ^
4      p\        ^4      p\        \        W4      \        ^^	.4      4       \        . \        P
                  . R7      p\        \        V. 4      P                  \        P
                  4       R# )r   r   N)r   r   r   ri  ri  rF   r8   rF   )rD   rD   rD   rD   rD   rD   rD   rF   )r8   r   r   r   r8   rF   r   )r   ri  rH  r   )r   r+   r4   r   rO   uint32r:   r  s   &   rT   test_setdiff1dTestArraySetOps.test_setdiff1d  s    *1IJ'(T5)<=2J1IYq_eQFm4"biib)Yq"%++RYY7rW   c                    \         P                  ! . RO4      p\         P                  ! . RO4      p\        \        W4      \         P                  ! R.4      4       R# )r>   rY   N)r>   r?   rY   )r>   r?   r{   )rO   r   r3   r+   r  s   &  rT   test_setdiff1d_char_array)TestArraySetOps.test_setdiff1d_char_array  s6    HH_%HH_%9Q?BHHcUO<rW   r[   N)r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   s   @rT   r  r    s_     22 #.... . $14/&!*-
:0$8= =rW   r  c                   v   a  ] tR tRt o R tR t]P                  P                  R]	]
].4      R 4       tRtV tR# )TestShapeBasei  c                   \        . RO. ROR7      p\        V4      p\        VP                  R4       \        VP                  P                  VP
                  P                  4       \        VP                  R4       \        VP                  P                  VP
                  P                  4       \        VP                  P                  VP
                  P                  4       R# )rD   r   Nr   r  r6  r0  )r	   r   r4   r   r<   rt   r  s   &  rT   test_atleast_2dTestShapeBase.test_atleast_2d  s    3qMQWWf%QVV\\166<<0QWWd#QVV\\166<<0QVV\\166<<0rW   c                h   \        R 4      p\        VP                  R4       \        VP                  P                  VP                  4       \        VP                  P                  VP                  4       \        R R4      pV Fm  p\        VP                  R4       \        VP                  P                  VP                  4       \        VP                  P                  VP                  4       Ko  	  \        R 4      p\        VP                  R4       \        VP                  P                  VP                  4       \        VP                  P                  VP                  4       \        R R4      pV Fm  p\        VP                  R4       \        VP                  P                  VP                  4       \        VP                  P                  VP                  4       Ko  	  \        R 4      p\        VP                  R4       \        VP                  P                  VP                  4       \        VP                  P                  VP                  4       \        R R4      pV Fm  p\        VP                  R4       \        VP                  P                  VP                  4       \        VP                  P                  VP                  4       Ko  	  \        R 4      p\        VP                  R4       \        VP                  P                  VP                  P                  4       R# )r   r   NrZ   rE   rV  )r   r4   r   r<   rt   r   r   r   )rP   r?   r>   s   &  rT   test_shape_scalarTestShapeBase.test_shape_scalar  s   
 sOQWWd#QVV\\177+QVV\\177+sC A$'qww/qww/ 
 sOQWWf%QVV\\177+QVV\\177+sC A&)qww/qww/ 
 sOQWWi(QVV\\177+QVV\\177+sC A),qww/qww/ 
 SMQWWf%QVV\\166<<0rW   fnc                    VP                   p\        \        P                  V4      VJ g   Q hVP                  R 8X  g   Q h\        \        VP                   4      p\
        P                  ! V4      p\
        P                  ! V4      pWT8X  g   Q hR# )znumpy.ma.extrasN)r   getattrrO   r^   r   inspect	signature)rP   r  namewrappedsig_wrappedsigs   &&    rT   test_inspect_signature$TestShapeBase.test_inspect_signature  ss    {{ruud#r)))}} 1111"bkk*''0#!!!rW   r[   N)r   r   r   r   r  r  r   r&  r'  r   r0   r   r  r   r   r   s   @rT   r  r    s=     1(1T [[TJ#AB	" C	"rW   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestNDEnumeratei$  c           
        \         P                  ! R 4      P                  R4      p\         P                  ! V\        R7      p\        WR7      p\        \        \         P                  ! V4      4      \        \        V4      4      4       \        \        \        V4      4      \        \        V4      4      4       \        \        \        V4      4      \        \        VRR7      4      4       R# )r  r9   r   Frv   N)rF   r   r8   )	rO   r   r   
zeros_liker   r	   r4   r  r'   )rP   ordinary
empty_mask	with_masks   &   rT   test_ndenumerate_nomasked)TestNDEnumerate.test_ndenumerate_nomasked&  s    99R=((3]]848
 ;	T"..23+h/0	2T+h/0+i01	3T+i01+iEBC	ErW   c           
     H   \        R4      p\        R4      p\        R4      p\        \        \        V4      4      . 4       \        \        \        V4      4      . 4       \        \        \        VRR7      4      \        \	        \
        P                  ! R4      ^d\        .,          4      4      4       \        \        \        V4      4      . 4       \        \        \        VRR7      4      \        \	        \
        P                  ! R4      ^\        .,          4      4      4       R# )d   Fr  Nr[   )r  r   )r#   r4   r  r'   r  rO   ndindexr   )rP   r>   r?   rY   s   &   rT   test_ndenumerate_allmasked*TestNDEnumerate.test_ndenumerate_allmasked1  s    rNvy!T+a.)2.T+a.)2.T+aE:;#bjj0#.AB	DT+a.)2.T+aE:;#bjj3Y&5IJK	MrW   c                r   \        \        P                  ! ^4      P                  R4      . RO. RO. RO.R7      p. R	Op\	        \        \        V4      4      V4       \	        \        \        \        VRR7      4      4      VP                  4       \        VRR7       F  w  r4\	        W,          V4       K  	  R# )
r   r   Fr  Nr.  r  )rF   rF   rD   rF   r  ))r   r   ))r8   rD   r   )r/  r   )rG   rl   )r5  r%  )	r	   rO   r   r   r4   r  r'   ra   r   )rP   r>   items
coordinatevalues   &    rT   test_ndenumerate_mixedmasked,TestNDEnumerate.test_ndenumerate_mixedmasked=  s    2..v6+++-.GT+a.)51Sk!>?@!&&I!,Q5!AJ. "BrW   r[   N)	r   r   r   r   r  r  r  r   r   r   s   @rT   r  r  $  s     	E
M
/ 
/rW   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )	TestStackiJ  c                   \        . RO. ROR7      p\        . RO. ROR7      p\        W.^ R7      p\        VP                  R4       \	        VP
                  V^ ,          P
                  4       \	        VP
                  V^,          P
                  4       \        W.4      p\	        VP                  VP                  4       \	        VP
                  VP
                  4       \        W.^R7      p\        VP                  R	4       \	        VP
                  VR
,          P
                  4       \	        VP
                  VR,          P
                  4       R# )rD   r   r   Nr   r  r   r   ri  r  r5  r   r8   r  r   r	   r-   r4   r   r3   r<   r0   rt   rP   r>   r?   rY   r-  s   &    rT   test_stack_1dTestStack.test_stack_1dL  s    331&q!QWWf%1661Q499-1661Q499-A6N166166*166166*1&q!QWWf%1661T7<<01661T7<<0rW   c                   \        . RORR7      p\        . RORR7      p\        W.^ R7      p\        VP                  R4       \	        VP
                  V^ ,          P
                  4       \	        VP
                  V^,          P
                  4       \        W.4      p\	        VP                  VP                  4       \	        VP
                  VP
                  4       \        W.^R7      p\        VP                  R	4       \	        VP
                  VR
,          P
                  4       \	        VP
                  VR,          P
                  4       R# )rD   Tr   Fr   Nr   r  r5  r  r  r   r  r  s   &    rT   test_stack_masksTestStack.test_stack_masks^  s    ./1&q!QWWf%1661Q499-1661Q499-A6N166166*166166*1&q!QWWf%1661T7<<01661T7<<0rW   c                   Rp\         P                  P                  ^ ^
V4      p\         P                  P                  ^ ^
V4      p\         P                  P                  ^ ^V4      P                  \        4      p\         P                  P                  ^ ^V4      P                  \        4      p\        W$R7      p\        W5R7      p\        Wg.^ R7      pRV,           p	\        VP                  V	4       \        VP                  V^ ,          P                  4       \        VP                  V^,          P                  4       \        Wg.RR7      pVR,           p	\        VP                  V	4       \        VP                  VR,          P                  4       \        VP                  VR,          P                  4       R	p\         P                  P                  ^ ^
V4      p\         P                  P                  ^ ^
V4      p\         P                  P                  ^ ^V4      P                  \        4      p\         P                  P                  ^ ^V4      P                  \        4      p\        W$R7      p\        W5R7      p\        Wg.^ R7      pRV,           p	\        VP                  V	4       \        VP                  V^ ,          P                  4       \        VP                  V^,          P                  4       \        Wg.RR7      pVR,           p	\        VP                  V	4       \        VP                  VR,          P                  4       \        VP                  VR,          P                  4       R# )
r   r   r   Nr  rB   rH  ).rD   ).rF   )r   r8   r   r   )rO   r4  randintr  r   r	   r-   r4   r   r3   r<   )
rP   shpd1d2r   r   a1r  rY   c_shps
   &         rT   test_stack_ndTestStack.test_stack_ndp  sf   YYq"c*YYq"c*YYq!S)006YYq!S)006"&"&2(#s
QWWe$277AaDII.277AaDII.2($d
QWWe$277AfINN3277AfINN3 YYq"c*YYq"c*YYq!S)006YYq!S)006"&"&2(#s
QWWe$277AaDII.277AaDII.2($d
QWWe$277AfINN3277AfINN3rW   r[   N)	r   r   r   r   r  r  r"  r   r   r   s   @rT   r  r  J  s     1$1$)4 )4rW   r  )L__doc__r  r  r   numpyrO   numpy._core.numericr   numpy.ma.corer   r   r   r   r   r   r	   r
   r   r   r   numpy.ma.extrasr   r   r   r   r   r   r   r   r   r   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   numpy.ma.testutilsr1   r2   r3   r4   r6   r   r)  rD  rS  r  r  r  rM  rp  r  r  r  r  r  r[   rW   rT   <module>r*     s        4   $ $ $ $ $ $ $ $ $ $J  D~9 ~9B). ).XC CLo od	, ,,
! 
!M= M=`T1 T1n/? /?d7' 7'tx= x=v@" @"F#/ #/LO4 O4rW   