
    Kh1                    P   S r SSKrSSKrSSKrSSKrSSKJr  SSKJ	r	J
r
  SSKJrJrJrJr  SSKJrJrJrJrJrJrJrJrJrJrJr  SSKJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?   " S S	5      r@ " S
 S5      rA " S S5      rB " S S5      rC " S S5      rD " S S5      rE " S S5      rF " S S5      rG " S S5      rH " S S5      rI " S S5      rJ " S S5      rK " S  S!5      rL " S" S#5      rM " S$ S%5      rNg)&zTests suite for MaskedArray.
Adapted from the original test_ma by Pierre Gerard-Marchant

:author: Pierre Gerard-Marchant
:contact: pierregm_at_uga_dot_edu
:version: $Id: test_extras.py 3473 2007-10-29 15:18:13Z jarrod.millman $

    N)normalize_axis_tuple)assert_warnssuppress_warnings)assert_assert_array_equalassert_equalassert_almost_equal)arrayarangemaskedMaskedArraymasked_arraygetmaskarrayshapenomaskoneszeroscount)#
atleast_1d
atleast_2d
atleast_3dmr_dotpolyfitcovcorrcoefmedianaverageuniquesetxor1d	setdiff1dunion1dintersect1din1dediff1dapply_over_axesapply_along_axiscompress_ndcompress_rowcolsmask_rowcolsclump_maskedclump_unmaskedflatnotmasked_contiguousnotmasked_contiguousnotmasked_edges
masked_allmasked_all_likeisindiagflatndenumeratestackvstack
_covhelperc                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestGeneric$   c                 F   [        S[        S9n[        SS/SS/[        S9n[        X5        [        R
                  " SS/SS/S.5      n[        SUS9n[        S	S	/S
S
/US9n[        X5        [        SUS9n[        S	S	/S	S	//S
S
/S
S
//US9n[        X5        [        R
                  " SSSS/4/5      n[        SUS9n[        SS/SS/US9n[        X5        [        SUS9n[        SS/SS/US9n[        X5        [        S
US9n[        S//S//US9n[        X5        g )N   dtype   maskr?   abfnamesformatsr   r   r@   r@   r=   r=   rC   rE   barE   bbrE   r@   rJ   )r0   floatr
   r   npr?   )selftestcontroldts       L/var/www/html/env/lib/python3.13/site-packages/numpy/ma/tests/test_extras.pytest_masked_allTestGeneric.test_masked_all&   sb    $e,AaV59T#XXc
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                 0   [         R                  " SS[        4/S44/5      n[         R                  R	                  SU5      n[        [        US   5      [         R                  R                  R                  5        [        [        US   S   5      [         R                  R                  R                  5        [        [        US   S   5      S5        [        US   S   R                  S5        [        US   S   R                  R                  S5        g )NrD   cr@   r@   rJ    rS   r?   objectmar0   r   typecorer   lenr   _fill_valuerT   my_dtype
masked_arrs      rX   "test_masked_all_with_object_nested.TestGeneric.test_masked_all_with_object_nestedD   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@r[   c                    [         R                  " S[        S44/5      n[         R                  R	                  SU5      n[        [        US   5      [         R                  R                  R                  5        [        [        US   5      S5        [        US   R                  S5        [        US   R                  R                  S5        g )NrD   r^   r@   rJ   r_   r`   rg   s      rX   test_masked_all_with_object'TestGeneric.test_masked_all_with_objectP   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;r[   c                    [        SS/[        S9n[        U5      n[        SS/SS/[        S9n[        X#5        [        R
                  " SS/SS/S.5      n[        S	S	/S
S
/US9n[        U5      n[        SS/S
S
/US9n[        X#5        [        R
                  " SSSS/4/5      n[        SS/SS/US9n[        U5      n[        X#5        g )Nr@   r=   r>   rA   rC   rD   rE   rF   rI   rJ   )
   rp   rL   rM   rO   rQ   )r
   rR   r1   r   rS   r?   )rT   baserU   rV   rW   s        rX   test_masked_all_like TestGeneric.test_masked_all_likeZ   s     aV5)t$AaV59T#XXc
SzBCff%VV,<BGt$8,FF3C2NT#XXzC+{)C#DEFk2);7rCw'T#r[   c                 4   [        SS5       GH  n[        SU-  5       H  n[        R                  " U[        S9n[        R                  " X#[        S9n[        SU-  5      nUSU-  -  S:g  Ul        SnU" U5       H"  nXvR                  U   R                  5       -  nM$     U[        :X  a*  [        UR                  5       R                  5       U5        M  UR                  ) Ul        [        UR                  5       R                  5       U5        M     GM
     g )Nr@      r=   r>   r   )rangerS   r   intfullr   rB   datasumr,   r   
compressed)	rT   rE   ijkjarC   ssls	            rX   check_clumpTestGeneric.check_clumpn   s    q!A1a4[IIas+WWQ- A&1+!+A$B))A & !3!3!5q9ffWAF !3!3!5q9 ! r[   c                     [        [        R                  " S5      5      n[        U/ SQ'   [	        U5      n[        SS5      [        SS5      [        SS5      /n[        X#5        U R                  [        5        g )Nrp   r   r@   r=         	   r      r   ru   r   )r   rS   r   r   r+   slicer   r   rT   rC   rU   rV   s       rX   test_clump_maskedTestGeneric.test_clump_masked~   s\    2' &
AA;aU1b\:T#&r[   c                     [        [        R                  " S5      5      n[        U/ SQ'   [	        U5      n[        SS5      [        SS5      /n[        X#5        U R                  [        5        g )Nrp   r   r   r   ru   r   )r   rS   r   r   r,   r   r   r   r   s       rX   test_clump_unmaskedTestGeneric.test_clump_unmasked   sU    2' &
a A;a.T#(r[   c                    [        S5      n[        U5      n[        U[        SUR                  5      /5        [
        R                  " S[        S9Ul        [        U[        SUR                  5      /5        [        XS:  US:  -  US:H  -  '   [        U5      n[        U[        SS5      [        SS5      /5        [        US S & [        U5      n[        U/ 5        g )	Nrp   r   r>   r   r      r   r   )
r   r-   r   r   sizerS   r   boolrB   r   )rT   rC   rU   s      rX   test_flatnotmasked_contiguous)TestGeneric.test_flatnotmasked_contiguous   s    2J'*TE!QVV,-."D)TE!QVV,-.*0q5QU
qAv
&''*TE!QKq!56!'*T2r[   r_   N)__name__
__module____qualname____firstlineno__rY   rj   rm   rr   r   r   r   r   __static_attributes__r_   r[   rX   r9   r9   $   s+    $<
A<$(: 	')r[   r9   c                       \ rS rSrS rS rS rS rS rS r	S r
\R                  R                  S	/ S
QSS// SQS/S/4/ SQ/ SQ/S/ SQ/SS// SQ// SQ/4/5      S 5       rS rSrg)TestAverage   c                 B   [        / SQ/ SQS9n[        S[        USS95        [        S[        U/ SQS95        [        U/ SQS	S
9u  p#[        SU5        [        US:H  5        [        US S & [        [        USS9R
                  S	/5        [        / SQ/ SQS9nUR                  SS5      n[        US S 2S4'   [        [        USS9SS/5        [        [        USS9R
                  S   S	/5        [        SS/[        USS95        [        USS	S9u  p#[        USS/5        g )N)              ?       @      @)TFFFrB   r   r   axis)r   r   r   r   weightsTr   returned      @r=   r@   r   r   r   r   )r
   r   r   r   r   rB   reshape)rT   ottresultwtss       rX   test_testAverage1TestAverage.test_testAverage1   s   $+FGS'#A./S'#/?@Ac+;dKS&!s
AWSq)..7$+FGkk!QAqD	WSq)C:6WSq)..q1D6:b"Xws34cD9S2r(#r[   c           
      L   / SQn/ SQ/ SQ/n[        S[        R                  S9n[        [	        USS9S5        [        [	        USUS9S5        [        [        S[        R                  S9S	[        S5      -  /5      n[        [	        US 5      [        R                  R                  [        R                   " S5      5      S
-  S-  5        [        [	        USS9[        R                   " S5      S
-  S	-  5        [        [	        USS9[	        USS9[	        USS9S	-  /5        [        [	        US US9S5        [        [	        USUS9/ SQ5        [        [	        USS9[	        USS9[	        USS9S	-  /5        [        S5      n/ SQn/ SQ/ SQ/n[        S5      n/ SQn	[        [	        [        X55      SS9S5        [        [	        [        X65      SS9S5        [        [	        [        X85      SS9R                  S/5        [        [	        [        X95      SS9S5        [        [        [	        [        X85      SS95      S5        [        XG5      n
[        [	        U
S 5      S5        [        [	        U
SS9/ SQ5        [        [	        U
SS9SS/5        [        [	        U
SUS9/ SQ5        g )Nr   r@   r@   r@   r@   r   r@   r   r   r   r   r@   r   r>   r   r         @r   r   r   r         (@r@   r   g
@)r   r   r   r   r         $@)r   r   r@   r@   r   r   )r   r@   r@   r@   r@   r@   Tr   )r   r        X@r   r   g      @      @)r   r   r   r   r   r   )r   rS   float64r   r   r
   addreducer   r   r   rB   r   )rT   w1w2xym1m2m3m4m5zs              rX   test_testAverage2TestAverage.test_testAverage2   s8    "451BJJ'WQQ'-WQQ3S96!2::.fQi@AWQ%rvv}}RYYq\'BR'G#'MNWQQ'1):R)?@WQQ'aa('!!*<s*BC	EWQb18<WQQ3.	0WQQ'aa('!!*<s*BC	E1X "45!WW\!0q93?W\!0q93?W\!0q9>>GW\!0q93?U7<#6Q?@!DWQ%x0WQQ')EFWQQ'#s4WQQ32	4r[   c                 .   [        S5      n[        S5      S-  n[        X/X!//SSS9u  p4[        [        U5      [        U5      5        [        UR                  UR                  5        [        [	        S5      SSS/SS9u  pV[        [        U5      [        U5      5        [        [	        S5      SS	9u  pV[        [        U5      [        U5      5        [        [	        S5      [	        S5      SS
9u  pV[        [        U5      [        U5      5        [        SS/SS//[        5      n[        USS/SS//5      n[        USS9n	[        U	SS/5        [        USS9n
[        U
SS/5        [        US S9n
[        U
S5        [        USS9n
[        U
SS/5        g )Nr   r   r@   Tr   r=   r=   r   r   r   r   r   )r   r   r=      Fr         ?r   r   g@      ?r   )r   r   r   r   r   r
   rR   r   )rT   rC   rD   r1r   r2r   a2da2dma2daa2dmas              rX   test_testAverage3TestAverage.test_testAverage3   se   1I1IM1&1&)DAU2Yb	*RXXrxx(iq1a&4PU2Yb	*i48U2Yb	*i$y/DQU2Yb	*aVaV$e,C5%.4-!@As#TC:&1%US#J'4(UG$1%US#J'r[   c                 H   [         R                  " / SQ5      R                  SS5      n[         R                  R                  US/S/S//S9n[         R                  " / SQ5      R                  SS5      n[	        X#SSS9n[        S	/S
/S//S/S/S//5      n[        XE5        g )Nr=   r   r   r   r@   FTr   )r   r   r   )r   r   keepdimsr   r   r   )rS   r
   r   rb   r   r   r   )rT   r   rD   wactualdesireds         rX   test_testAverage4TestAverage.test_testAverage4   s    HHY''1-EEKK%5'D6 :K;HHY''1-A=rdRD1UGeWtf3MNV%r[   c                 r   [         R                  " S5      R                  SSS5      n[         R                  " / SQ5      R                  SSS5      n[         R                  " SS5      n[         R
                  R                  XS9nUS S 2S S 2S4   n[        US	US
9n[        / SQ/ SQS9n[        Xg5        [         R                  " SS5      nSUS S 2S S 2S4'   SUS'   [         R
                  R                  XS9n[        US	US
9n[        [         R                  SS// SQS9n[        Xg5        [         R                  " SS5      n[         R
                  R                  XS9nUSS S 2S S 24   n[        USUS
9n[        SS/SS/S9n[        Xg5        [        R                  " [        SS9   [        USUS
9  S S S 5        [        R                  " [        SS9   [        US	US
9  S S S 5        [        USUS
9n[        US	UR                  S
9n[        Xg5        g ! , (       d  f       Ng= f! , (       d  f       NK= f)N   r=   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   Fr   r   r   r@   r   )      @       @      "@)FFFTr   r   r@   r   r   )TFFr@   r@   r=   g      @g      @zHShape of weights must be consistent with shape of a along specified axis)matchr   r@   r=   )r@   r   )rS   r   r   r
   rx   rb   r   r   r	   nanpytestraises
ValueErrorT)	rT   r   r   mymasubw0r   r   subw1s	            rX   $test_weight_and_input_dims_different0TestAverage.test_weight_and_input_dims_different   s    IIbM!!!Q*HHEFWQ1 	
 GGIu%eekk!k$!Q'
659|2GHF,GGIu%!Q'
'
eekk!k$659VVR%' 	F,GGIu%eekk!k$!Q'
659d|5%.AF, ]]89 Ci7	9 ]]89 Cfe4	9 659#FEGG<F,9 99 9s   *HH(
H%(
H6c                     [        [        SS/5      5      n[        US5        [        [        / SQ/ SQS95      n[        US5        g )Nr@   r=   r   )r@   r=   r   r   FFTTr   )r   r
   r   rT   rC   s     rX   test_onintegers_with_mask%TestAverage.test_onintegers_with_mask1  s:    E1a&M"QE,-GHIQr[   c                    [         R                  " / SQ/ SQ/[        S9n[        / SQ/ SQ/US9n[	        U5      n[         R                  " UR                  5       5      n[        UR                  UR                  5        [        UR                  UR                  5        [	        USS9n[	        UR                  SS9[	        UR                  SS9S	-  -   n[        UR                  UR                  5        [        UR                  UR                  5        [	        US
S9n[	        UR                  S
S9[	        UR                  S
S9S	-  -   n[        UR                  UR                  5        [        UR                  UR                  5        [         R                  " / SQ/ SQ/5      n	[	        X)S9n
[         R                  " UR                  5       X)    S9n[        U
R                  UR                  5        [        U
R                  UR                  5        [	        X)SS9n[	        UR                  U	SS9[	        UR                  U	SS9S	-  -   n[        UR                  UR                  5        [        UR                  UR                  5        [	        X)S
S9n[	        UR                  U	S
S9[	        UR                  U	S
S9S	-  -   n[        UR                  UR                  5        [        UR                  UR                  5        g )N)r   r   r   r@   r   r   r@   r   r   r   r>   )r   y      ?       @y      @      @y      @      @y      @       @)y              "@              ?y       @      @y      @      @y      @      @r   r   r   r   r@   )r   r   r   r   r   )r   r   r   r   r   r   r   r   )	rS   r
   r   r   r   r{   r	   realimag)rT   rB   rC   avexpectedav0	expected0av1	expected1r   wavwav0wav1s                rX   test_complexTestAverage.test_complex8  s?    xx(*157568"$ QZ::alln-BGGX]]3BGGX]]3aa AFF+gaff1.Eb.HH	CHHinn5CHHinn5aa AFF+gaff1.Eb.HH	CHHinn5CHHinn5 hh113 4a%::allnc%jACHHhmm4CHHhmm4qA.QVVSq9QVVSq9"<=	DIIy~~6DIIy~~6qA.QVVSq9QVVSq9"<=	DIIy~~6DIIy~~6r[   z<x, axis, expected_avg, weights, expected_wavg, expected_wsumr@   r=   r   Nr   )r   r   r@   g      ?r   )r@   r=   r   )r@   r      r   )r   r   r   r@   r   )r   r   g      #@)r   r   r   c                 J   [         R                  R                  XSS9nUR                  [         R                  " U5      :X  d   e[	        Xs5        [         R                  R                  XUSS9nUR                  [         R                  " U5      :X  d   e[	        X5        [         R                  R                  XUSSS9u  pUR                  [         R                  " U5      :X  d   e[	        X5        U	R                  [         R                  " U5      :X  d   e[	        X5        g )NT)r   r   )r   r   r   )r   r   r   r   )rS   rb   r   r   r   )
rT   r   r   expected_avgr   expected_wavgexpected_wsumavgwavgwsums
             rX   test_basic_keepdimsTestAverage.test_basic_keepdimsd  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/r[   c                    [         R                  R                  [         R                  " S5      R	                  SS5      / SQ/ SQ/ SQ/S9n[        / SQSS9n[        / SQ/ SQS9n[        USUSS	9n[         R                  " / S
Q5      n[        XE5        [        USUSS	9n[         R                  " / SQ5      n[        Xg5        [         R                  R                  / SQ/ SQS9n[        USSS[         R                  /S9n[        US5        [         R                  R                  / SQ/ SQ/ SQ// SQ/ SQ/ SQ/S9n[         R                  R                  US[         R                  S/SS9n[         R                  R                  S[         R                  [         R                  S// SQS9n[        Xh5        [        UR                  UR                  5        g )Nr   r   r@   r   r   r   r   r   r   )r         Fr   r   )      @g     @g     @)r  g0N@g0N@)r   r   r   r   r   r@   r   r   )r   r  r   r   )r   r   r   r   )FTTF)TFTT)TFTFr   r         @)rS   rb   r
   r   r   r   r   r	   r   r   rB   )	rT   rC   weights_unmaskedweights_maskedavg_unmaskedexpected_unmasked
avg_maskedexpected_maskedavg_expecteds	            rX   test_masked_weightsTestAverage.test_masked_weights{  s    EEKK		!,,Q2'I>  @'%@%k	Bqq'7%IHH%<=L<QQO
((#NOJ8
 EEKK12  4q1aBFF*;<L#.EEKK   

 '%&
	   UU]]1q"&&!n1]E
uu{{C#=#= # ? 	J5Z__l&7&78r[   r_   )r   r   r   r   r   r   r   r   r   r   r
  r   markparametrizer  r%  r   r_   r[   rX   r   r      s    $& 4D(0&1-f*7X [[F
TC5)dVcU	;j
!1&7a&?#i[
2	300")9r[   r   c                   &    \ rS rSrS rS rS rSrg)TestConcatenatori  c                    [        [        S   [        / SQ5      5        [        S5      n/ SQn[	        XS9n[        USSU4   n[        [        U[        5      5        [        U/ SQ5        [        UR                  [        USSU4   5        g )Nr@   r=   r   r   r   r   r   )r@   r   r   r   r   r   r   )r@   r@   r@   r@   r@   r   r   r@   r@   r@   r@   r@   )	r   r   r
   r   r   r   
isinstancer   rB   )rT   rD   r   dr]   s        rX   test_1dTestConcatenator.test_1d  su    3/0%8J2KLG#1a
O
1k*+1BC1663q!Qz?3r[   c                 P   [         R                  R                  SS5      n[         R                  R                  SS5      n[         R                  " [         R                  R                  SS5      S5      n[         R                  " [         R                  R                  SS5      S5      n[	        XS9n[	        X$S9n[
        SXV4   n[        UR                  S:H  5        [        US S 2S S24   U5        [        US S 2SS 24   U5        [        UR                  [         R                  SX44   5        [
        XV4   n[        UR                  S:H  5        [        US S2S S 24   U5        [        USS 2S S 24   U5        [        UR                  [         R                  X44   5        g )Nr   r   r   1)r   rp   )rp   r   )rS   randomrandroundr   r   r   r   r   rB   r_)rT   a_1a_2m_1m_2b_1b_2r.  s           rX   test_2dTestConcatenator.test_2d  s>   iinnQ"iinnQ"hhryy~~a+Q/hhryy~~a+Q/3)3)S7"#1QU8S)1QU8S)166255c#78M7"#1RaRT7C(1QRT7C(166255?3r[   c                 \   [         [        R                  R                  S4   n[	        UR
                  SS/5        [	        UR                  S   S5        [         SS/[        R                  R                  4   n[	        UR
                  / SQ5        [	        UR                  S S SS/5        g )Nr@   TFr=   )FFT)r   rS   rb   r   r   rB   ry   )rT   r   s     rX   test_masked_constant%TestConcatenator.test_masked_constant  s~    RUU\\1_%V[[4-0V[[^Q'aVRUU\\)*V[["67V[[!_q!f-r[   r_   N)r   r   r   r   r/  r=  r@  r   r_   r[   rX   r*  r*    s    	44(.r[   r*  c                        \ rS rSrS rS rSrg)TestNotMaskedi  c           	      \   [        [        R                  " S5      R                  SS5      / SQ/ SQ/ SQ/ SQ/ SQ/S9n[	        US 5      n[        US	S
/5        [	        US	5      n[        US	   SS/5        [        US   SS/5        [	        US5      n[        US	   SS/5        [        US   SS/5        [	        UR                  S 5      n[        US	S
/5        [	        UR                  S	5      n[        US	   SS/5        [        US   SS/5        [	        UR                  S5      n[        US	   SS/5        [        US   SS/5        [        US'   [	        US	5      n[        US	   SS/5        [        US   SS/5        [	        US5      n[        US	   SS/5        [        US   SS/5        g )N   r   )r   r   r@   r   r   )r   r   r   r@   r@   )r@   r@   r   r   r   )r   r   r   r   r   )r@   r@   r@   r   r   r   r      r   r@   r=   r   r   r@   )r   r   r   r   r   )r   r   r=   r   r   )r   r=   r   r   r   )r   r   r   r   r   )r@   r@   r=   r   r   )r   r@   r=   r   )r   r   r=   r   )r   r=   r   r   )r   rS   r   r   r/   r   ry   r   rT   ry   rU   s      rX   
test_edgesTestNotMasked.test_edges  s   BIIbM11!Q7"1"1"1"1"1	"35 tT*TAr7#tQ'T!W@AT!W@AtQ'T!W@AT!W@Atyy$/TAr7#tyy!,T!W@AT!W@Atyy"-T!W@AT!W@ARtQ'T!W@AT!W@AtR(T!W|\:;T!W|\:;r[   c                    [        [        R                  " S5      R                  SS5      / SQ/ SQ/ SQ/S9n[	        US 5      n[        U[        SS	S 5      [        S
SS 5      [        SSS 5      /5        [	        US5      n[        U[        SSS 5      [        SSS 5      /[        SSS 5      [        SSS 5      /[        SSS 5      [        SSS 5      /[        SSS 5      [        SSS 5      /[        SSS 5      /[        SSS 5      // [        SSS 5      //5        [	        US5      n[        U[        SS	S 5      // [        SSS 5      [        SSS 5      //5        g )NrF  r   r   )r   r   r   r   r@   r@   r@   r@   )r@   r@   r@   r@   r@   r@   r@   r@   )r   r   r   r   r   r   r@   r   r   r   r            r@   r=   r   ru   )r   rS   r   r   r.   r   r   )rT   rC   tmps      rX   test_contiguousTestNotMasked.test_contiguous  sp   2..q!47779: #1d+S!Q"b$"b$
 	 #1a(S1aaD 121aaD 121aaD 121aaD 121a1a1a	
 		 #1a(S1a1aaD 12
 	r[   r_   N)r   r   r   r   rK  rR  r   r_   r[   rX   rC  rC    s     <Dr[   rC  c                      \ rS rSrS rS rS r\R                  R                  S/ SQ5      \R                  R                  SS/\
R                  R                  S	4\
R                  R                  S
4/5      S 5       5       rS rS rS rSrg)TestCompressFunctionsi  c           
         [         R                  " [        [        S5      5      5      R	                  SSS5      n[         R
                  " S5      R                  [        5      nSUS'   [        XS9n[        U5      n[        U/ S	Q/ S
Q/ SQ// SQ/ SQ/ SQ//5        [        US5      n[        U/ SQ/ SQ/ SQ/ SQ// SQ/ SQ/ SQ/ SQ//5        [        US5      n[        U/ SQ/ SQ/ SQ// SQ/ SQ/ SQ// SQ/ SQ/ SQ//5        [        US5      n[        US5      n[        US5      n[        X45        [        X55        [        X65        [        US5      n[        U/ S	Q/ S Q/ S
Q/ SQ// S!Q/ S"Q/ S#Q/ S$Q// SQ/ S%Q/ SQ/ SQ//5        [        US&5      n[        US'5      n[        US(5      n[        X45        [        X55        [        X65        [        US)5      n[        U/ SQ/ SQ/ SQ// SQ/ SQ/ SQ//5        [        US*5      n[        X45        [        US+5      n[        U/ S	Q/ S
Q/ SQ// S!Q/ S#Q/ S$Q// SQ/ SQ/ SQ//5        [        US,5      n[        US-5      n[        US.5      n[        X45        [        X55        [        X65        [        US/5      n[        U/ S	Q/ S Q/ S
Q/ SQ// SQ/ S%Q/ SQ/ SQ//5        [        US05      n[        X45        g )1N<   r   r   r   r   r   r   Tr@   r@   r@   r   )r   r=   r   r   )rp   r         )            )(   *   +   ,   )2   4   5   6   )7   9   :   ;   r   rG  )r   r   ru   r   r   )rp   r  r   rZ  r[  )r\  rN  r]  r^  r_  )r`  )   ra  rb  rc  )-   .   /   0   1   )rd  3   re  rf  rg  )rh  8   ri  rj  rk  r@   )      rO  rP  rF  )   r      !   "   )#   r:   %   &   '   r^   rI  )rI  r=   )r   ru   r   r   )rt  rO  rP  rF  )rE     r     )rv  rw  rx  ry  )rz  r{  r|  r}  )rm  ro  rp  rq  r<   rH  )rH  r   )r   rI  r   )rI  r=   )r@   rH  )rI  rH  r   r=   )r   rH  )
rS   r
   listrv   r   r   astyper   r(   r   )rT   r   r   rC   a2a3a4s          rX   test_compress_nd&TestCompressFunctions.test_compress_nd  s   HHT%,'(00Aq9HHW$$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r[   c                    [        [        R                  " S5      R                  SS5      / SQ/ SQ/ SQ/S9n[	        [        U5      SS/SS	//5        [	        [        US
5      / SQ/ SQ/5        [	        [        US5      SS/SS/SS	//5        [        UR                  / SQ/ SQ/ SQ/S9n[	        [        U5      S
S/SS	//5        [	        [        US
5      / SQ/ SQ/5        [	        [        US5      S
S/SS/SS	//5        [        UR                  / SQ/ SQ/ SQ/S9n[	        [        U5      S	//5        [	        [        US
5      / SQ/5        [	        [        US5      S/S/S	//5        [        UR                  / SQ/ SQ/ SQ/S9n[	        [        U5      R                  S
5        [	        [        US
5      R                  S
5        [	        [        US5      R                  S
5        g )Nr   r   r  r  r   r   r   ru   r   r   rX  )r   ru   r   r@   r=   r   r@   r   r   r   r   )r
   rS   r   r   r   r)   _datar   rT   r   s     rX   test_compress_rowcols+TestCompressFunctions.test_compress_rowcols  s   "))A,&&q!,!9i8:%a(Aq6Aq6*:;%a+i-CD%a+q!fq!fq!f-EF!''Iy AB%a(Aq6Aq6*:;%a+i-CD%a+q!fq!fq!f-EF!''Iy AB%a(A3%0%a+i[9%a,sQC!o>!''Iy AB%a(--q1%a+00!4%a+00!4r[   c                    [        [        R                  " S5      R                  SS5      / SQ/ SQ/ SQ/S9n[	        [        U5      R                  / SQ/ SQ/ SQ/5        [	        [        US5      R                  / SQ/ SQ/ SQ/5        [	        [        US5      R                  / SQ/ SQ/ SQ/5        [        UR                  / SQ/ S	Q/ SQ/S9n[	        [        U5      R                  / S	Q/ SQ/ S	Q/5        [	        [        US5      R                  / SQ/ SQ/ SQ/5        [	        [        US5      R                  / S	Q/ S	Q/ S	Q/5        [        UR                  / SQ/ S	Q/ SQ/S9n[	        [        U5      R                  / SQ/ SQ/ S
Q/5        [	        [        US5      R                  / SQ/ SQ/ SQ/5        [	        [        US5      R                  / S
Q/ S
Q/ S
Q/5        [        UR                  / SQ/ S	Q/ SQ/S9n[        [        U5      R                  5       [        L 5        [        [        US5      R                  5       [        L 5        [        [        US5      R                  5       [        L 5        [        [        U5      R                  R                  5       5        [        [        US5      R                  R                  5       5        [        [        US5      R                  R                  5       5        g )Nr   r   r  r  r   rY  r   r@   r  )r@   r@   r   r   )r
   rS   r   r   r   r*   rB   r  r   allr   r  s     rX   test_mask_rowcols'TestCompressFunctions.test_mask_rowcols  s=   "))A,&&q!,!9i8:\!_))I6	8\!Q',,I6	8\!Q',,I6	8!''Iy AB\!_))I6	8\!Q',,I6	8\!Q',,I6	8!''Iy AB\!_))I6	8\!Q',,I6	8\!Q(--I6	8!''Iy ABQ##%/0Q"&&(F23Q"&&(F23Q$$((*+Q"''++-.Q"''++-.r[   r   )Nr   r@   funcrowcols_axisr   r@   c                     [        [        R                  " S5      R                  SS5      / SQ/ SQ/ SQ/S9n[	        [
        5         U" XAS9n[        U[        XC5      5        S S S 5        g ! , (       d  f       g = f)Nr   r   r  r  r   r   )r
   rS   r   r   r   DeprecationWarningr   r*   )rT   r   r  r  r   ress         rX   #test_mask_row_cols_axis_deprecation9TestCompressFunctions.test_mask_row_cols_axis_deprecation  s_    
 "))A,&&q!,!9i8: ,-q$Cl1;< .--s   A,,
A:c           	      t   [         R                  " SS5      n/ SQn[        XS9R                  SS5      n[        XS9R                  SS5      n[	        X4SS9n[        UR                  SS/SS	//5        [	        XCSS9n[        UR                  / S
Q/ SQ/ SQ/5        [	        X4SS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [	        XCSS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        / SQn[        XS9R                  SS5      n[        XS9R                  SS5      n[	        X4SS9n[        UR                  S	S/SS//5        [	        XCSS9n[        UR                  / SQ/ SQ/ S
Q/5        [	        X4SS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [        U[	        X45      5        [	        XCSS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        / SQn[        XS9R                  SS5      n[        XS9R                  SS5      n[	        X45      n[        UR                  [        5        [	        XC5      n[        UR                  [        5        [        U/ SQS9R                  SS5      n[        U/ SQS9R                  SS5      n[	        X4SS9n[        UR                  SS/S	S	//5        [	        X4SS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [	        XCSS9n[        UR                  / SQ/ SQ/ SQ/5        [	        XCSS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [        U/ SQS9R                  SS5      n[        U/ SQS9R                  SS5      n[	        X4SS9n[        UR                  S	S	/SS//5        [	        X45      n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [	        XCSS9n[        UR                  / SQ/ SQ/ SQ/5        [	        XCSS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [        U/ SQS9R                  SS5      n[        U/ SQS9R                  SS5      n[	        X4SS9n[        UR                  SS	/SS//5        [	        X4SS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [	        XCSS9n[        UR                  / SQ/ S
Q/ SQ/5        [	        XCSS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [        [         R                  " S5      R                  SSS5      SS	/S	S	//S	S	/S	S	///S9n[        [         R                  " S5      R                  SSS5      S	S	/S	S	//S	S	/S	S///S9n[	        X4SS9n[        UR                  SS/SS//S	S	/S	S///S	S	/S	S//S	S	/S	S////5        [	        X4SS9n[        UR                  S	S	/S	S//S	S	/S	S	///S	S	/S	S	//S	S	/S	S	////5        [	        XCSS9n[        UR                  SS	/S	S	//SS	/S	S	///SS	/S	S	//SS/SS////5        [	        XCSS9n[        UR                  S	S	/S	S	//S	S	/S	S	///S	S	/S	S	//SS	/S	S	////5        [        [         R                  " S5      R                  SSS5      SS	/S	S	//S	S	/S	S	///S9nSn[	        X4SS9n[        UR                  SS	/S	S	//S	S	/S	S	///5        [	        X4SS9n[        UR                  SS	/S	S	//S	S	/S	S	///5        [	        XCSS9n[        UR                  SS	/S	S	//S	S	/S	S	///5        [	        XCSS9n[        UR                  SS	/S	S	//S	S	/S	S	///5        [        [         R                  " S5      R                  SSS5      SS	/S	S	//S	S	/S	S	///S9n[        [         R                  " S5      S	S/S9n[	        X4SS9n[        UR                  SS/SS//5        [	        X4SS9n[        UR                  SS	/S	S	//5        g )Nr@   ru   )r@   r   r   r   r   r   r   r=   r   T)strictr   rY  r  Fr   r   r   r   r   r@   r   )r   r   r   r   r   r   )r   r   r@   r   r   r   r   r   )	rS   r   r   r   r   r   rB   filledr   )rT   nr   rC   rD   r]   s         rX   test_dotTestCompressFunctions.test_dot  s   IIaO#++Aq1#++Aq1T"QVVq!fq!f-.T"QVViI>?U#Qqxx{AHHQK89U#Qqxx{AHHQK89#++Aq1#++Aq1T"QVVq!fq!f-.T"QVViI>?U#Qqxx{AHHQK89QA	"U#Qqxx{AHHQK89#++Aq1#++Aq1IQVVV$IQVVV$!34<<QB!34<<QBT"QVVq!fq!f-.U#Qqxx{AHHQK89T"QVViI>?U#Qqxx{AHHQK89!34<<QB!34<<QBT"QVVq!fq!f-.IQqxx{AHHQK89T"QVViI>?U#Qqxx{AHHQK89!34<<QB!34<<QBT"QVVq!fq!f-.U#Qqxx{AHHQK89T"QVViI>?U#Qqxx{AHHQK891--aA6!"AA/1a&1a&1ABD1--aA6!"AA/1a&1a&1ABDT"QVVAA'1a&1a&)9:AA'1a&1a&)9:<	= U#QVVAA'1a&1a&)9:AA'1a&1a&)9:<	= T"QVVAA'1a&1a&)9:AA'1a&1a&)9:<	= U#QVVAA'1a&1a&)9:AA'1a&1a&)9:<	= 1--aA6!"AA/1a&1a&1ABDT"QVV1v1v.!Q!Q0@ABU#QVV1v1v.!Q!Q0@ABT"QVV1v1v.!Q!Q0@ABU#QVV1v1v.!Q!Q0@AB1--aA6!"AA/1a&1a&1ABD1QF3T"QVVq!fq!f-.U#QVVq!fq!f-.r[   c                 ^   [         R                  " S5      n[        U5      n[        [	        [        X5      5      [        L 5        [        [	        [        X5      5      [        L 5        [        [	        [        X!5      5      [        L 5        [        [	        [        X"5      5      [        L 5        g )Nr   )rS   eyer
   r   rc   r   r   rT   rC   rD   s      rX   test_dot_returns_maskedarray2TestCompressFunctions.test_dot_returns_maskedarray:  sl    FF1I!HSY;./SY;./SY;./SY;./r[   c                     [        [        R                  " S5      5      n[        [        R                  " S5      5      n[	        XUS9n[        X2L 5        [        X5        g )Nr   )r   r   out)r
   rS   r  r   r   r   r   )rT   rC   r  r  s       rX   test_dot_out"TestCompressFunctions.test_dot_outC  sE    "&&)BHHV$%!C 
Qr[   r_   N)r   r   r   r   r  r  r  r   r'  r(  rS   rb   	mask_rows	mask_colsr  r  r  r  r   r_   r[   rX   rU  rU    s    n`5(/@ [[V\2[[fn5!uu2RUU__a4HIK=K 3=m/^0r[   rU  c                        \ rS rSrS rS rSrg)TestApplyAlongAxisiK  c                     [        S5      R                  SSS5      nS n[        USU5      n[        USS/SS//5        g )	Nr   r=   r   c                     U S   $ Nr@   r_   )rD   s    rX   myfunc*TestApplyAlongAxis.test_3d.<locals>.myfuncP  s    Q4Kr[   r@   r   ru   rp   r   r   r'   r   rT   rC   r  xas       rX   test_3dTestApplyAlongAxis.test_3dM  sF    3K1a(	 fa+R1a&1b'*+r[   c                     [        S5      R                  SSS5      nS
S jn[        USUSS9n[        USS/SS	//5        g )Nr   r=   r   c                     U SU-      $ r  r_   )rD   offsets     rX   r  1TestApplyAlongAxis.test_3d_kwargs.<locals>.myfuncZ  s    QvX;r[   r@   )r  r   r   r  )r   r  r  s       rX   test_3d_kwargs!TestApplyAlongAxis.test_3d_kwargsW  sH    2Jq!Q'	 fa15R1a&1b'*+r[   r_   N)r   r   r   r   r  r  r   r_   r[   rX   r  r  K  s    ,,r[   r  c                       \ rS rSrS rSrg)TestApplyOverAxesia  c                    [        S5      R                  SSS5      n[        [        R                  USS/5      n[        R
                  " S/S/S///5      n[        X#5        [        XS-  R                  [        5      '   [        [        R                  USS/5      n[        R
                  " S	/S
/S///5      n[        X#5        g )NrF  r=   r   r   r   rW  \   |   r  rc  )
r   r   r&   rS   rz   r
   r   r   r  r   )rT   rC   rU   ctrls       rX   
test_basicTestApplyOverAxes.test_basicc  s    2Jq!Q'rvvq1a&1xx2$se,-.T "(q5..
rvvq1a&1xx2$rd+,-T r[   r_   N)r   r   r   r   r  r   r_   r[   rX   r  r  a  s    !r[   r  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS r\R&                  R)                  S/ SQS9S 5       rS rS rS rS rS rS rS rS rSrg)
TestMedianin  c                     [         R                  R                  [         R                  [         R                  /[         R                  [         R                  //SS9n[	        U[         R                  5        g )NrH  r   )rS   rb   r   infr   rT   rs     rX   test_pytypeTestMedian.test_pytypeo  sE    EELL266266*RVVRVV,<=BLGQr[   c                    [         R                  R                  [         R                  R                  [         R                  [         R                  /[         R                  [         R                  //5      SS9n[        U[         R                  5        [         R                  R                  [         R                  R                  [         R                  [         R                  /[         R                  [         R                  //5      S S9n[        U[         R                  5        [         R                  R                  [         R                  R                  [         R                  [         R                  /[         R                  [         R                  //SS9SS9n[        UR                  S5        [         R                  R                  [         R                  R                  [         R                  [         R                  /[         R                  [         R                  //SS9S S9n[        UR                  S5        g )NrH  r   Tr   )rS   rb   r   r   r  r   rB   r  s     rX   test_infTestMedian.test_infs  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"r[   c                    [         R                  " S5      n[        [         R                  R	                  U5      S5        [        [        [         R                  R	                  U5      5      [        L5        [        S5      n[        [         R                  R	                  U5      S5        [        [        [         R                  R	                  U5      5      [        L5        Sn[        [         R                  R	                  U5      S5        [        [        [         R                  R	                  U5      5      [        L5        [         R                  " S5      R                  SS5      n[        [         R                  R	                  USS	9[         R                  " USS	95        [        [         R                  R	                  US
S	9[         R                  " US
S	95        [        [         R                  R	                  US
S	9[        L5        [         R                  " S5      R                  SS5      n[        [         R                  R	                  USS	9[         R                  " USS	95        [        [         R                  R	                  US
S	9[         R                  " US
S	95        [        [         R                  R	                  US
S	9[        L5        g )Nr   r   r   r  r   r   H   r   r   r@   g      R@)
rS   r   r   rb   r   r   rc   r   rv   r   r  s     rX   test_non_maskedTestMedian.test_non_masked  s   IIaLRUU\\!_b)RUU\\!_%[89!HRUU\\!_c*RUU\\!_%[89RUU\\!_b)RUU\\!_%[89IIe$$Q*RUU\\!!\,bii.BCRUU\\!!\,bii.BCQQ'{:;IIf%%a+RUU\\!!\,bii.BCRUU\\!!\,bii.BCQQ'{:;r[   c                    [        [        R                  " S5      S/S-  S/S-  -   S9n[        [        R                  R                  U5      S5        [        [        R                  R                  U5      R                  SS5        [        [        [        R                  R                  U5      5      [        L5        [        [        R                  " S	5      R                  S
S5      S/S-  S/S-  -   S9n[        [        R                  R                  U5      S5        [        [        R                  R                  U5      R                  SS5        [        [        [        R                  R                  U5      5      [        L5        [        R                  R                  USSS9n[        USS/5        [        UR                  SS5        [        [        U5      [        L 5        g)z5test the examples given in the docstring of ma.medianr   r   r   r@   r   r   r_   shape mismatchrp   r=   r   r   r   rH  Tr   overwrite_inputr   r   r<   N)r
   rS   r   r   rb   r   r   r   rc   r   r   )rT   r   ma_xs      rX   test_docstring_examples"TestMedian.test_docstring_examples  sE   "))A,aSUaSU]3RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))B-''1-QCEQCEMBRUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89uu||AB|=TB8$TZZ'78T
k)*r[   c                 "   Sn[        S5       H  nS H  n[        SX#S9n[        R                  " [        U* U5      SS/5      nU H$  u  pg [        R
                  R                  XFUS9  M&     [        R                  " US-   * U/SS/5      nU H2  u  pg [        R
                  R                  XFUS9  [        XX&U4-  5      e   M     M     g ! [         a    [        XX&U4-  5      ef = f! [        R                  R                   a     M~  f = f)	Nz5mask = %s, ndim = %s, axis = %s, overwrite_input = %sr   )FTr@   )ndminrB   FTr  )rv   r
   	itertoolsproductrS   rb   r   	ExceptionAssertionError
exceptions	AxisError)rT   msgr  rB   r   argsr   overs           rX   test_axis_argument_errors$TestMedian.test_axis_argument_errors  s   E1XE%!54 !((vu)=t}M"&JDNQ4H #' !((EAI,)>N"&JDNQ4H -S%t3L-LMM #' &  % N,S%t3L-LMMN ==22 s   CC,C)	,D	D	c                     [        SSS9n[        [        R                  R	                  U5      S5        [        SSS9n[        [        R                  R	                  U5      [        R                  R
                  5        g )Nr@   Fr   T)r
   r   rS   rb   r   r   r  s     rX   test_masked_0dTestMedian.test_masked_0d  sN    !% RUU\\!_a(!$RUU\\!_beell3r[   c                    [        [        R                  " S5      SS9n[        [        R                  R                  U5      [        R                  R                  5        [        [        R                  R                  U5      R                  SS5        [        [        [        R                  R                  U5      5      [        R                  R                  R                  L 5        [        [        R                  " S5      SS9n[        [        R                  R                  U5      S5        [        [        R                  R                  U5      R                  SS5        [        [        [        R                  R                  U5      5      [        L5        [        [        R                  " S5      / SQS9n[        [        R                  R                  U5      S	5        [        [        R                  R                  U5      R                  SS5        [        [        [        R                  R                  U5      5      [        L5        [        [        R                  " S5      / S
QS9n[        [        R                  R                  U5      S5        [        [        R                  R                  U5      R                  SS5        [        [        [        R                  R                  U5      5      [        L5        [        [        R                  " S5      / SQS9n[        [        R                  R                  U5      S5        [        [        R                  R                  U5      R                  SS5        [        [        [        R                  R                  U5      5      [        L5        [        [        R                  " S5      / SQS9n[        [        R                  R                  U5      S5        [        [        R                  R                  U5      R                  SS5        [        [        [        R                  R                  U5      5      [        L5        [        [        R                  " S5      / SQS9n[        [        R                  R                  U5      S	5        [        [        R                  R                  U5      R                  SS5        [        [        [        R                  R                  U5      5      [        L5        [        [        R                  " S5      / SQS9n[        [        R                  R                  U5      S	5        [        [        R                  R                  U5      R                  SS5        [        [        [        R                  R                  U5      5      [        L5        g )Nr   Tr   r_   r  Fr   r   r   )r   r@   r@   r@   r@   r   )r   r@   r@   r   r   r   r   r   r   r  )r
   rS   r   r   rb   r   r   r   r   rc   rd   MaskedConstantr   r  s     rX   test_masked_1dTestMedian.test_masked_1d  sP   "))A,T*RUU\\!_beell3RUU\\!_**B0@ARUU\\!_%)B)BBC"))A,U+RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,[1RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))A,[1RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,[1RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))B-k2RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,]3RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))B-m4RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89r[   c           
          [        [        R                  R                  [	        / SQ/ SQS95      R
                  [        R                  R                  [	        / SQ/ SQS95      R
                  5        g )Nr  r  r   r  )r   rS   rb   r   r
   r   rT   s    rX   test_1d_shape_consistency$TestMedian.test_1d_shape_consistency  sD    RUU\\%W"=>DDUU\\%W"=>DD	Gr[   c                    Su  p[        [        R                  " SSU5      5      n[        =US S& USS & [        [        R                  " X4[
        S95      nUS S  US S 2S4'   [        R                  " [        U5      5      n[        SU5       H-  n[        R                  R                  U5        X5   US S 2U4'   M/     [        [        US S 2S4   5      S5        [        [        U5      S5        [        [        USS	9[        R                  " U5      5        [        [        UR                  SS	9[        R                  " U5      5        g )
N)e   rv        r   rp   r>   r   r@   r   )r   rS   linspacer   emptyrR   r   re   rv   r3  shuffler   r   r   r   )rT   r  pr   r   idxr|   s          rX   r=  TestMedian.test_2d  s    S"a02!!#2341&67A$!Q$iiAq!AIIc"fAadG  	VAadG_a(VAY"VAA&4VACCa("((1+6r[   c           	         [        [        R                  " S5      R                  SS5      5      n[        =US S& USS & [        [        U5      S5        [        [        [        R                  R                  U5      5      [        L5        [        [        USS9/ SQ5        [        [        [        R                  R                  USS95      [        L 5        [        [        US	S9/ S
Q5        [        [        [        R                  R                  US	S95      [        L 5        [        [        US	S9R                  / SQ5        g )Nrv  rp   r         -@r   r   )      +@r   g      /@r@   )
r   r   r   rp   rZ  rN  r_  r   r   r   )
r@   r@   r@   r   r   r   r   r@   r@   r@   )r   rS   r   r   r   r   r   r   rc   rb   r   rB   r  s     rX   test_2d_waxisTestMedian.test_2d_waxis  s    2..r156"1"#VAY%RUU\\!_%[89VAA&(:;RUU\\!!\,-<=VAA&(JKRUU\\!!\,-<=VAA&++-KLr[   c                    [         R                  R                  S5      R                  SSS5      n[        XS-  S:H  '   [        [        US5      SS/SS	/SS/S
S	//5        SUl        [        [        US5      SS/SS/SS//5        [         R                  R                  S5      R                  SSS5      n[        XS-  S:H  '   [        [        US5      SS/SS/SS//5        g )NrF  r   r   r=   r   r   r   r   r\  r^  )r   r   r=   c   rp   r  rZ  r[  r   r   rN  r]  )rS   rb   r   r   r   r   r   r   r  s     rX   r  TestMedian.test_3d  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#?@r[   c                     [        [        R                  " S5      R                  SS5      5      n[        =US S& USS & [        [        USS9[        USS95        g )Nrv  rp   r   r  rH  r   r@   )r   rS   r   r   r   r   r   r  s     rX   test_neg_axisTestMedian.test_neg_axis  sO    2..r156"1"#VAB'):;r[   c                 J   S H  n[        [        R                  " U5      5      n[        =US S& USS & [        [        R                  " S5      5      n[        X#S9nUS:X  a  [        US5        O[        US5        [        XCL 5        [        [        U5      [        L 5        M     g )	N)rv        >@r  g      ?@r   r  r_   r  rv  r   g      .@)
r   rS   r   r   r   r   r   r   rc   r   )rT   vr   r  r  s        rX   test_out_1dTestMedian.test_out_1d  s    #ARYYq\*A##AbqEAbcFrwwr{+Cq"ABwS$'S#&AHDG{*+ $r[   c                    S H  n[        [        R                  " U5      R                  SS5      5      n[        =US S& USS & [        [        R
                  " S5      5      n[        USUS9nUS:X  a-  [        S	/S-  / S
Q-   S	/S-  -   S/S-  S/S-  -   S/S-  -   S9nO,[        S	/S-  / SQ-   S	/S-  -   S/S-  S/S-  -   S/S-  -   S9n[        XE5        [        XCL 5        [        [        U5      [        L 5        M     g )N)r`  g      D@rv  r  rp   rH  r   r  r@   )r   r  rv  r   )rp   rZ  rN  r_  TFr   r   )r  g     1@g     5@g     9@)r   rS   r   r   r   r   r   r   r   rc   r   )rT   r  r   r  r  es         rX   test_outTestMedian.test_out,  s   #ARYYq\11"b9:A##AbqEAbcFrwwr{+Cqqc*ABw "a*:!:bT!V!C'+fqjE7Q;&>$!&KM !"a*B!BbT!V!K'+fQh%&:dVAX&EGAHDG{*+ $r[   r   )Nr@   r^   r   )r  rH  )argnames	argvaluesc                   ^^ [         R                  " S[        S9n[         R                  R                  S5      [         R                  " UR
                  5      S S 2S 4   -  nUR                  [         R                  5      n[         R                  U[        U5      '   [        [         R                  " UR
                  5      US9mUc  STR                  -  nO?[        UTR                  5      m[        UU4S j[        TR                  5       5       5      n[        [         R                  " U5      5      n[!        TUSUS9nXeL d   e[#        UR
                  U5        g )	N)r   r   ru   r  r>   )r      r   r^   c              3   P   >#    U  H  oT;   a  S OTR                   U   v   M     g7f)r@   N)r   ).0r|   	axis_normr.  s     rX   	<genexpr>/TestMedian.test_keepdims_out.<locals>.<genexpr>R  s&      L=J)^3]s   #&T)r   r   r  )rS   r   r   r3  r
   r   r  intpr   tupler   r   ndimr   rv   r  r   r   )	rT   r   rB   r   	shape_outr  r   r  r.  s	          @@rX   test_keepdims_outTestMedian.test_keepdims_out=  s     xxT2IIX&$**)=ag)FFHHRWWU1X,48<qvvI,T166:I L=B166]L LI288I./t=}}V\\9-r[   c                     SS/SS/SS//n[         R                  R                  US5      nSS/n[        [         R                  R	                  USS9U5        g )Nr   r   r   r   r   )rS   rb   masked_equalr   r   )rT   ry   ri   r  s       rX   $test_single_non_masked_value_on_axis/TestMedian.test_single_non_masked_value_on_axisY  s]    RRR UU''a0
8255<<
<;#	%r[   c                 $   S[         R                  " S[        S94 GH  n[         R                  R	                  S[         R
                  S// SQ/5      nXl        [         R                  R                  US S9n[        [         R                  " U5      5        [        U[         R
                  5        [         R                  R                  UR                  5       SS9n[        [         R                  " U5      5        [        U[         R
                  5        [         R                  R                  USS9n[        [        U5      [        5        [        US[         R
                  S/5        [         R                  R                  USS9n[        [        U5      [        5        [        U[         R
                  S	/5        [         R                  R                  US
S9n[        [        U5      [        5        [        U[         R
                  S	/5        GM     [         R                  R	                  S[         R
                  S// SQ/5      n[         R                  R                  US S 2S	4'   [        [         R                  R                  US S9[         R
                  5        [        [         R                  R                  USS9S[         R
                  S/5        [        [         R                  R                  USS9[         R
                  S/5        g )NFr   r>   r@   r   r  r   r   r=   rH  r   )rS   r   r   rb   r
   r   rB   r   r   isscalarr   ravelr   rc   r   r   )rT   rB   dmr  s       rX   test_nanTestMedian.test_nanb  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<<1a4255<<<6?255<<<3a^D255<<<3bffc]Cr[   c                    [         R                  R                  [         R                  " S5      5      n[         R                  R                  [         R                  " S5      5      n[         R
                  US'   [         R                  R                  US'   [        [         R                  R                  USUS9U5        [         R                  R                  [         R                  " S5      5      n[        [         R                  R                  USUS9U5        [         R                  R                  [         R                  " S	5      5      n[        [         R                  R                  X!S9U5        g )
N)r   r   r   r=   r@   rK   r   r  r   r@   r_   )	rS   rb   r   r   r   r   r   r   r   )rT   or.  s      rX   test_out_nanTestMedian.test_out_nan  s    EErxx~.EErwwv/&&$%%,,$RUU\\!QA\.2EErxx~.RUU\\!QA\.2EErxx|,RUU\\!\+Q/r[   c                 z   [         R                  R                  [         R                  " S[        S95      n[         R                  R
                  US S S2'   [         R                  US'   [        [         R                  R                  U5      [         R                  5        [        [         R                  R                  USS9[         R                  5        [         R                  R                  [         R                  " S[        S9R                  SSS5      5      n[         R                  " UR                  5      S-  S:H  Ul        UR                  5       n[         R                  US	'   [         R                  US
'   [        [         R                  R                  U5      [         R                  5        [        [         R                  " [         R                  R                  U5      5      5        [         R                  R                  USS9n[         R                  US'   [         R                  US'   [        [         R                  R                  US5      U5        [         R                  R                  USS9n[         R                  US'   [         R                  US'   [        [         R                  R                  US5      U5        [         R                  R                  USS9n[         R                  US'   [         R                  US'   [        [         R                  R                  US5      U5        g )NrF  r>   r   r=   r   r   r   r@   r  )r@   r@   r=   r=   r   r   r@   r   r  )rS   rb   r   r   rR   r   r   r   r   r   r   rB   copyr   r'  r   )rT   rC   aorigrD   s       rX   test_nan_behaviorTestMedian.test_nan_behavior  s   EEryy59:#A#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0r[   c                    [         R                  " / SQ/ SQ/[         R                  S9n[         R                  R	                  XS:H  S9n[        [         R                  R                  USS9S5        [        [         R                  R                  USS9R                  S5        [        [         R                  R                  US	S9US	   5        [        [         R                  R                  U5      S5        g )
N)r   r      r>   r   r   r@   r   r;  Fr   )rS   r
   uint8rb   r   r   r   rB   r   s     rX   test_ambigous_fillTestMedian.test_ambigous_fill  s    HHk;/rxx@EEqAv.255<<<2C8255<<<277?255<<<2AaD9255<<?C0r[   c           
      @   [         R                  [         R                  * 4 GHx  n[         R                  " U[         R                  /[         R                  [         R                  //5      n[         R                  R                  U[         R                  " U5      S9n[        [         R                  R                  USS9U[         R                  /5        [        [         R                  R                  USS9U[         R                  /5        [        [         R                  R                  U5      U5        [         R                  " [         R                  [         R                  U/[         R                  [         R                  U//5      n[         R                  R                  U[         R                  " U5      S9n[        [         R                  R                  USS9U5        [        [         R                  R                  USS9R                  S5        [        [         R                  R                  USS9US   5        [        [         R                  R                  U5      U5        [         R                  " X/X//5      n[        [         R                  R                  U5      U5        [        [         R                  R                  USS9U5        [        [         R                  R                  USS9U5        [         R                  " USU* S/S[         R                  [         R                  S	/S
[         R                  [         R                  U//[         R                  S9n[         R                  R                  U[         R                  " U5      S9nUS:  aW  [        [         R                  R                  USS9SSU* S/5        [        [         R                  R                  U5      S5        OV[        [         R                  R                  USS9SSU* S/5        [        [         R                  R                  U5      S5        [        [         R                  R                  USS9SSU/5        [        SS5       GH  n[        SS5       H  n[         R                  " [         R                  /U-  U/U-  -   /S-  5      n[         R                  R                  U[         R                  " U5      S9n[        [         R                  R                  U5      U5        [        [         R                  R                  USS9U5        [        [         R                  R                  USS9[         R                  /U-  U/U-  -   5        M     GM     GM{     g )Nr   r   r   r@   Fru   ir  r   r   r>   r   r   r   g      @g      $g      "g      r  rp   r=   )rS   r  r
   r   rb   r   isnanr   r   r   rB   float32rv   )rT   r  rC   r|   r}   s        rX   test_specialTestMedian.test_special  s   FFRVVG$C3.266266*:;<A""1288A;"7Aaa03.Aaa03.A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1b\q"ABFF8a<SEAI">!?!!CDA**1288A;*?A a#6 aa!8#> aa!8#%66(Q,3%!)!;= & "C %r[   c                 2   [         R                  R                  [         R                  " / [        S95      n[        5        nUR                  [        5        [        [         R                  R                  U5      [         R                  5        [        UR                  S   R                  [        L 5        S S S 5        [         R                  R                  [         R                  " / [        SS95      n[        5        nUR                  [        5        [        R                  " SS[        5        [        [         R                  R                  U5      [         R                  5        [        UR                  S   R                  [        L 5        S S S 5        [         R                  R                  [         R                  " / [        SS95      n[!        [         R                  R                  USS9U5        [!        [         R                  R                  US	S9U5        [         R                  R                  [         R                  " [         R                  [        SS95      n[        R"                  " S
S9 n[        R                  " SS[        5        [!        [         R                  R                  USS9U5        [        US   R                  [        L 5        S S S 5        g ! , (       d  f       GN5= f! , (       d  f       GNm= f! , (       d  f       g = f)Nr>   r   r   )r?   r  always r=   r   r@   T)record)rS   rb   r   r
   rR   r   rG  RuntimeWarningr   r   r   r   logcategorywarningsfilterwarningsr   catch_warnings)rT   rC   r   rD   s       rX   
test_empty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1Q##Hb.Aaa0!4AaDMM^34 21+ !  !  21s'   A5K$?BK68A#L$
K36
L
Lc           	         [         R                  R                  [         R                  " S5      5      n[	        [        [         R                  R                  UR                  [        5      5      5      [        5        [         R                  US'   [	        [        [         R                  R                  UR                  [        5      5      5      [        5        g )Nr   r=   )rS   rb   r   r   r   rc   r   r  ra   rR   r   )rT   r0  s     rX   test_objectTestMedian.test_object  su    EEryy}-RUU\\!((6"234e<vv!RUU\\!((6"234e<r[   r_   N)r   r   r   r   r  r  r  r  r  r  r  r  r=  r  r  r  r  r  r   r'  r(  r   r$  r*  r1  r8  r=  rB  rN  rQ  r   r_   r[   rX   r  r  n  s     #$<*+N04$:LG7 
M	A<
,," [[
  	.	.$%D:	0!1F1)=V5:=r[   r  c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestCovi  c                 ^    [        [        R                  R                  S5      5      U l        g Nr   )r
   rS   r3  r4  ry   r  s    rX   setup_methodTestCov.setup_method  s    "))..,-	r[   c                 R   U R                   n[        [        USS9S   R                  [        R
                  5        [        [        XSS9S   R                  [        R
                  5        US:  n[        [        [        R                  R                  X5      SS9S   R                  [        5      UR                  SS5      ) 5        [        [        [        R                  R                  X5      USS9S   R                  [        5      [        R                  " U) U) 45      5        g )NTrowvarr@   F)r   r[  r   rH  )ry   r   r7   r?   rS   rA  r   rb   r   r  r   r   r6   )rT   r   rB   s      rX   test_covhelperTestCov.test_covhelper
  s    II
1T*1-33RZZ@
1%03992::F3w""1+D\\!R  		
 	""1+qIIuten%		
r[   c           	         U R                   n[        [        R                  " U5      [        U5      5        [        [        R                  " USS9[        USS95        [        [        R                  " USSS9[        USSS95        g )NFrZ  Tr[  bias)ry   r	   rS   r   r  s     rX   test_1d_without_missingTestCov.test_1d_without_missing  s`    IIBFF1Is1v.BFF1U3S55IJBFF1U>%d;	=r[   c           	      .   U R                   R                  SS5      n[        [        R                  " U5      [	        U5      5        [        [        R                  " USS9[	        USS95        [        [        R                  " USSS9[	        USSS95        g )Nr   r   FrZ  Tr_  )ry   r   r	   rS   r   r  s     rX   test_2d_without_missingTestCov.test_2d_without_missing&  sm    IIa#BFF1Is1v.BFF1U3S55IJBFF1U>%d;	=r[   c           
         U R                   n[        US'   XR                  5       -  nUR                  5       n[	        [
        R                  " U5      [        U5      5        [	        [
        R                  " USS9[        USS95        [	        [
        R                  " USSS9[        USSS95         [        USS9  USS n[	        [
        R                  " X"S S S2   5      [        XS S S2   5      5        [	        [
        R                  " X"S S S2   SS9[        XS S S2   SS95        [	        [
        R                  " X"S S S2   SSS9[        XS S S2   SSS95        g ! [         a     Nf = f)NrH  FrZ  Tr_  allow_maskedr@   )ry   r   meanr{   r	   rS   r   r   )rT   r   nxs      rX   test_1d_with_missingTestCov.test_1d_with_missing.  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   2
E 
E,+E,c           	         U R                   n[        US'   UR                  SS5      n[        R                  " [        U5      5      R                  [        5      n[        R                  " X"R                  5      nXR                  S5      S S 2S 4   -
  R                  S5      n[        [        U5      [        R                  " U5      UR                  S   S-
  -  US-
  -  5        [        [        USS9[        R                  " USS9UR                  S   -  U-  5        [        R                  " UR                  U5      nXR                  S5      -
  R                  S5      n[        [        US	S
9[        R                  " US	S
9UR                  S   S-
  -  US-
  -  5        [        [        US	SS9[        R                  " US	SS9UR                  S   -  U-  5        g )NrH  r   r   r@   r   r   Tr`  FrZ  r_  )ry   r   r   rS   logical_notr   r  rw   r   r   ri  r  r	   r   r   )rT   r   validfracxfs        rX   test_2d_with_missingTestCov.test_2d_with_missingF  s   II"IIaO|A/66s;vveWW%&&)AtG$$,,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(*./	1r[   )ry   N)r   r   r   r   rW  r\  ra  rd  rk  rs  r   r_   r[   rX   rT  rT    s!    .
(==F01r[   rT  c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestCorrcoefi\  c                     [        [        R                  R                  S5      5      U l        [        [        R                  R                  S5      5      U l        g rV  )r
   rS   r3  r4  ry   data2r  s    rX   rW  TestCorrcoef.setup_method^  s4    "))..,-	299>>"-.
r[   c           	      @   U R                   U R                  p![        R                  " U5      n[        R                  " X5      n[	        5        n[
        R                  " S5        [        [        [        USS9  UR                  [        S5        [        [        R                  " USS9[        USS95        [        [        USS9U5        [        [        XSS9U5        [        [        USS9U5        [        [        XSS9U5        S S S 5        g ! , (       d  f       g = f)NrE  rH  ddofbias and ddof have no effectr   r   ry   rx  rS   r   r   rK  simplefilterr   r  filterr	   )rT   r   r   r  	expected2sups         rX   	test_ddofTestCorrcoef.test_ddofb  s    yy$**1;;q>KK%	 C!!(++XqrBJJ)+IJAA 68KL 4h?B 7C 3X>A 6	B !  s   B8D
Dc           	         U R                   U R                  p![        R                  " U5      n[	        5        n[
        R                  " S5        [        [        [        XSS5        [        [        [        XSS5        [        [        [        USS9  UR                  [        S5        [        [        USS9U5        S S S 5        g ! , (       d  f       g = f)NrE  TFrn  r}  r@   r~  )rT   r   r   r  r  s        rX   	test_biasTestCorrcoef.test_biasr  s    yy$**1;;q> C!!(++XqT5I+XqT4H+XquEJJ)+IJ 3X> !  s   BC
Cc           
         U R                   n[        [        R                  " U5      [        U5      5        [        [        R                  " USS9[        USS95        [	        5        nUR                  [        S5        [        [        R                  " USSS9[        USSS95        S S S 5        g ! , (       d  f       g = f)NFrZ  r}  Tr_  )ry   r	   rS   r   r   r  r  rT   r   r  s      rX   ra  $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   'A B00
B>c           
         U R                   R                  SS5      n[        [        R                  " U5      [	        U5      5        [        [        R                  " USS9[	        USS95        [        5        nUR                  [        S5        [        [        R                  " USSS9[	        USSS95        S S S 5        g ! , (       d  f       g = f)Nr   r   FrZ  r}  Tr_  )ry   r   r	   rS   r   r   r  r  r  s      rX   rd  $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   7A C  
Cc                 0   U R                   n[        US'   XR                  5       -  nUR                  5       n[	        [
        R                  " U5      [        U5      5        [	        [
        R                  " USS9[        USS95        [        5        nUR                  [        S5        [	        [
        R                  " USSS9[        USSS95        S S S 5         [        USS9  USS n[	        [
        R                  " X"S S S2   5      [        XS S S2   5      5        [	        [
        R                  " X"S S S2   SS9[        XS S S2   SS95        [        5        nUR                  [        S5        [	        [
        R                  " X"S S S2   5      [        XS S S2   SS	95        [	        [
        R                  " X"S S S2   5      [        XS S S2   S
S95        S S S 5        g ! , (       d  f       GN= f! [         a     GNf = f! , (       d  f       g = f)NrH  FrZ  r}  Tr_  rg  r@   rn  r=   r{  )ry   r   ri  r{   r	   rS   r   r   r  r  r   )rT   r   rj  r  s       rX   rk  !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 G$
G6 A?H$
G36
HH
Hc                 (   U R                   n[        US'   UR                  SS5      n[        U5      n[        R                  " U5      n[        US S2S S24   US S2S S24   5        [        5        nUR                  [        S5        [        [        USS9S S2S S24   US S2S S24   5        [        [        USS9S S2S S24   US S2S S24   5        [        [        USS9S S2S S24   US S2S S24   5        S S S 5        g ! , (       d  f       g = f)	NrH  r   r   r}  rI  r{  r@   rn  )	ry   r   r   r   rS   r	   r   r  r  )rT   r   rU   rV   r  s        rX   rs  !TestCorrcoef.test_2d_with_missing  s*   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   1B	D
D)ry   rx  N)r   r   r   r   rW  r  r  ra  rd  rk  rs  r   r_   r[   rX   rv  rv  \  s(    /C ?	F	F><3r[   rv  c                        \ rS rSrS rS rSrg)TestPolynomiali  c                    [         R                  R                  S5      n[         R                  R                  S5      R                  SS5      n[	        [        XS5      [         R
                  " XS5      5        UR                  [        5      n[        US'   UR                  [        5      n[        =US'   US'   [        XS S 2S4   SS	S
9u  p4pVn[         R
                  " USS  USS 2S4   R                  5       SS	S
9u  ppn[        X4XVU4XXU45       H  u  p[	        X5        M     [        XS S 2S4   SS	S
9u  p4pVn[         R
                  " USS USS2S4   SS	S
9u  ppn[        X4XVU4XXU45       H  u  p[	        X5        M     [        XSS	S
9u  p4pVn[         R
                  " USS USS2S S 24   SS	S
9u  ppn[        X4XVU4XXU45       H  u  p[	        X5        M     [         R                  R                  S5      S-   nUR                  5       nUSS nUSS nUSS n[        XSS	US9u  p4pVn[         R
                  " UUSS	US9u  ppn[        UU5        [        X4XVU4XXU45       H  u  p[	        X5        M     g )Nrp   rt  rH  r=   r   r   rI   rH  rH  Trx   r@   )rx   r   )rS   r3  r4  r   r	   r   viewr   r   r{   zipr6  r   )rT   r   r   CRKSDr]   r  r~   r   r.  rC   a_r   woxsyswss                       rX   test_polyfitTestPolynomial.test_polyfit  s    IINN2IINN2&&r1-GA!,bjjq.ABFF;!FF;$$$!F)!!q!tWad;qQ**QqrUAab!eH,?,?,A1*.0qQA!?Q1O<GQ& = "!q"uXqt<qQ**QqWa"bk14HqQA!?Q1O<GQ& = "!5qQ**QqWa"QiFqQA!?Q1O<GQ& = IINN2"VVXqWqWqW!!:qQ**RQTR@qQQA!?Q1O<GQ& =r[   c                    [         R                  R                  S5      n[         R                  R                  S5      R                  SS5      n[         R                  US'   [         R                  US'   UR                  [        5      nUR                  [        5      n[        US'   [        US'   [        XSSS	9u  p4pVn[         R                  " US
S US
S2S S 24   SSS	9u  ppn[        X4XVU4XXU45       H  u  p[        X5        M     g )Nrp   rt  rH  r=   r   r  r   Tr  r@   )rS   r3  r4  r   r   r  r   r   r   r  r	   )rT   r   r   r  r  r  r  r  r]   r  r~   r   r.  rC   r  s                  rX   test_polyfit_with_masked_NaNs,TestPolynomial.test_polyfit_with_masked_NaNs  s    IINN2IINN2&&r1-vv!66%FF;FF;!%!!5qQ**QqWa"QiFqQA!?Q1O<GQ& =r[   r_   N)r   r   r   r   r  r  r   r_   r[   rX   r  r    s    %'N'r[   r  c                   z    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rSrg)TestArraySetOpsi  c                     / SQn[        USSS9n[        [        US   [        5      5        [	        US   [        / SQ/ SQS95        [	        US   / S	Q5        [	        US
   / SQ5        g )Nr@   r@   r@   r=   r=   r   Treturn_indexreturn_inverser   r  r  r   r@   )r   r   r   r=   )r   r   r   r@   r@   r=   )r   r   r-  r   r   r   rJ  s      rX   test_unique_onlist"TestArraySetOps.test_unique_onlist  sZ    !ddC
47K01T!Wl99EFT!Wi(T!W01r[   c                 l   [        / SQ/ SQS9n[        USSS9n[        US   [        / SQ/ SQS95        [        US	   / S
Q5        [        US   / SQ5        SUl        [        / SQ/ SQSS9n[        USSS9n[        US   [        / SQ/ SQS95        [        US	   / S
Q5        [        US   / SQ5        g )Nr  )r   r   r@   r   r@   r   r   Tr  r   )r@   r=   r   rH  r   r   r   r@   r@   )r   r   r   r=   r=   )r   r   r   r@   r   r=   r   )ry   rB   
fill_value)r   r   r   r  rJ  s      rX   test_unique_onmaskedarray)TestArraySetOps.test_unique_onmaskedarray  s    .5GHddCT!Wl=|LMT!Wl+T!W01!3!3CddCT!Wl=|LMT!Wl+T!W01r[   c                 @   [        / SQSS9n[        USSS9n[        US   [        S/S/S95        [        US   S/5        [        US   / SQ5        [        n[        USSS9n[        US   [        [        5      5        [        US   S/5        [        US   S/5        g )	NrY  Tr   r  r   r@   r=   r  )r   r   r   r   rJ  s      rX   test_unique_allmasked%TestArraySetOps.test_unique_allmasked  s    ID1ddCT!WlA5v>?T!Wqc"T!Wi( ddCT!Wl623T!Wqc"T!Wqc"r[   c                     [        [        R                  " S5      / SQS9n[        / SQ/ SQS9n[	        U5      n[        X25        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        g )Nr   r@   r   r   r   r@   r   )r@   r@   r@   r   )r@   r   r   r@   r   )r   rS   r   r
   r%   r   r  rB   )rT   r   rV   rU   s       rX   test_ediff1dTestArraySetOps.test_ediff1d+  s`    1O<<8qzT#T[[^W^^A%67TYY-r[   c                    [        [        R                  " S5      / SQS9n[        U[        S9n[        / SQ/ SQS9n[        X#5        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        [        U/ SQS9n[        / S	Q/ S
QS9n[        X#5        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        g )Nr   r  r   )to_begin)r   r@   r@   r@   r   )r@   r@   r   r   r@   r   r  )r@   r=   r   r@   r@   r@   r   )r   r   r   r@   r   r   r@   	r   rS   r   r%   r   r
   r   r  rB   rT   r   rU   rV   s       rX   test_ediff1d_tobegin$TestArraySetOps.test_ediff1d_tobegin4  s    1O<q6*o>T#T[[^W^^A%67TYY-q9--4IJT#T[[^W^^A%67TYY-r[   c                    [        [        R                  " S5      / SQS9n[        U[        S9n[        / SQ/ SQS9n[        X#5        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        [        U/ SQS9n[        / S	Q/ S
QS9n[        X#5        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        g )Nr   r  r   )to_end)r@   r@   r@   r   r   )r@   r   r   r@   r@   r   r  )r@   r@   r@   r   r@   r=   r   )r@   r   r   r@   r   r   r   r  r  s       rX   test_ediff1d_toend"TestArraySetOps.test_ediff1d_toendC  s    1O<q(o>T#T[[^W^^A%67TYY-q+-4IJT#T[[^W^^A%67TYY-r[   c                    [        [        R                  " S5      / SQS9n[        U[        [        S9n[        / SQ/ SQS9n[        X#5        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        [        U/ SQ[        S9n[        / S	Q/ S
QS9n[        X#5        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        g )Nr   r  r   r  r  )r   r@   r@   r@   r   r   )r@   r@   r   r   r@   r@   r   r  )r   r@   r@   r@   r   r@   r=   r   )r@   r@   r   r   r@   r   r   r   r  r  s       rX   test_ediff1d_tobegin_toend*TestArraySetOps.test_ediff1d_tobegin_toendR  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-r[   c                 F   [         R                  " S5      n[        U5      n[        / SQ/ SQS9n[	        X#5        [        [        U[        5      5        [	        UR                  S5      UR                  S5      5        [	        UR                  UR                  5        [        U[        [        S9n[        / SQ/ SQS9n[        [        U[        5      5        [	        UR                  S5      UR                  S5      5        [	        UR                  UR                  5        g )	Nr   r@   r@   r@   r@   r   r   r   r   r   r   r  r   r   )rS   r   r%   r
   r   r   r-  r   r  rB   r   r  s       rX   test_ediff1d_ndarray$TestArraySetOps.test_ediff1d_ndarrayb  s    IIaLqz<8T#
4-.T[[^W^^A%67TYY-q&9*1CD
4-.T[[^W^^A%67TYY-r[   c                     [        / SQ/ SQS9n[        / SQ/ SQS9n[        X5      n[        / SQ/ SQS9n[        X45        g )N)r@   r   r   r   r  r   )r   r@   r@   r@   )r@   r   rH  r   )r
   r#   r   )rT   r   r   rU   rV   s        rX   test_intersect1d TestArraySetOps.test_intersect1dr  s8    ,\2,\21 
3T#r[   c                 J   [        / SQ/ SQS9n[        / SQ/ SQS9n[        X5      n[        U[        / SQ5      5        [        / SQ/ SQS9n/ SQn[        X5      n[        U[        / SQ/ S	QS95        [        / S
Q5      n[        / SQ5      n[        X5      n[        [	        U[
        5      5        [        U/ SQ5        [        / SQ/ SQS9n[        / SQ/ S	QS9n[        X5      n[        [	        U[
        5      5        [        U/ SQ5        [        / [        / / 5      5        g )Nr@   r=   r   ru   rH  r   r   r   r   r@   r   r@   r=   r   r   r   rH  r  )r   r   ru   r@   r=   r   r   r   r   r   ru   rH  r  r  )r   r   r   r,  r@   r   r=   r   r   r@   r   r   r   r   r   r   )r
   r    r   r   r-  r   r   rT   rC   rD   rU   s       rX   test_setxor1dTestArraySetOps.test_setxor1dz  s    "9%,>?~T5+,"9~T5\BC))~
4-.T-.,\2,\2~
4-.T-.2xB/0r[   c                    [        / SQ/ SQS9n/ SQn[        XSS9n[        U[        / SQ/ SQS95        [        / S	Q/ S
QS9n[        / SQ/ SQS9n[        XSS9n[        [	        U[
        5      5        [        U/ SQ5        [        S/S/S/S//5      n[        SS/SS//5      n[        XSS9n[        [	        U[
        5      5        [        U/ SQ5        g )Nr  r  r   r  T)assume_uniquer  r  r  r  r  r,  r@   r   r=   r   r   r   r   )r
   r    r   r   r-  r   r  s       rX   test_setxor1d_unique$TestArraySetOps.test_setxor1d_unique  s    "9D1T5\BC,\2,\2D1
4-.T-.A3aS1#&'Aq6Aq6"#D1
4-.T-.r[   c                    [         R                  " S5      R                  / SQ5      n[         R                  " / SQ5      nSUS'   [	        XS9n[	        / SQ/ SQS9n[        S[
        S	9nS
US'   S
US'   S
US'   [        X5      n[        [        U[        5      5        [        XT5        [         R                  " XUR                  )    5      UR                  ) -  n[        XV5        g )NrF  r   r@   )r@   r=   r   r   )	r   rp   rt  rv  r@   r   r  rO  rx  )	r   r@   r   r@   r   r@   r   r@   r   )ry   rB   r>   Tr  r   )r   r=   r   )rS   r   r   r   r
   r   r2   r   r-  r   r   rB   )rT   rC   rB   rD   ecr]   r.  s          rX   	test_isinTestArraySetOps.test_isin  s     IIbM!!),xx	"W!::<9D)777J
1k*+1!GGA!&&z"affW,1 r[   c                    [        / SQ/ SQS9n[        / SQ/ SQS9n[        X5      n[        U/ SQ5        [        / SQ/ SQS9n[        / SQ/ S	QS9n[        X5      n[        U/ S
Q5        [        / [        / / 5      5        g )Nr  r  r   r  r  )TTTFTr   r   r=   r@   rH  r@   r   rH  r   )TTFTT)r
   r$   r   r   r  s       rX   	test_in1dTestArraySetOps.test_in1d  sn    "9%,>?AzT:;"9*9-AzT:;2tB|,r[   c           	      b   [        / SQ/ SQS9n[        / SQ/ SQS9n[        [        R                  " [	        X5      5      [	        XSS95        [        / SQ/ SQS9n[        / S	Q/ S
QS9n[        [        R                  " [	        X5      5      [	        XSS95        [        / [	        / / SS95        g )Nr  r  r   r  r  T)invertr  r  r   )r
   r   rS   r  r$   r   r  s      rX   test_in1d_invert TestArraySetOps.test_in1d_invert  s    "9%,>?RYYtAz*Dd,CD"9*9-RYYtAz*Dd,CD2tB489r[   c                 @   [        / SQ/ SQS9n[        / SQ/ SQS9n[        X5      n[        / SQ/ SQS9n[        X45        [        / SQ/ SQ// S	Q/ S
Q/S9n[        / SQ/ SQS9n[        / SQ/ SQS9n[        XV5      n[        X5        [        / [        / / 5      5        g )N)r@   r=   r   ru   r   rH  r  r   r  )r@   r=   r   r   r   ru   rH  )r   r   r   r   r   r   r@   r   rX  r  r   rG  r  )r   r@   r=   r   r   r   )r
   r"   r   r   )	rT   rC   rD   rU   rV   r   r   ezr   s	            rX   test_union1dTestArraySetOps.test_union1d  s    %,>?%,>?q}.5JKT# 9i(	9/EF/8%,>?AMQ2wr2/r[   c                 z   [        / SQ/ SQS9n[        / SQ5      n[        X5      n[        U[        / SQ/ SQS95        [        S5      n[        S5      n[        [        X5      [        SS	/5      5        [        / [        R
                  / S9n[        [        U/ 5      R                  [        R
                  5        g )
N)r   r   r   ru   ru   r@   r=   r@   )r   r   r   r   r   r   r   r@   r   )r=   r   r   r   r=   r@   r   )r   ru   rH  r   rp   r   r   )r
   r!   r   r   rS   uint32r?   r  s       rX   test_setdiff1dTestArraySetOps.test_setdiff1d  s    *1IJ'(T5)<=2J1IYq_eQFm4"biib)Yq"%++RYY7r[   c                     [         R                  " / SQ5      n[         R                  " / SQ5      n[        [        X5      [         R                  " S/5      5        g )N)rC   rD   r]   )rC   rD   r   r]   )rS   r
   r   r!   r  s      rX   test_setdiff1d_char_array)TestArraySetOps.test_setdiff1d_char_array  s6    HH_%HH_%9Q?BHHcUO<r[   r_   N)r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r_   r[   rX   r  r    sW    22 #.... . $14/&!*-
:0$8=r[   r  c                        \ rS rSrS rS rSrg)TestShapeBasei  c                    [        / SQ/ SQS9n[        U5      n[        UR                  S5        [        UR                  R                  UR
                  R                  5        [        UR                  S5        [        UR                  R                  UR
                  R                  5        [        UR                  R                  UR
                  R                  5        g )Nr   r  r   r5  r/  )r   r   r   r   rB   ry   r  s      rX   test_atleast_2dTestShapeBase.test_atleast_2d  s    3qMQWWf%QVV\\166<<0QWWd#QVV\\166<<0QVV\\166<<0r[   c                 f   [        S5      n[        UR                  S5        [        UR                  R                  UR                  5        [        UR                  R                  UR                  5        [        SS5      nU Hm  n[        UR                  S5        [        UR                  R                  UR                  5        [        UR                  R                  UR                  5        Mo     [        S5      n[        UR                  S5        [        UR                  R                  UR                  5        [        UR                  R                  UR                  5        [        SS5      nU Hm  n[        UR                  S5        [        UR                  R                  UR                  5        [        UR                  R                  UR                  5        Mo     [        S5      n[        UR                  S5        [        UR                  R                  UR                  5        [        UR                  R                  UR                  5        [        SS5      nU Hm  n[        UR                  S5        [        UR                  R                  UR                  5        [        UR                  R                  UR                  5        Mo     [        S5      n[        UR                  S5        [        UR                  R                  UR                  R                  5        g )Nr   r^   r   rJ   rY  )r   r   r   rB   ry   r   r   r3   )rT   rD   rC   s      rX   test_shape_scalarTestShapeBase.test_shape_scalar  s   
 sOQWWd#QVV\\177+QVV\\177+sC A$'qww/qww/ 
 sOQWWf%QVV\\177+QVV\\177+sC A&)qww/qww/ 
 sOQWWi(QVV\\177+QVV\\177+sC A),qww/qww/ 
 SMQWWf%QVV\\166<<0r[   r_   N)r   r   r   r   r  r   r   r_   r[   rX   r  r    s    1(1r[   r  c                   &    \ rS rSrS rS rS rSrg)TestNDEnumeratei3  c           
         [         R                  " S5      R                  S5      n[         R                  " U[        S9n[        XS9n[        [        [         R                  " U5      5      [        [        U5      5      5        [        [        [        U5      5      [        [        U5      5      5        [        [        [        U5      5      [        [        USS95      5        g )Nr  )r@   r   r=   r>   r   Fr{   )	rS   r   r   
zeros_liker   r   r   r  r4   )rT   ordinary
empty_mask	with_masks       rX   test_ndenumerate_nomasked)TestNDEnumerate.test_ndenumerate_nomasked5  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r[   c           
      *   [        S5      n[        S5      n[        S5      n[        [        [        U5      5      / 5        [        [        [        U5      5      / 5        [        [        [        USS95      [        [	        [
        R                  " S5      S[        /-  5      5      5        [        [        [        U5      5      / 5        [        [        [        USS95      [        [	        [
        R                  " S5      S[        /-  5      5      5        g )Nr_   )d   r   Fr  r  rF  )r0   r   r  r4   r  rS   ndindexr   )rT   rC   rD   r]   s       rX   test_ndenumerate_allmasked*TestNDEnumerate.test_ndenumerate_allmasked@  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r[   c                 V   [        [        R                  " S5      R                  S5      / SQ/ SQ/ SQ/S9n/ SQn[	        [        [        U5      5      U5        [	        [        [        [        USS	95      5      UR                  5        [        USS	9 H  u  p4[	        X   U5        M     g )
Nr   r-  r  )r@   r@   r   r@   r  r   ))r   r   ))r=   r   r   )r.  r   )rK   rp   )r4  r  Fr  )	r   rS   r   r   r   r  r4   re   r   )rT   rC   items
coordinatevalues        rX   test_ndenumerate_mixedmasked,TestNDEnumerate.test_ndenumerate_mixedmaskedL  s    2..v6+++-.GT+a.)51Sk!>?@!&&I!,Q5!AJ. "Br[   r_   N)r   r   r   r   r
  r  r  r   r_   r[   rX   r  r  3  s    	E
M
/r[   r  c                   &    \ rS rSrS rS rS rSrg)	TestStackiY  c                    [        / SQ/ SQS9n[        / SQ/ SQS9n[        X/SS9n[        UR                  S5        [	        UR
                  US   R
                  5        [	        UR
                  US	   R
                  5        [        X/5      n[	        UR                  UR                  5        [	        UR
                  UR
                  5        [        X/S	S9n[        UR                  S
5        [	        UR
                  US S 2S4   R
                  5        [	        UR
                  US S 2S	4   R
                  5        g )Nr   r  r   r   r   ru   r  r   r   r4  r@   r   r=   r   r5   r   r   r   rB   r6   ry   rT   rC   rD   r]   r.  s        rX   test_stack_1dTestStack.test_stack_1d[  s    331&q!QWWf%1661Q499-1661Q499-A6N166166*166166*1&q!QWWf%1661QT7<<01661QT7<<0r[   c                 x   [        / SQSS9n[        / SQSS9n[        X/SS9n[        UR                  S5        [	        UR
                  US   R
                  5        [	        UR
                  US	   R
                  5        [        X/5      n[	        UR                  UR                  5        [	        UR
                  UR
                  5        [        X/S	S9n[        UR                  S
5        [	        UR
                  US S 2S4   R
                  5        [	        UR
                  US S 2S	4   R
                  5        g )Nr   Tr   r  Fr   r   r4  r@   r  r  r  s        rX   test_stack_masksTestStack.test_stack_masksm  s    ./1&q!QWWf%1661Q499-1661Q499-A6N166166*166166*1&q!QWWf%1661QT7<<01661QT7<<0r[   c                 \   Sn[         R                  R                  SSU5      n[         R                  R                  SSU5      n[         R                  R                  SSU5      R                  [        5      n[         R                  R                  SSU5      R                  [        5      n[        X$S9n[        X5S9n[        Xg/SS9nSU-   n	[        UR                  U	5        [        UR                  US   R                  5        [        UR                  US   R                  5        [        Xg/S	S9nUS-   n	[        UR                  U	5        [        UR                  US
   R                  5        [        UR                  US   R                  5        Sn[         R                  R                  SSU5      n[         R                  R                  SSU5      n[         R                  R                  SSU5      R                  [        5      n[         R                  R                  SSU5      R                  [        5      n[        X$S9n[        X5S9n[        Xg/SS9nSU-   n	[        UR                  U	5        [        UR                  US   R                  5        [        UR                  US   R                  5        [        Xg/S	S9nUS-   n	[        UR                  U	5        [        UR                  US
   R                  5        [        UR                  US   R                  5        g )Nr  r   rp   r=   r   r   r<   r@   rH  ).r   ).r@   )r   r=   r   r   )rS   r3  randintr  r   r   r5   r   r   r   rB   )
rT   shpd1d2r   r   a1r  r]   c_shps
             rX   test_stack_nd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3r[   r_   N)r   r   r   r   r  r!  r*  r   r_   r[   rX   r  r  Y  s    1$1$)4r[   r  )O__doc__rK  r  r   numpyrS   numpy._core.numericr   numpy.testingr   r   numpy.ma.testutilsr   r   r   r	   numpy.ma.corer
   r   r   r   r   r   r   r   r   r   r   numpy.ma.extrasr   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r9   r   r*  rC  rU  r  r  r  rT  rv  r  r  r  r  r  r_   r[   rX   <module>r3     s$       4              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4r[   