+
    eic2 c                   sR   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I=H>t>H?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      tK ! R R 4      tL ! R! R"4      tM ! R# R$4      tNR# )%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_equal)assert_warnssuppress_warningsc                   sP   a  ] tR t^Jt o R tR tR tR tR tR t	R t
R tR	tV tR
# )TestGenericc                s   \        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maskr8   namesabformatsfNr6       rB      rD   r6   r6   r<   r?   Zbar?   Zbbr?   rD   rC   )r!   floatr   r2   npr8   )selftestcontroldt   &   A/usr/lib64/python3.14/site-packages/numpy/ma/tests/test_extras.pytest_masked_allZTestGeneric.test_masked_allL   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                sz   \         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rD   rC    rK   r8   objectmar!   r2   typecorer   lenr
   Z_fill_valuerL   Zmy_dtype
masked_arr   &  rQ   "test_masked_all_with_object_nestedZ.TestGeneric.test_masked_all_with_object_nestedj   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@rS   c                s   \         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=   NrU   rC   rV   rW   r]   r_   rQ   test_masked_all_with_objectZ'TestGeneric.test_masked_all_with_objectv   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;rS   c                s   \        ^^.\        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# )rD   r7   r9   r;   r<   r=   r>   r?   NrA   rC   )
   rb   rF   rG   rH   rI   )r   rJ   r"   r2   rK   r8   )rL   ZbaserM   rN   rO      &    rQ   test_masked_all_likeZ 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#rS   c                sx   \        ^^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# )rD   r7   N)rangerK   r   intfullr   r:   datasumr   r2   
compressed)	rL   r?   ijkZjar<   sZsls	   &&       rQ   check_clumpZTestGeneric.check_clump   s    q!A1a4[IIas+WWQ- A&1+!+A$B))A & !3!3!5q9ffWAF !3!3!5q9 ! rS   c                s    \        \        P                  ! ^
4      4      p\        V. RO&   \	        V4      p\        ^ ^4      \        ^^4      \        ^^
4      .p\        W#4       V P                  \        4       R# rb   N)rB   rD   r6         	   )r   rK   r   r   r   slicer2   ro   rL   r<   rM   rN   rP   rQ   test_clump_maskedZTestGeneric.test_clump_masked   s\    2' &
AA;aU1b\:T#&rS   c                s    \        \        P                  ! ^
4      4      p\        V. RO&   \	        V4      p\        ^^4      \        ^^4      .p\        W#4       V P                  \        4       R# rp   )r   rK   r   r   r   rt   r2   ro   ru   rP   rQ   test_clump_unmaskedZTestGeneric.test_clump_unmasked   sU    2' &
a A;a.T#(rS   c                s   \        ^
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# )rb   r7   NNNN)
r   r   r2   rt   sizerK   r   boolr:   r   )rL   r<   rM   r_   rQ   test_flatnotmasked_contiguousZ)TestGeneric.test_flatnotmasked_contiguous   s    2J'*TE!QVV,-."D)TE!QVV,-.*0q5QU
qAv
&''*TE!QKq!56!'*T2rS   rV   N)__name__
__module____qualname____firstlineno__rR   r`   ra   rd   ro   rv   rw   r{   __static_attributes____classdictcell__Z__classdict__   @rQ   r5   r5   J   s3     $<
A<$(: 	') rS   r5   c                   s   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                s   \        . 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      @rx   r   r   N)r   r   r         @)TFFF)r   r   r   r   rx   rD   )r   r2   r   r/   r   r:   reshape)rL   ZottresultwtsrP   rQ   test_testAverage1Z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(#rS   c           
     s   . 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# )rB   r7   r         @r   r   r   Nr         (@r   r   T      @rB   rD   rD   rD   rD   rB   rD   rB   rB   rB   rB   rD   g
@)r   r   r   r   r         $@)rB   rB   rD   rD   rB   rB   )rB   rD   rD   rD   rD   rD   )r   r        X@r   r   g      @)r   r   r   r   r   r   )r   rK   Zfloat64r2   r   r   ZaddZreducer   r	   r   r:   r   )rL   w1w2xym1m2Zm3Zm4Zm5z   &          rQ   test_testAverage2Z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	4rS   c                sh   \        ^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# )rq   Tr   r   r   r   )r   r   Fr         ?r   r   N      ?r   r6   r6      g@)r   r   r2   r
   r	   r   rJ   r   )rL   r<   r=   Zr1r   Zr2r   Za2dZa2dmZa2daZa2dmar   rQ   test_testAverage3Z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'rS   c                sV   \         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# )r6   FTr   )r   r   keepdimsr   r   r   Nr6   r      )r      rq   )rK   r   r   rY   r   r   r2   )rL   r   r=   wactualdesired   &     rQ   test_testAverage4ZTestAverage.test_testAverage4  s    HHY''1-EEKK%5'D6 :K;HHY''1-A=rdRD1UGeWtf3MNV%rS   c                s   \         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)ZmatchN)r   r   r   r   r   r   r   r   r   r   r   r   r   )rx   rx   rB   rB   rD   )      @r   r   )FFFrB   rB   rD   )TFF)rD   rx   rx   rD   r6   rB   rD   r6   )rD   rB   )rK   r   r   r   rg   rY   r   r   r0   nanpytestZraises
ValueErrorT)	rL   r   r   mZymaZsubw0r   r   Zsubw1	   &        rQ   $test_weight_and_input_dims_differentZ0TestAverage.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                s    \        \        ^^.4      4      p\        VR4       \        \        . RO. ROR7      4      p\        VR4       R# )rD   r   r   N)rD   r6   r   r   FFTT)r   r   r2   rL   r<      & rQ   test_onintegers_with_maskZ%TestAverage.test_onintegers_with_maskW  s:    E1a&M"QE,-GHIQrS   c                s   \         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# )rB   r7                 ?r   r   r   r   r   N)rB   rB   rB   rD   rB   rB   rD   rB   rB   rB   )rB   y      ?       @y      @      @y      @      @y      @       @)y              "@r   y       @      @y      @      @y      @      @)r   r   r   r   r   )r   r   r   r   r   )	rK   r   rz   r   r   rj   r0   ZrealZimag)rL   r:   r<   ZavexpectedZav0Z	expected0Zav1Z	expected1r   ZwavZwav0Zwav1s   &            rQ   test_complexZ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~~6rS   z<x, axis, expected_avg, weights, expected_wavg, expected_wsumNr   g      ?r   c                sf   \         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)rK   rY   r   r
   r1   )
rL   r   r   Zexpected_avgr   Zexpected_wavgZexpected_wsumZavgZwavgZwsums
   &&&&&&&   rQ   test_basic_keepdimsZ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/rS   c                s   \         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	# )rs   r   Fr   r   r   r   r         @NrD   rB   rB   rB   rB   rB   )r         )      @g     @g     @)r   g0N@g0N@)r   r   r   r   r   )r   r   r   r   )r   r   r   r   )FTTF)TFTT)TFTF)rK   rY   r   r   r   r   r   r0   r   r2   r:   )	rL   r<   Zweights_unmaskedZweights_maskedZavg_unmaskedZexpected_unmaskedZ
avg_maskedZexpected_maskedZavg_expectedr   rQ   test_masked_weightsZ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8rS   rV   rD   r6   r   )r   r   rD   )rD   r6   r   )rD   rq      )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   r   rQ   r   r      s     $& 4D(0&1-f*7X [[F
TC5)dVcU	;j
!1&7a&?#i[
2	300")9 )9rS   r   c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestConcatenatori  c                s:   \        \        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# )rD   r   NrD   r6   r   r   r   rq   )rD   rB   rB   rB   rB   )rD   rD   rD   rD   rD   rB   rB   rD   rD   rD   rD   rD   )	r1   r$   r   r	   r   r/   
isinstancer   r:   )rL   r=   r   drT   rc   rQ   test_1dZTestConcatenator.test_1d  su    3/0%8J2KLG#1a
O
1k*+1BC1663q!Qz?3rS   c                sn   \         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   Z1N)r   rb   )rx   Nr   N)rx   r   NN)rb   r   )r   rx   )r   rx   )rK   randomrandZroundr   r$   r/   r
   r1   r:   Zr_)rL   Za_1Za_2Zm_1Zm_2Zb_1Zb_2r      &       rQ   test_2dZ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?3rS   c                s~   \         \        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# )rD   TF:Nr6   NN)FFT)r$   rK   rY   r   r2   r:   rh   )rL   r   r   rQ   test_masked_constantZ%TestConcatenator.test_masked_constant  s|    RUU\\1_%V[[4-0V[[^Q'aVRUU\\)*V[["67V[[_q!f-rS   rV   N)	r|   r}   r~   r   r   r   r   r   r   r   r   rQ   r   r     s     	44(. .rS   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )TestNotMaskedi  c           	     s   \        \        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)rB   rB   rD   rB   rB   )rB   rB   rB   rD   rD   )rD   rD   rB   rB   rB   )rB   rB   rB   rB   rB   )rD   rD   rD   rB   rB   rB   rD   r6   r   r   )r   r   r   r   r   )rB   rB   r6   rB   r   )r   r6   r   r   r   )r   r   r   r   r   )rD   rD   r6   r   r   )rB   rD   r6   r   )rB   rB   r6   r   )r   r6   r   r   )r   rK   r   r   r'   r2   rh   r   rL   rh   rM   r_   rQ   
test_edgesZ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|\:;rS   c                s   \        \        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)rB   rB   rB   rB   rD   rD   rD   rD   )rD   rD   rD   rD   rD   rD   rD   rD   )rB   rB   rB   rB   rB   rB   rD   rB   )r   rK   r   r   r&   r2   rt   )rL   r<   Ztmpr_   rQ   test_contiguousZ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
 	rS   rV   N)r|   r}   r~   r   r   r   r   r   r   r   rQ   r   r     s      <D rS   r   c                   s*  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           
     s   \         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   rD   rD   rD   )rB   r6   r   r   )rb   r         )            )(   *   +   ,   )2   4   5   6   )7   9   :   ;   r   )r   rq      rr   rs   )rb   r   r   r   r   )r      r   r   r   )r   i)   r   r   r   )-   i.   /   0   1   )r   i3   r   r  r  )r  i8   r  r  r  )   i         r   )   r       !   "   )#   i$   %   &   '   rU   r   )r   )r   r  rr   rs   )r  r  r  r   )r   i   r   i   )r  r  r  r  )r  r  r  r  )r	  r
  r  r  r@   r   )r   r   )rB   r   r   )r   r6   )rD   r   )r   r   rB   r6   )rB   r   )
rK   r   listre   r   r   astyperz   r   r2   )rL   r   r   r<   a2Za3Za4   &      rQ   test_compress_ndZ&TestCompressFunctions.test_compress_ndA  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rS   c                s   \        \        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# )
rs   r   Nr   r   r   )rq   r  rr   rB   rD   rB   r   r   )r   rK   r   r   r2   r   _datary   rL   r   r   rQ   test_compress_rowcolsZ+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!4rS   c                s   \        \        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# )	rs   r   Nr   r   r   r  )rD   rD   rB   r   )r   rK   r   r   r2   r    r:   r  r/   Zallr   r   r   rQ   test_mask_rowcolsZ'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"''++-.rS   r   Nfuncrowcols_axisc           	     s   \        \        P                  ! ^	4      P                  ^^4      . RO. RO. RO.R7      p\	        \
        4      ;_uu_ 4        V! WAR7      p\        V\        WC4      4       RRR4       R#   + '       g   i     R# ; i)rs   r   r   Nr   r   )r   rK   r   r   r3   DeprecationWarningr2   r    )rL   r   r#  r$  r   ress   &&&&  rQ   #test_mask_row_cols_axis_deprecationZ9TestCompressFunctions.test_mask_row_cols_axis_deprecation  se    
 "))A,&&q!,!9i8: ,--q$Cl1;< .---s   A;;B	c           	     s   \         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# )rD   r   T)ZstrictFr   N)rD   rB   rB   rB   rB   rB   r   r   rB   rB   rB   rB   rB   rD   r   )rB   rB   rB   rB   rB   rB   )rB   rB   rD   rB   rB   rB   )	rK   r   r   r   r   r2   r:   filledr   )rL   nr   r<   r=   rT   r   rQ   test_dotZ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-.rS   c                s`   \         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)rK   eyer   r/   rZ   r   r   rL   r<   r=   r_   rQ   test_dot_returns_maskedarrayZ2TestCompressFunctions.test_dot_returns_maskedarray`  sl    FF1I!HSY;./SY;./SY;./SY;./rS   c                s    \        \        P                  ! ^4      4      p\        \        P                  ! R4      4      p\	        WVR7      p\        W2J 4       \        W4       R# )r   outN)r   r   )r   rK   r,  r   r   r/   r2   )rL   r<   r0  r&  rP   rQ   test_dot_outZ"TestCompressFunctions.test_dot_outi  sE    "&&)BHHV$%!C 
QrS   rV   )NrB   rD   )r|   r}   r~   r   r  r!  r"  r   r   r   rK   rY   Z	mask_rowsZ	mask_colsr'  r+  r.  r1  r   r   r   r   rQ   r   r   ?  s     n`5(/@ [[V\2[[fn5!uu2RUU__a4HIK=K 3=m/^0 rS   r   c                   r   )TestApplyAlongAxisiq  c                s    \        R 4      P                  ^^^4      pR p\        V^V4      p\        V^^.^^
..4       R# )r   c                 s    V ^,          # rU   rV   )r=      &rQ   myfuncZ*TestApplyAlongAxis.test_3d.<locals>.myfuncv  s    Q4KrS   Nr   r   r   r2   rL   r<   r4  ZxarP   rQ   test_3dZTestApplyAlongAxis.test_3ds  sF    3K1a(	 fa+R1a&1b'*+rS   c                s    \        ^4      P                  ^^^4      pRR lp\        V^V^R7      p\        V^^.^^..4       R# )r   c                 s"    V ^V,           ,          # rU   rV   )r=   offsets   &&rQ   r4  Z1TestApplyAlongAxis.test_3d_kwargs.<locals>.myfunc  s    QZ= rS   )r8  N)rB   r5  r6  rP   rQ   test_3d_kwargsZ!TestApplyAlongAxis.test_3d_kwargs}  sH    2Jq!Q'	! fa15R1a&1b'*+rS   rV   N)r|   r}   r~   r   r7  r9  r   r   r   r   rQ   r2  r2  q  s     ,, ,rS   r2  c                   s&   a  ] tR tRt o R tRtV tR# )TestApplyOverAxesi  c                s   \        ^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# )r   N)
r   r   r   rK   ri   r   r2   r   r  rz   )rL   r<   rM   ZctrlrP   rQ   
test_basicZTestApplyOverAxes.test_basic  s    2Jq!Q'rvvq1a&1xx2$se,-.T "(q5..
rvvq1a&1xx2$rd+,-T rS   rV   N)r|   r}   r~   r   r;  r   r   r   r   rQ   r:  r:    s     ! !rS   r:  c                   s   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR t]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                s    \         P                  P                  \         P                  \         P                  .\         P                  \         P                  ..RR7      p\	        V\         P                  4       R# )rD   r   Nr   )rK   rY   r#   infr2   rL   rr   rQ   test_pytypeZTestMedian.test_pytype  sE    EELL266266*RVVRVV,<=BLGQrS   c                s   \         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# )rD   r   NTr   r   )rK   rY   r#   r   r=  r2   r:   r>  r   rQ   test_infZ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"rS   c                s   \         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# )rs   r   r   r   r   Ng      R@)
rK   r   r2   rY   r#   r/   rZ   r   re   r   r   r   rQ   test_non_maskedZ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'{:;rS   c                s   \        \        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   Zoverwrite_inputr   r   NrV   r   r@   )r   rK   r   r2   rY   r#   r
   r/   rZ   r   r   )rL   r   Zma_xr_   rQ   test_docstring_examplesZ"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)*rS   c                sR   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:   rD  N)FT)re   r   	itertoolsZproductrK   rY   r#   Z	ExceptionZAssertionErrorZ
exceptionsZ	AxisError)rL   ZmsgrF  r:   r   Zargsr   Zoverr   rQ   test_axis_argument_errorsZ$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                s   \        ^RR7      p\        \        P                  P	                  V4      ^4       \        ^RR7      p\        \        P                  P	                  V4      \        P                  P
                  4       R# )rD   Fr   TN)r   r2   rK   rY   r#   r   r   r   rQ   test_masked_0dZTestMedian.test_masked_0d  sN    !% RUU\\!_a(!$RUU\\!_beell3rS   c                s   \        \        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   rC  Fr   r   r   r   r   r   NrV   r   )rB   rD   rD   rD   rD   )rB   rD   rD   rB   rB   r   )r   rK   r   r2   rY   r#   r   r
   r/   rZ   r[   ZMaskedConstantr   r   r   rQ   test_masked_1dZ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9rS   c           
     s    \        \        P                  P                  \	        . RO. ROR7      4      P
                  \        P                  P                  \	        . RO. ROR7      4      P
                  4       R# )rD   r   Nr   r   r  )r2   rK   rY   r#   r   r
   rL   r3  rQ   test_1d_shape_consistencyZ$TestMedian.test_1d_shape_consistency  sD    RUU\\%		"BCIIUU\\%		"BCII	KrS   c                s   ^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# )
ie   r   :Nrb   NNr7   rx   r         rx   rB   )r   rK   Zlinspacer   emptyrJ   r   r\   re   r   Zshuffler2   r#   r   r   )rL   r*  Zpr   r   Zidxrk   r  rQ   r   Z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+6rS   c           	     s   \        \        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# )	r  Nr   NN      -@r   )      +@rR  g      /@)
rB   rB   rB   rb   r   r  r   rB   rB   rB   )
rD   rD   rD   rB   rB   rB   rB   rD   rD   rD   )r   rK   r   r   r   r2   r#   r/   rZ   rY   r   r:   r   r   rQ   test_2d_waxisZTestMedian.test_2d_waxis(  s    2..r156""#VAY%RUU\\!_%[89VAA&(:;RUU\\!!\,-<=VAA&(JKRUU\\!!\,-<=VAA&++-KLrS   c                s   \         P                  P                  ^4      P                  ^^^4      p\        W^,          ^ 8H  &   \        \        V^ 4      ^^	.^^.^^	.^^..4       RVn        \        \        V^ 4      ^c^
.^^c.^^..4       \         P                  P                  ^4      P                  ^^^4      p\        W^,          ^ 8H  &   \        \        V^ 4      ^^
.^^	.^^..4       R# )r   N)r   r   r6   )rK   rY   r   r   r   r2   r#   r
   r   r   rQ   r7  ZTestMedian.test_3d4  s    EELL$$Q1-a%1*VAq\RGaWr1gBx#HIVAq\RHr2hR#ABEELL$$Q1-a%1*VAq\RHq!fr2h#?@rS   c                s    \        \        P                  ! ^4      P                  ^
^4      4      p\        ;VR&   VRR% \        \        VRR7      \        V^R7      4       R# )r  rQ  Nr   rS  r   )r   rK   r   r   r   r2   r#   r   r   rQ   test_neg_axisZTestMedian.test_neg_axis?  sM    2..r156""#VAB'):;rS   c                sT   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# )	r  rQ  Nr/  rR  g      .@)r        >@r   g      ?@rS  rV   )
r   rK   r   r   r	   r#   r2   r/   rZ   r   )rL   vr   r0  r?  rc   rQ   test_out_1dZTestMedian.test_out_1dD  s    #ARYYq\*A##AbEAbcFrwwr{+Cq"ABwS$'S#&AHDG{*+ $rS   c                s   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   rQ  N)r   r0  r   TFr   )r   g      D@r  rW  r   rS  )rb   r   r  r   )rT  g     1@g     5@g     9@)r   rK   r   r   r   r	   r#   r2   r/   rZ   r   )rL   rX  r   r0  r?  Zer   rQ   test_outZTestMedian.test_outR  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{*+ $rS   r   N)ZargnamesZ	argvaluesc                sJ  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   r7   Nr   c              3   sZ   <"   T F   qS9   d   ^MSP                   V,          x  K"  	  R# 5i)rD   N)r
   )Z.0rk   	axis_normr   s   & rQ   Z	<genexpr>Z/TestMedian.test_keepdims_out.<locals>.<genexpr>x  s&      L=J)^3]s   (+T)r   r   r0  )r   r   r  r   )r   i   rx   NrU   )rK   r   rz   r   r   r
   r  Zintpr   Ztupler   r	   Zndimr    re   rP  r#   r2   )	rL   r   r:   r   Z	shape_outr0  r   r[  r   s	   &&     @@rQ   test_keepdims_outZTestMedian.test_keepdims_outc  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-rS   c                s    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)rK   rY   Zmasked_equalr1   r#   )rL   rh   r^   r   rP   rQ   $test_single_non_masked_value_on_axisZ/TestMedian.test_single_non_masked_value_on_axis  s]    RRR UU''a0
8255<<
<;#	%rS   c                sT   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# )Fr7   Nr   r   r   r   )rx   r6   )rK   r   rz   rY   r   r   r:   r#   r/   isscalarr1   Zravelr2   rZ   r   r   )rL   r:   Zdmr?  rP   rQ   test_nanZ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]CrS   c                s   \         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   r6   rD   rE   r   rV   )	rK   rY   r   r   r	   r   r   r2   r#   )rL   or   r_   rQ   test_out_nanZTestMedian.test_out_nan  s    EErxx~.EErwwv/&&$%%,,$RUU\\!QA\.2EErxx~.RUU\\!QA\.2EErxx|,RUU\\!\+Q/rS   c                s   \         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# )r   r7   :NNr   r   Nr   )rD   rD   r6   r6   r   r   rD   r   r  )rK   rY   r   r   rJ   r   r   r1   r#   r   ry   r:   copyr/   r_  r2   )rL   r<   Zaorigr=   rP   rQ   test_nan_behaviorZ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0rS   c                s   \         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   r7   r   r   FN)r   r   i   )rK   r   Zuint8rY   r   r1   r#   r:   r   r   rQ   test_ambigous_fillZTestMedian.test_ambigous_fill  s    HHk;/rxx@EEqAv.255<<<2C8255<<<277?255<<<2AaD9255<<?C0rS   c           
     s   \         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   Fr7   r   r   r   g      @NirN  g      $g      "g      rM  )rK   r=  r   r   rY   r   Zisnanr2   r#   r1   r:   float32re   )rL   r=  r<   rk   rl   rc   rQ   test_specialZ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 %rS   c           	     s   \         P                  P                  \         P                  ! . \        R 7      4      p\        4       ;_uu_ 4       pVP                  \        4       \        \         P                  P                  V4      \         P                  4       \        VP                  ^ ,          P                  \        J 4       RRR4       \         P                  P                  \         P                  ! . \        ^R7      4      p\        4       ;_uu_ 4       pVP                  \        4       \        P                  ! RR\        4       \        \         P                  P                  V4      \         P                  4       \        VP                  ^ ,          P                  \        J 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"                  ! RR7      ;_uu_ 4       p\        P                  ! RR\        4       \!        \         P                  P                  V^R7      V4       \        V^ ,          P                  \        J 4       RRR4       R#   + '       g   i     ELe; i  + '       g   i     EL; i  + '       g   i     R# ; i)r7   N)r8   rF  alwaysZ r   T)record)rK   rY   r   r   rJ   r4   rn  ZRuntimeWarningr1   r#   r   r/   ZlogZcategorywarningsZfilterwarningsr2   Zcatch_warnings)rL   r<   r   r=   rP   rQ   
test_emptyZTestMedian.test_empty  s   EErxx%89  AHH^$ruu||A7AEE!H%%78 ! EErxx%qAB  AHH^$##Hb.Aruu||A7AEE!H%%78	 ! EErxx%qABRUU\\!!\,a0RUU\\!!\,a0 EErxxe1EF$$D11Q##Hb.Aaa0!4AaDMM^34 21+ !   !   211s'   A9L!BL5-A*M	!L2	5M		M	c           	     s   \         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)rK   rY   r   r   r/   rZ   r#   r  rX   rJ   r   )rL   rd  r   rQ   test_objectZTestMedian.test_object$  su    EEryy}-RUU\\!((6"234e<vv!RUU\\!((6"234e<rS   rV   )NrD   rU   r   )rS  r   ) r|   r}   r~   r   r@  rA  rB  rE  rH  rI  rJ  rL  r   rU  r7  rV  rY  rZ  r   r   r   r]  r^  r`  re  ri  rj  rl  rp  rq  r   r   r   r   rQ   r<  r<    s      #$<*+N04$:LK7 
M	A<
,," [[
  	.	.$%D:	0!1F1)=V5:= =rS   r<  c                   sD   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                s`    \        \        P                  P                  ^4      4      V n        R# r   N)r   rK   r   r   rh   rK  r3  rQ   setup_methodZTestCov.setup_method-  s    "))..,-	rS   c                s   V P                   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   rv  r   Nr   )rh   r/   r   r8   rK   rk  r1   rY   r   r  rz   r   r.   )rL   r   r:   r_   rQ   test_covhelperZTestCov.test_covhelper0  s    II
1T*1-33RZZ@
1%03992::F3w""1+D\\!R  		
 	""1+qIIuten%		
rS   c           	     s(   V P                   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# )Fru  Trv  biasN)rh   r0   rK   r   r   r   rQ   test_1d_without_missingZTestCov.test_1d_without_missingD  s`    IIBFF1Is1v.BFF1U3S55IJBFF1U>%d;	=rS   c           	     sH   V P                   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   Fru  Trx  N)rh   r   r0   rK   r   r   r   rQ   test_2d_without_missingZTestCov.test_2d_without_missingL  sm    IIa#BFF1Is1v.BFF1U3S55IJBFF1U>%d;	=rS   c           
     sP   V P                   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)rD   Fru  Trx  Zallow_maskedNr   )rh   r   meanrj   r0   rK   r   r   )rL   r   nxr_   rQ   test_1d_with_missingZTestCov.test_1d_with_missingT  s;   II"	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           	     st   V P                   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# )
rD   Nr   Try  Fru  rx  r   r\  )rh   r   r   rK   Zlogical_notr   r  rf   r   r   r}  r)  r0   r   r
   )rL   r   ZvalidZfracZxfrc   rQ   test_2d_with_missingZTestCov.test_2d_with_missingl  s   II"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(*./	1rS   )rh   N)r|   r}   r~   r   rt  rw  rz  r{  r  r  r   r   r   r   rQ   rr  rr  +  s)     .
(==F01 1rS   rr  c                   sJ   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )TestCorrcoefi  c                s    \        \        P                  P                  ^4      4      V n        \        \        P                  P                  ^4      4      V n        R# rs  )r   rK   r   r   rh   data2rK  r3  rQ   rt  ZTestCorrcoef.setup_method  s4    "))..,-	299>>"-.
rS   c           
     s   V P                   V P                  r!\        P                  ! V4      p\        P                  ! W4      p\	        4       ;_uu_ 4       p\
        P                  ! R 4       \        \        \        VRR7       VP                  \        R4       \        \        P                  ! V^ R7      \        V^ R7      4       \        \        VRR7      V4       \        \        WRR7      V4       \        \        V^R7      V4       \        \        W^R7      V4       RRR4       R#   + '       g   i     R# ; i)rm  Zddofbias and ddof have no effectNr   rh   r  rK   r   r4   ro  Zsimplefilterr3   r%  filterr0   )rL   r   r   r   Z	expected2supr   rQ   	test_ddofZTestCorrcoef.test_ddof  s    yy$**1;;q>KK%	  C!!(++XqrBJJ)+IJAA 68KL 4h?B 7C 3X>A 6	B !   s   CD--D>	c           
     s   V P                   V P                  r!\        P                  ! V4      p\	        4       ;_uu_ 4       p\
        P                  ! R 4       \        \        \        WRR4       \        \        \        WRR4       \        \        \        VRR7       VP                  \        R4       \        \        V^R7      V4       RRR4       R#   + '       g   i     R# ; i)rm  TFr  r  Nr  )rL   r   r   r   r  rc   rQ   	test_biasZTestCorrcoef.test_bias  s    yy$**1;;q>  C!!(++XqT5I+XqT4H+XquEJJ)+IJ 3X> !   s    B	CC$	c                s   V P                   p\        \        P                  ! V4      \        V4      4       \        \        P                  ! VR R7      \        VR R7      4       \	        4       ;_uu_ 4       pVP                  \        R4       \        \        P                  ! VR RR7      \        VR RR7      4       RRR4       R#   + '       g   i     R# ; i)Fru  r  Trx  N)rh   r0   rK   r   r4   r  r%  rL   r   r  r_   rQ   rz  Z$TestCorrcoef.test_1d_without_missing  s    IIBKKNHQK8BKK%8$Qu5	7  CJJ)+IJAe$ G (5t DF !   s   5ACC	c                s   V P                   P                  ^^4      p\        \        P                  ! V4      \	        V4      4       \        \        P                  ! VRR7      \	        VRR7      4       \        4       ;_uu_ 4       pVP                  \        R4       \        \        P                  ! VRRR7      \	        VRRR7      4       RRR4       R#   + '       g   i     R# ; i)r   Fru  r  Trx  N)rh   r   r0   rK   r   r4   r  r%  r  r_   rQ   r{  Z$TestCorrcoef.test_2d_without_missing  s    IIa#BKKNHQK8BKK%8$Qu5	7  CJJ)+IJAe$ G (5t DF !   s   ACC&	c                s   V P                   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       \        4       ;_uu_ 4       pVP                  \        R4       \	        \
        P                  ! VRRR7      \        VRRR7      4       RRR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       \        4       ;_uu_ 4       pVP                  \        R4       \	        \
        P                  ! W"RRR
1,          4      \        WRRR
1,          ^R7      4       \	        \
        P                  ! W"RRR
1,          4      \        WRRR
1,          ^R	7      4       RRR4       R#   + '       g   i     ELS; i  \         d     ELVi ; i  + '       g   i     R# ; i)rD   Fru  r  Trx  Nr|  r  r  r   )rh   r   r}  rj   r0   rK   r   r4   r  r%  r   )rL   r   r~  r  rP   rQ   r  Z!TestCorrcoef.test_1d_with_missing  s   II"	VVX\\^BKKOXa[9BKK59$Qu5	7  CJJ)+IJBu4 H (5t DF !	QU+ qWBKKttH5xTrT77KLBKKttHUC$Q$B$>	@  CJJ)+IJB4R4 9 (ddG! <>B4R4 9 (ddG! <> !  !    		 !  s,   $AH43I BI4I	III+	c           	     s   V P                   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       \        4       ;_uu_ 4       pVP                  \        R4       \        \        VRR7      RR1RR13,          VRR1RR13,          4       \        \        V^R7      RR1RR13,          VRR1RR13,          4       \        \        V^R7      RR1RR13,          VRR1RR13,          4       RRR4       R#   + '       g   i     R# ; i)rD   Nr  r  r  r   r   )	rh   r   r   r   rK   r0   r4   r  r%  )rL   r   rM   rN   r  rc   rQ   r  Z!TestCorrcoef.test_2d_with_missing  s0   II"IIaO{++a.D"crcNGCRC"H,=>  CJJ)+IJ 4SbS#2#X > 'SbS 13 3CRC"H = 'SbS 13 3CRC"H = 'SbS 13 !   s   B*D55E	)rh   r  N)r|   r}   r~   r   rt  r  r  rz  r{  r  r  r   r   r   r   rQ   r  r    s0     /C ?	F	F><3 3rS   r  c                   r   )TestPolynomiali  c                s\   \         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# )rb   rx   Trg   rD   NN)rg   r   Nr   rA   r   r   rO  )r  rB   )rx   r   )rK   r   r   r   r0   r(   viewr   r   rj   ziprh  r2   )rL   r   r   CRKSDrT   r?  rm   rn   r   r<   a_r   ZwoZxsZysZwss   &                   rQ   test_polyfitZ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& =rS   c                s.   \         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# )rb   Tr  rx   Nr   r  )rK   r   r   r   r   r  r   r   r(   r  r0   )rL   r   r   r  r  r  r  r  rT   r?  rm   rn   r   r<   r  s   &              rQ   test_polyfit_with_masked_NaNsZ,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& =rS   rV   N)r|   r}   r~   r   r  r  r   r   r   r   rQ   r  r    s     %'N' 'rS   r  c                   s   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tRtV tR# )TestArraySetOpsi'  c                s   . 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# )
rD   TZreturn_indexZreturn_inverser   NrD   rD   rD   r6   r6   r   r   r   )rB   r   r   )rB   rB   rB   rD   rD   r6   )r-   r/   r   r   r2   r   r   r_   rQ   test_unique_onlistZ"TestArraySetOps.test_unique_onlist)  sZ    !ddC
47K01T!Wl99EFT!Wi(T!W01rS   c                s   \        . 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# )rD   r   Tr  )rh   r:   
fill_valueNr  )rB   rB   rD   rB   rD   rB   )rD   r6   r   r   rB   rB   rB   rD   )rB   r   r   r6   )rB   rB   r   rD   r   r6   )r   r-   r2   r  r   r_   rQ   test_unique_onmaskedarrayZ)TestArraySetOps.test_unique_onmaskedarray2  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1rS   c                s   \        . 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# )rD   Tr   r  Nr   r   )r   r-   r2   r   r   r_   rQ   test_unique_allmaskedZ%TestArraySetOps.test_unique_allmaskedB  s    ID1ddCT!WlA5v>?T!Wqc"T!Wi( ddCT!Wl623T!Wqc"T!Wqc"rS   c                s.   \        \        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rD   rB   rB   rB   rD   )rD   rD   rD   r   )rD   rB   rB   rD   )r   rK   r   r   r   r2   r)  r:   )rL   r   rN   rM   rP   rQ   test_ediff1dZTestArraySetOps.test_ediff1dQ  s`    1O<<8qzT#T[[^W^^A%67TYY-rS   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  )rB   rD   rD   rD   r   )rD   rD   rB   rB   rD   r   )rD   r6   r   rD   rD   rD   r   )rB   rB   rB   rD   rB   rB   rD   	r   rK   r   r   r   r   r2   r)  r:   rL   r   rM   rN   rP   rQ   test_ediff1d_tobeginZ$TestArraySetOps.test_ediff1d_tobeginZ  s    1O<q6*o>T#T[[^W^^A%67TYY-q9--4IJT#T[[^W^^A%67TYY-rS   c                r  )
r   r   )to_endNr  )rD   rD   rD   r   rB   )rD   rB   rB   rD   rD   r   )rD   rD   rD   r   rD   r6   r   )rD   rB   rB   rD   rB   rB   rB   r  r  rP   rQ   test_ediff1d_toendZ"TestArraySetOps.test_ediff1d_toendi  s    1O<q(o>T#T[[^W^^A%67TYY-q+-4IJT#T[[^W^^A%67TYY-rS   c                s8   \        \        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  )rB   rD   rD   rD   r   rB   )rD   rD   rB   rB   rD   rD   r   )rB   rD   rD   rD   r   rD   r6   r   )rD   rD   rB   rB   rD   rB   rB   rB   r  r  rP   rQ   test_ediff1d_tobegin_toendZ*TestArraySetOps.test_ediff1d_tobegin_toendx  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-rS   c                sZ   \         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rD   rD   rD   rD   rB   rB   rB   rB   r   r   )rK   r   r   r   r2   r/   r   r   r)  r:   r   r  rP   rQ   test_ediff1d_ndarrayZ$TestArraySetOps.test_ediff1d_ndarray  s    IIaLqz<8T#
4-.T[[^W^^A%67TYY-q&9*1CD
4-.T[[^W^^A%67TYY-rS   c                s    \        . 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# )rD   r   N)rD   r   r   r   r  )r   rD   rD   rD   )rD   r   r   r   )r   r   r2   )rL   r   r   rM   rN   rc   rQ   test_intersect1dZ TestArraySetOps.test_intersect1d  s8    ,\2,\21 
3T#rS   c                sp   \        . 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# )rD   r   NrD   r6   r   r  r   rB   rB   rB   rB   rD   rD   r6   r   r   r   r   r(  )r   r   r  rD   r6   r   r   r   r   r   r  r   r  r   )rq   r   r   r   rD   rr   r6   r   rB   rD   rB   rB   rq   r   r   rr   )r   r*   r2   r/   r   r   r1   rL   r<   r=   rM   rP   rQ   test_setxor1dZTestArraySetOps.test_setxor1d  s    "9%,>?~T5+,"9~T5\BC))~
4-.T-.,\2,\2~
4-.T-.2xB/0rS   c                s   \        . 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# )rD   r   T)Zassume_uniqueNr  r  r  r  r  r  r  r  r   )r   r*   r2   r/   r   r   r  rP   rQ   test_setxor1d_uniqueZ$TestArraySetOps.test_setxor1d_unique  s    "9D1T5\BC,\2,\2D1
4-.T-.A3aS1#&'Aq6Aq6"#D1
4-.T-.rS   c                s   \         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# )r   r   )rh   r:   r7   TNr   )rD   r6   rB   )	rB   rb   r  r  rD   r   r   r  r  )	rB   rD   rB   rD   rB   rD   rB   rD   rB   r   r   )rB   r6   r   )rK   r   r   r   r   rz   r   r/   r   r   r1   r:   )rL   r<   r:   r=   ZecrT   r   r  rQ   	test_isinZTestArraySetOps.test_isin  s     IIbM!!),xx	"W!::<9D)777J
1k*+1!GGA!&&z"affW,1 rS   c                s   \        . 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# )rD   r   Nr  r  r  r(  )TTTFTr   r   r6   rD   r   rD   r   r   r   )TTFTT)r   r   r2   r1   r  rP   rQ   	test_in1dZTestArraySetOps.test_in1d  sn    "9%,>?AzT:;"9*9-AzT:;2tB|,rS   c           	     s   \        . 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# )rD   r   T)invertNr  r  r  r(  r  r  r   )r   r2   rK   r  r   r1   r-  r_   rQ   test_in1d_invertZ TestArraySetOps.test_in1d_invert  s    "9%,>?RYYtAz*Dd,CD"9*9-RYYtAz*Dd,CD2tB489rS   c                sf   \        . 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# )rD   r   N)rD   r6   r   r  r   r   r(  r  )rD   r6   r   r   r   r  r   )rB   rB   rB   rB   rB   rB   rD   r   r   r   r   r   r  )rB   rD   r6   r   r   r   )r   r,   r2   r1   )	rL   r<   r=   rM   rN   r   r   Zezr   r   rQ   test_union1dZTestArraySetOps.test_union1d  s    %,>?%,>?q}.5JKT# 9i(	9/EF/8%,>?AMQ2wr2/rS   c                s   \        . 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# )rq   r   N)rq   r   r   r  r  rD   r6   rD   )rB   rB   rB   rB   rB   rB   rB   rD   )r6   r   r   r   r6   rD   r   )rq   r  r   r   )r   r)   r2   r   rK   Zuint32r8   r  rP   rQ   test_setdiff1dZTestArraySetOps.test_setdiff1d  s    *1IJ'(T5)<=2J1IYq_eQFm4"biib)Yq"%++RYY7rS   c                s    \         P                  ! . RO4      p\         P                  ! . RO4      p\        \        W4      \         P                  ! R.4      4       R# )r<   rT   N)r<   r=   rT   )r<   r=   rn   )rK   r   r1   r)   r-  r_   rQ   test_setdiff1d_char_arrayZ)TestArraySetOps.test_setdiff1d_char_array  s6    HH_%HH_%9Q?BHHcUO<rS   rV   N)r|   r}   r~   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   rQ   r  r  '  s_     22 #.... . $14/&!*-
:0$8= =rS   r  c                   r   )TestShapeBasei"  c                s   \        . 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# )rB   r   Nr   r  rg  rc  )r   r   r2   r
   r:   rh   r-  r_   rQ   test_atleast_2dZTestShapeBase.test_atleast_2d$  s    3qMQWWf%QVV\\166<<0QWWd#QVV\\166<<0QVV\\166<<0rS   c                sh   \        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   NrU   rC   r   )r   r2   r
   r:   rh   r   r   r   )rL   r=   r<   r_   rQ   test_shape_scalarZ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<<0rS   rV   N)r|   r}   r~   r   r  r  r   r   r   r   rQ   r  r  "  s     1(1 (1rS   r  c                   r   )TestNDEnumerateiY  c           
     s   \         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   r7   r   Frj   N)rD   r   r6   )	rK   r   r   Z
zeros_likerz   r   r2   r  r%   )rL   ZordinaryZ
empty_maskZ	with_maskrP   rQ   test_ndenumerate_nomaskedZ)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rS   c           
     sH   \        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  NrV   )r  r   )r!   r2   r  r%   r  rK   Zndindexr   )rL   r<   r=   rT   rP   rQ   test_ndenumerate_allmaskedZ*TestNDEnumerate.test_ndenumerate_allmaskedf  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rS   c                sr   \        \        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  Nra  r  )rD   rD   rB   rD   r  ))r   rq   ))r6   rB   rr   )rb  rs   )rE   rb   )rf  r   )	r   rK   r   r   r2   r  r%   r\   ry   )rL   r<   ZitemsZ
coordinateZvaluerc   rQ   test_ndenumerate_mixedmaskedZ,TestNDEnumerate.test_ndenumerate_mixedmaskedr  s    2..v6+++-.GT+a.)51Sk!>?@!&&I!,Q5!AJ. "BrS   rV   N)	r|   r}   r~   r   r  r  r  r   r   r   r   rQ   r  r  Y  s     	E
M
/ 
/rS   r  c                   r   )	TestStacki  c                s   \        . 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# )rB   r   r   Nr   r  rs   rr   r  r   rf  r   r6   rO  r   r   r+   r2   r
   r1   r:   r.   rh   rL   r<   r=   rT   r   rc   rQ   test_stack_1dZTestStack.test_stack_1d  s    331&q!QWWf%1661Q499-1661Q499-A6N166166*166166*1&q!QWWf%1661T7<<01661T7<<0rS   c                s   \        . 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# )rB   Tr   Fr   Nr   r  rf  r  rO  r   r  r  rc   rQ   test_stack_masksZTestStack.test_stack_masks  s    ./1&q!QWWf%1661Q499-1661Q499-A6N166166*166166*1&q!QWWf%1661T7<<01661T7<<0rS   c                s   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  r@   r   ).rB   ).rD   )r   r6   r   r   )rK   r   Zrandintr  rz   r   r+   r2   r
   r1   r:   )
rL   ZshpZd1Zd2r   r   Za1r  rT   Zc_shps
   &         rQ   test_stack_ndZTestStack.test_stack_nd  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3rS   rV   N)	r|   r}   r~   r   r  r  r  r   r   r   r   rQ   r  r    s     1$1$)4 )4rS   r  )OZ__doc__rG  ro  r   ZnumpyrK   Znumpy._core.numericr    Znumpy.ma.corer   r   r   r   r   r   r   r   r	   r
   r   Z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-   r.   Znumpy.ma.testutilsr/   r0   r1   r2   Znumpy.testingr3   r4   r5   r   r   r   r   r2  r:  r<  rr  r  r  r  r  r  r  rV   rS   rQ   <module>r     s%       4   $ $ $ $ $ $ $ $ $ $J  : D~9 ~9B). ).XC CLo od	, ,,
! 
!T= T=nT1 T1nh3 h3V7' 7'tx= x=v41 41n#/ #/LO4 O4rS   