
    4i%                    @   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
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'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7  SSK8J9r9J:r:J;r;J<r<   " S S5      r= " S	 S
5      r> " S S5      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      rKg)%zTests suite for MaskedArray.
Adapted from the original test_ma by Pierre Gerard-Marchant

:author: Pierre Gerard-Marchant
:contact: pierregm_at_uga_dot_edu

    N)normalize_axis_tuple)MaskedArrayarangearraycountgetmaskarraymaskedmasked_arraynomaskonesshapezeros)#
_covhelperapply_along_axisapply_over_axes
atleast_1d
atleast_2d
atleast_3daverageclump_maskedclump_unmaskedcompress_ndcompress_rowcolscorrcoefcovdiagflatdotediff1dflatnotmasked_contiguousin1dintersect1disinmask_rowcols
masked_allmasked_all_likemedianmr_ndenumeratenotmasked_contiguousnotmasked_edgespolyfit	setdiff1dsetxor1dstackunion1duniquevstack)assert_assert_almost_equalassert_array_equalassert_equalc                   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)TestGenericI   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;   rA   rC   barC   bbrC   r>   rH   )r$   floatr   r5   npr=   )selftestcontroldts       \/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/numpy/ma/tests/test_extras.pytest_masked_allTestGeneric.test_masked_allK   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 )NrB   cr>   r>   rH    rQ   r=   objectmar$   r5   typecorer   lenr   _fill_valuerR   my_dtype
masked_arrs      rV   "test_masked_all_with_object_nested.TestGeneric.test_masked_all_with_object_nestedi   s     88cc6]OT#:;<=UU%%dH5
T*S/*BEEJJ,B,BCT*S/#./1G1GHSC-.2Z_S)//8Z_S)55;;R@rY   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 )NrB   r\   r>   rH   r]   r^   re   s      rV   test_masked_all_with_object'TestGeneric.test_masked_all_with_objectu   s    88cFD>234UU%%dH5
T*S/*BEEJJ,B,BCSC)1-Z_**F3Z_0066;rY   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<   r?   rA   rB   rC   rD   rG   rH   )
   rn   rJ   rK   rM   rO   )r   rP   r%   r5   rQ   r=   )rR   baserS   rT   rU   s        rV   test_masked_all_like TestGeneric.test_masked_all_like   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#rY   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   )rangerQ   r   intfullr
   r@   datasumr   r5   
compressed)	rR   rC   ijkjarA   ssls	            rV   check_clumpTestGeneric.check_clump   s    q!A1a4[IIas+WWQ- A&1+!+A$B))A & !3!3!5q9ffWAF !3!3!5q9 ! rY   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 )Nrn   r   r>   r;         	   r      r   rs   r   )r
   rQ   r   r	   r   slicer5   r   rR   rA   rS   rT   s       rV   test_clump_maskedTestGeneric.test_clump_masked   s\    2' &
AA;aU1b\:T#&rY   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 )Nrn   r   r   r   rs   r   )r
   rQ   r   r	   r   r   r5   r   r   s       rV   test_clump_unmaskedTestGeneric.test_clump_unmasked   sU    2' &
a A;a.T#(rY   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 )	Nrn   r   r<   r   r      r   r   )
r   r   r5   r   sizerQ   r   boolr@   r	   )rR   rA   rS   s      rV   test_flatnotmasked_contiguous)TestGeneric.test_flatnotmasked_contiguous   s    2J'*TE!QVV,-."D)TE!QVV,-.*0q5QU
qAv
&''*TE!QKq!56!'*T2rY   r]   N)__name__
__module____qualname____firstlineno__rW   rh   rk   rp   r   r   r   r   __static_attributes__r]   rY   rV   r7   r7   I   s+    $<
A<$(: 	')rY   r7   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r@   r   r   axis)r   r   r   r   weightsTr   returned      @r;   r>   r   r   r   r   )r   r5   r   r2   r	   r@   reshape)rR   ottresultwtss       rV   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(#rY   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   rQ   float64r5   r   r   addreducer   r   r
   r@   r   )rR   w1w2xym1m2m3m4m5zs              rV   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	4rY   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   r5   r   r   r   rP   r
   )rR   rA   rB   r1r   r2r   a2da2dma2daa2dmas              rV   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'rY   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   )rQ   r   r   r`   r   r
   r5   )rR   r   rB   wactualdesireds         rV   test_testAverage4TestAverage.test_testAverage4  s    HHY''1-EEKK%5'D6 :K;HHY''1-A=rdRD1UGeWtf3MNV%rY   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   )rQ   r   r   r   rv   r`   r   r
   r3   nanpytestraises
ValueErrorT)	rR   r   r   mymasubw0r   r   subw1s	            rV   $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   r5   rR   rA   s     rV   test_onintegers_with_mask%TestAverage.test_onintegers_with_maskV  s:    E1a&M"QE,-GHIQrY   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   )	rQ   r   r   r
   r   ry   r3   realimag)rR   r@   rA   avexpectedav0	expected0av1	expected1r   wavwav0wav1s                rV   test_complexTestAverage.test_complex]  s@    xx(*157=>@"$ QZ::alln-BGGX]]3BGGX]]3aa AFF+gaff1.E.JJ	CHHinn5CHHinn5aa AFF+gaff1.E.JJ	CHHinn5CHHinn5 hh113 4a%::allnc%jACHHhmm4CHHhmm4qA.QVVSq9QVVSq9B>?	DIIy~~6DIIy~~6qA.QVVSq9QVVSq9B>?	DIIy~~6DIIy~~6rY   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   )rQ   r`   r   r   r4   )
rR   r   r   expected_avgr   expected_wavgexpected_wsumavgwavgwsums
             rV   test_basic_keepdimsTestAverage.test_basic_keepdims  s     eemmA4m8yyBHH\22223-uu}}Q7T}JzzRXXm44444/UU]]1,04 # A
zzRXXm44444/zzRXXm44444/rY   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         @)rQ   r`   r   r   r   r
   r   r3   r   r5   r@   )	rR   rA   weights_unmaskedweights_maskedavg_unmaskedexpected_unmasked
avg_maskedexpected_maskedavg_expecteds	            rV   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8rY   r]   )r   r   r   r   r   r   r   r   r   r   r  r   markparametrizer  r#  r   r]   rY   rV   r   r      s    $& 4D(0&1-f*7X [[F
TC5)dVcU	;j
!1&7a&?#i[
2	300")9rY   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>   )	r4   r'   r   r   r
   r2   
isinstancer   r@   )rR   rB   r   dr[   s        rV   test_1dTestConcatenator.test_1d  su    3/0%8J2KLG#1a
O
1k*+1BC1663q!Qz?3rY   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   rn   )rn   r   )rQ   randomrandroundr
   r'   r2   r   r4   r@   r_)rR   a_1a_2m_1m_2b_1b_2r,  s           rV   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U8S)1QRU8S)166255?3rY   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'   rQ   r`   r	   r5   r@   rw   )rR   r   s     rV   test_masked_constant%TestConcatenator.test_masked_constant  s~    RUU\\1_%V[[4-0V[[^Q'aVRUU\\)*V[["67V[[!_q!f-rY   r]   N)r   r   r   r   r-  r;  r>  r   r]   rY   rV   r(  r(    s    	44(.rY   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
   rQ   r   r   r*   r5   rw   r	   rR   rw   rS   s      rV   
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|\:;rY   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 )NrD  r   r   )r   r   r   r   r>   r>   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
   rQ   r   r   r)   r5   r   )rR   rA   tmps      rV   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
 	rY   r]   N)r   r   r   r   rI  rP  r   r]   rY   rV   rA  rA    s     <DrY   rA  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   )rn   r         )            )(   *   +   ,   )2   4   5   6   )7   9   :   ;   r   rE  )r   r   rs   r   r   )rn   r  r   rX  rY  )rZ  rL  r[  r\  r]  )r^  )   r_  r`  ra  )-   .   /   0   1   )rb  3   rc  rd  re  )rf  8   rg  rh  ri  r>   )      rM  rN  rD  )   r      !   "   )#   $   %   &   '   r\   rG  )rG  r;   )r   rs   r   r   )rr  rM  rN  rD  )rC     r     )rt  ru  rv  rw  )rx  rz  r{  r|  )rk  rm  rn  ro  r:   rF  )rF  r   )r   rG  r   )rG  r;   )r>   rF  )rG  rF  r   r;   )r   rF  )
rQ   r   listrt   r   r   astyper   r   r5   )rR   r   r   rA   a2a3a4s          rV   test_compress_nd&TestCompressFunctions.test_compress_nd@  s   HHT%	*+,44Q1=HHY&&t,'
! NQ***, +**,- 	. 1Q....0 /...0	1 	2 1Q...0 /..0 /..01 	2 D!BE"QQQ 1Q/)**, +***, +***,- 	. D!BE"QQQ 6"Q...0 /..01 	2 G$Q 6"Q***, +**, +**,- 	. G$G$H%QQQ 6"Q****, +***,	- 	. G$QrY   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   rs   r   r   rV  )r   rs   r   r>   r;   r   r>   r   r   r   r   )r   rQ   r   r   r5   r   _datar   rR   r   s     rV   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!4rY   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   rW  r   r>   r  )r>   r>   r   r   )r   rQ   r   r   r5   r#   r@   r  r2   allr	   r  s     rV   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"''++-.rY   r   )Nr   r>   funcrowcols_axisr   r>   c                    [        [        R                  " S5      R                  SS5      / SQ/ SQ/ SQ/S9n[        R
                  " [        5         U" XAS9n[        U[        XC5      5        S S S 5        g ! , (       d  f       g = f)Nr   r   r  r  r   r   )	r   rQ   r   r   r   warnsDeprecationWarningr5   r#   )rR   r   r  r  r   ress         rV   #test_mask_row_cols_axis_deprecation9TestCompressFunctions.test_mask_row_cols_axis_deprecation  sc    
 "))A,&&q!,!9i8: \\,-q$Cl1;< .--s   A77
B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>   rs   )r>   r   r   r   r   r   r   r;   r   T)strictr   rW  r  Fr   r   r   r   r   r>   r   )r   r   r   r   r   r   )r   r   r>   r   r   r   r   r   )	rQ   r   r
   r   r   r5   r@   filledr   )rR   nr   rA   rB   r[   s         rV   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-.rY   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   )rQ   eyer   r2   ra   r   r   rR   rA   rB   s      rV   test_dot_returns_maskedarray2TestCompressFunctions.test_dot_returns_maskedarray_  sl    FF1I!HSY;./SY;./SY;./SY;./rY   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   rQ   r  r   r   r2   r5   )rR   rA   r  r  s       rV   test_dot_out"TestCompressFunctions.test_dot_outh  sE    "&&)BHHV$%!C 
QrY   r]   N)r   r   r   r   r  r  r  r   r%  r&  rQ   r`   	mask_rows	mask_colsr  r  r  r  r   r]   rY   rV   rS  rS  >  s    n`5(/@ [[V\2[[fn5!uu2RUU__a4HIK=K 3=m/^0rY   rS  c                        \ rS rSrS rS rSrg)TestApplyAlongAxisip  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]   )rB   s    rV   myfunc*TestApplyAlongAxis.test_3d.<locals>.myfuncu  s    Q4KrY   r>   r   rs   rn   r   r   r   r5   rR   rA   r  xas       rV   test_3dTestApplyAlongAxis.test_3dr  sF    3K1a(	 fa+R1a&1b'*+rY   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]   )rB   offsets     rV   r  1TestApplyAlongAxis.test_3d_kwargs.<locals>.myfunc  s    QZ= rY   r>   )r  r   r   r  )r   r  r  s       rV   test_3d_kwargs!TestApplyAlongAxis.test_3d_kwargs|  sH    2Jq!Q'	! fa15R1a&1b'*+rY   r]   N)r   r   r   r   r  r  r   r]   rY   rV   r  r  p  s    ,,rY   r  c                       \ rS rSrS rSrg)TestApplyOverAxesi  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 )NrD  r;   r   r   r   rU  \   |   r  ra  )
r   r   r   rQ   rx   r   r5   r	   r  r   )rR   rA   rS   ctrls       rV   
test_basicTestApplyOverAxes.test_basic  s    2Jq!Q'rvvq1a&1xx2$se,-.T "(q5..
rvvq1a&1xx2$rd+,-T rY   r]   N)r   r   r   r   r  r   r]   rY   rV   r  r    s    !rY   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)
TestMediani  c                     [         R                  R                  [         R                  [         R                  /[         R                  [         R                  //SS9n[	        U[         R                  5        g )NrF  r   )rQ   r`   r&   infr5   rR   rs     rV   test_pytypeTestMedian.test_pytype  sE    EELL266266*RVVRVV,<=BLGQrY   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 )NrF  r   Tr   )rQ   r`   r&   r
   r  r5   r@   r  s     rV   test_infTestMedian.test_inf  s   EELL++bffbff-=.0ffbff-=-? @FH  JQEELL++bffbff-=.0ffbff-=-? @FJ  LQEELL++bffbff-=.0ffbff-=-?EI , K   " 	QVVT"EELL++bffbff-=.0ffbff-=-?EI , K"  $ 	QVVT"rY   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@)
rQ   r   r5   r`   r&   r2   ra   r   rt   r   r  s     rV   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'{:;rY   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 mismatchrn   r;   r   r   r   rF  Tr   overwrite_inputr   r   r:   N)r   rQ   r   r5   r`   r&   r   r2   ra   r   r   )rR   r   ma_xs      rV   test_docstring_examples"TestMedian.test_docstring_examples  sG   "))A,aS1WsQw%67RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))B-''1-QC!GqcAg4EFRUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89uu||AB|=TB8$TZZ'78T
k)*rY   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>   )ndminr@   FTr  )rt   r   	itertoolsproductrQ   r`   r&   	ExceptionAssertionError
exceptions	AxisError)rR   msgr  r@   r   argsr   overs           rV   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   r5   rQ   r`   r&   r	   r  s     rV   test_masked_0dTestMedian.test_masked_0d  sN    !% RUU\\!_a(!$RUU\\!_beell3rY   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   rQ   r   r5   r`   r&   r	   r   r2   ra   rb   MaskedConstantr   r  s     rV   test_masked_1dTestMedian.test_masked_1d  sR   "))A,T*RUU\\!_beell3RUU\\!_**B0@ARUU\\!_%)B)BBC"))A,U+RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,_5RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))A,_5RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,_5RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))B-o6RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,%78RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))B-&89RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89rY   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  )r5   rQ   r`   r&   r   r   rR   s    rV   test_1d_shape_consistency$TestMedian.test_1d_shape_consistency  sD    RUU\\%		"BCIIUU\\%		"BCII	KrY   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   rt        r   rn   r<   r   r>   r   )r
   rQ   linspacer	   emptyrP   r   rc   rt   r1  shuffler5   r&   r   r   )rR   r  pr   r   idxrz   s          rV   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+6rY   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 )Nrt  rn   r         -@r   r   )      +@r   g      /@r>   )
r   r   r   rn   rX  rL  r]  r   r   r   )
r>   r>   r>   r   r   r   r   r>   r>   r>   )r
   rQ   r   r   r	   r5   r&   r2   ra   r`   r   r@   r  s     rV   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LrY   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        UR                  S5      n[        [        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 )NrD  r   r   r;   r   r   r   r   rZ  r\  )r   r   r;   c   rn   r  rX  rY  r   r   rL  r[  )rQ   r`   r   r   r	   r5   r&   r  s     rV   r  TestMedian.test_3d3  s    EELL$$Q1-a%1*VAq\RGaWr1gBx#HIIIi VAq\RHr2hR#ABEELL$$Q1-a%1*VAq\RHq!fr2h#?@rY   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 )Nrt  rn   r   r  rF  r   r>   )r
   rQ   r   r   r	   r5   r&   r  s     rV   test_neg_axisTestMedian.test_neg_axis>  sO    2..r156"1"#VAB'):;rY   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)rt        >@r  g      ?@r   r  r]   r  rt  r   g      .@)
r
   rQ   r   r	   r   r&   r5   r2   ra   r   )rR   vr   r  r  s        rV   test_out_1dTestMedian.test_out_1dC  s    #ARYYq\*A##AbqEAbcFrwwr{+Cq"ABwS$'S#&AHDG{*+ $rY   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@rt  r  rn   rF  r   r  r>   )r   r  rt  r   )rn   rX  rL  r]  TFr   r   )r  g     1@g     5@g     9@)r
   rQ   r   r   r	   r   r&   r5   r2   ra   r   )rR   r  r   r  r  es         rV   test_outTestMedian.test_outQ  s   #ARYYq\11"b9:A##AbqEAbcFrwwr{+Cqqc*ABw ",<!<tax!G'+fqjE7Q;&>$!&KM !",D!Dtax!O'+fqjE7Q;&>$!&KMAHDG{*+ $rY   r   )Nr>   r\   r   )r  rF  )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   rs   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   ).0rz   	axis_normr,  s     rV   	<genexpr>/TestMedian.test_keepdims_out.<locals>.<genexpr>w  s&      L=J)^3]s   #&T)r   r   r  )rQ   r   r   r1  r   r   r  intpr   tupler
   r   ndimr   rt   r  r&   r5   )	rR   r   r@   r   	shape_outr  r   r  r,  s	          @@rV   test_keepdims_outTestMedian.test_keepdims_outb  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-rY   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   )rQ   r`   masked_equalr4   r&   )rR   rw   rg   r   s       rV   $test_single_non_masked_value_on_axis/TestMedian.test_single_non_masked_value_on_axis~  s]    RRR UU''a0
8255<<
<;#	%rY   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;   rF  r   )rQ   r   r   r`   r   r   r@   r&   r2   isscalarr4   ravelr5   ra   r   r	   )rR   r@   dmr  s       rV   test_nanTestMedian.test_nan  s   BHHQd34Dq"&&!ni89BG Rd+ABKKN#q"&&)RXXZa0ABKKN#q"&&)Ra(Aa+.q1bffa.1Ra(Aa+.q2661+.Rb)Aa+.q2661+.) 5, UU[[1bffa.)4555<<1a4255<<<6?255<<<3a^D255<<<3bffc]CrY   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>   rI   r   r  r   r>   r]   )	rQ   r`   r
   r   r   r   r	   r5   r&   )rR   or,  s      rV   test_out_nanTestMedian.test_out_nan  s    EErxx~.EErwwv/&&$%%,,$RUU\\!QA\.2EErxx~.RUU\\!QA\.2EErxx|,RUU\\!\+Q/rY   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 )NrD  r<   r   r;   r   r   r   r>   r
  )r>   r>   r;   r;   r   r   r>   r   r  )rQ   r`   r
   r   rP   r	   r   r4   r&   r   r   r@   copyr2   r'  r5   )rR   rA   aorigrB   s       rV   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0rY   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   )rQ   r   uint8r`   r
   r4   r&   r@   r   s     rV   test_ambigous_fillTestMedian.test_ambigous_fill  s    HHk;/rxx@EEqAv.255<<<2C8255<<<277?255<<<2AaD9255<<?C0rY   c           
      >   [         R                  [         R                  * 4 GHw  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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Mz     g )Nr   r   r   r>   Frs   ir  r   r   r<   r   r   r   g      @g      $g      "g      r  rn   r;   )rQ   r  r   r   r`   r
   isnanr5   r&   r4   r@   float32rt   )rR   r  rA   rz   r{   s        rV   test_specialTestMedian.test_special  s   FFRVVG$C3-"&&"&&)9:;A""1288A;"7Aaa03-@aa03-@a#.2662663/"&&"&&#1FGHA""1288A;"7Aruu||AA|6<ruu||AA|6;;UCruu||AA|6!=ruu||A4 3*sj12Aa#.aa0#6aa0#63C4,2bffbffc24 !#

,A ""1288A;"7AQwRUU\\!!\4r2tR6HIRUU\\!_c2RUU\\!!\4tR#s6KLRUU\\!_d3aa03c2BC2Yq"ABFF8a<SEAI">!?!!CDA**1288A;*?A a#6 aa!8#> aa!8#%66(Q,3%!)!;= & C %rY   c                    [         R                  R                  [         R                  " / [        S95      n[
        R                  " [        5         [        [         R                  R                  U5      [         R                  5        S S S 5        [         R                  R                  [         R                  " / [        SS95      n[
        R                  " [        5         [        [         R                  R                  U5      [         R                  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                  " [        5         [        [         R                  R                  USS9U5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN9= f! , (       d  f       g = f)Nr<   r   )r=   r  r;   r   r   r>   )rQ   r`   r
   r   rP   r   r  RuntimeWarningr4   r&   r   r5   r  s      rV   
test_emptyTestMedian.test_empty  sd   EErxx%89\\.)ruu||A7 * EErxx%qAB\\.)ruu||A7 * EErxx%qABRUU\\!!\,a0RUU\\!!\,a0 EErxxe1EF\\.)aa0!4 *)! *) *) *)s$   8H:"8I)I:
I	
I
I,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;   )rQ   r`   r
   r   r2   ra   r&   r  r_   rP   r   )rR   r0  s     rV   test_objectTestMedian.test_object  su    EEryy}-RUU\\!((6"234e<vv!RUU\\!((6"234e<rY   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  rF  rI  r   r]   rY   rV   r  r    s     #$<*+N04$:LK7 
M	A<
,," [[
  	.	.$%D:	0!1F1)=V5,=rY   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                  R                  S5      5      $ Nr   r   rQ   r1  r2  r  s    rV   _create_dataTestCov._create_data%  s    RYY^^B'((rY   c                 Z   U R                  5       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   rT  r   rF  )rP  r2   r   r=   rQ   rA  r4   r`   r
   r  r   r   r1   )rR   r   r@   s      rV   test_covhelperTestCov.test_covhelper(  s    
1T*1-33RZZ@
1%03992::F3w""1+D\\!R  		
 	""1+qIIuten%		
rY   c           	         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        g )NFrS  TrT  bias)rP  r3   rQ   r   r  s     rV   test_1d_without_missingTestCov.test_1d_without_missing<  se    BFF1Is1v.BFF1U3S55IJBFF1U>%d;	=rY   c           	      6   U R                  5       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   FrS  TrX  )rP  r   r3   rQ   r   r  s     rV   test_2d_without_missingTestCov.test_2d_without_missingD  sr    ''1-BFF1Is1v.BFF1U3S55IJBFF1U>%d;	=rY   c           
         U R                  5       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)NrF  FrS  TrX  allow_maskedr>   )rP  r	   meanry   r3   rQ   r   r   rR   r   nxs      rV   test_1d_with_missingTestCov.test_1d_with_missingL  s@   "	VVX\\^BFF2JA/BFF2e4c!E6JKBFF2e$?%d;	=	&
 qWBFF2$B$x0#a4R4/BBFF2$B$x>TrT759	;BFF2$B$xDITrT75tD	F  		s   6
E# #
E0/E0c           	         U R                  5       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 )NrF  r   r   r>   r   r   T)rY  FrS  rX  )rP  r	   r   rQ   logical_notr   r  ru   r   r   rb  r  r3   r   r   )rR   r   validfracxfs        rV   test_2d_with_missingTestCov.test_2d_with_missingd  s   "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(*./	1rY   r]   N)r   r   r   r   rP  rU  rZ  r]  re  rl  r   r]   rY   rV   rL  rL  #  s!    )
(==F01rY   rL  c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestCorrcoefiz  c                     [        [        R                  R                  S5      5      n[        [        R                  R                  S5      5      nX4$ rN  rO  )rR   rw   data2s      rV   rP  TestCorrcoef._create_data|  s8    RYY^^B'(biinnR(){rY   c                     U R                  5       S   n[        [        R                  " U5      [        U5      5        [        [        R                  " USS9[        USS95        g )Nr   FrS  )rP  r3   rQ   r   r  s     rV   rZ  $TestCorrcoef.test_1d_without_missing  sJ    "BKKNHQK8BKK%8$Qu5	7rY   c                     U R                  5       S   R                  SS5      n[        [        R                  " U5      [	        U5      5        [        [        R                  " USS9[	        USS95        g )Nr   r   r   FrS  )rP  r   r3   rQ   r   r  s     rV   r]  $TestCorrcoef.test_2d_without_missing  sW    "**1a0BKKNHQK8BKK%8$Qu5	7rY   c           
         U R                  5       S   n[        US'   XR                  5       -  nUR                  5       n[	        [
        R                  " USS9[        U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        g ! [         a     Nzf = f)Nr   rF  FrS  r`  r>   )rP  r	   rb  ry   r3   rQ   r   r   rc  s      rV   re  !TestCorrcoef.test_1d_with_missing  s    ""	VVX\\^BKK59$Qu5	7	QU+ qWBKKttH5xTrT77KLBKKttHUC$Q$B$>	@  		s   '
C 
C,+C,c                     U R                  5       S   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        g )Nr   rF  r   r   )rP  r	   r   r   rQ   r3   rR   r   rS   rT   s       rV   rl  !TestCorrcoef.test_2d_with_missing  sn    ""IIaO{++a.D"crcNGCRC"H,=>rY   r]   N)
r   r   r   r   rP  rZ  r]  re  rl  r   r]   rY   rV   ro  ro  z  s    
77@$?rY   ro  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 )Nrn   rr  rF  r;   r   r   rG   rF  rF  Trv   r>   )rv   r   )rQ   r1  r2  r   r3   r+   viewr   r	   ry   zipr6  r5   )rR   r   r   CRKSDr[   r  r|   r~   r,  rA   a_r   woxsyswss                       rV   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"aj!$GqQA!?Q1O<GQ& = IINN2"VVXqWqWqW!!:qQ**RQTR@qQQA!?Q1O<GQ& =rY   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 )Nrn   rr  rF  r;   r   r  r   Tr  r>   )rQ   r1  r2  r   r   r  r   r	   r+   r  r3   )rR   r   r   r  r  r  r  r  r[   r  r|   r~   r,  rA   r  s                  rV   test_polyfit_with_masked_NaNs,TestPolynomial.test_polyfit_with_masked_NaNs  s    IINN2IINN2&&r1-vv!FF&	FF;FF;!&	!!5qQ**QqWa"aj!$GqQA!?Q1O<GQ& =rY   r]   N)r   r   r   r   r  r  r   r]   rY   rV   r}  r}    s    %'N'rY   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;   )r0   r2   r+  r   r5   r
   rH  s      rV   test_unique_onlist"TestArraySetOps.test_unique_onlist  sZ    !ddC
47K01T!Wl99EFT!Wi(T!W01rY   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   rF  r   r   r   r>   r>   )r   r   r   r;   r;   )r   r   r   r>   r   r;   r   )rw   r@   
fill_value)r
   r0   r5   r  rH  s      rV   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1rY   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 )	NrW  Tr   r  r   r>   r;   r  )r
   r0   r5   r	   rH  s      rV   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"rY   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
   rQ   r   r   r   r5   r  r@   )rR   r   rT   rS   s       rV   test_ediff1dTestArraySetOps.test_ediff1d  s`    1O<<8qzT#T[[^W^^A%67TYY-rY   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
   rQ   r   r   r	   r   r5   r  r@   rz  s       rV   test_ediff1d_tobegin$TestArraySetOps.test_ediff1d_tobegin  s    1O<q6*o>T#T[[^W^^A%67TYY-q9--4IJT#T[[^W^^A%67TYY-rY   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  rz  s       rV   test_ediff1d_toend"TestArraySetOps.test_ediff1d_toend(  s    1O<q(o>T#T[[^W^^A%67TYY-q+-4IJT#T[[^W^^A%67TYY-rY   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  rz  s       rV   test_ediff1d_tobegin_toend*TestArraySetOps.test_ediff1d_tobegin_toend7  s    1O<q&9*1CDT#T[[^W^^A%67TYY-qV<057T#T[[^W^^A%67TYY-rY   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   )rQ   r   r   r   r5   r2   r+  r   r  r@   r	   rz  s       rV   test_ediff1d_ndarray$TestArraySetOps.test_ediff1d_ndarrayG  s    IIaLqz<8T#
4-.T[[^W^^A%67TYY-q&9*1CD
4-.T[[^W^^A%67TYY-rY   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   rF  r   )r   r!   r5   )rR   r   r   rS   rT   s        rV   test_intersect1d TestArraySetOps.test_intersect1dW  s8    ,\2,\21 
3T#rY   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   rs   rF  r   r   r   r   r>   r   r>   r;   r   r   r   rF  r  )r   r   rs   r>   r;   r   r   r   r   r   rs   rF  r  r
  )r   r   r   r*  r>   r   r;   r   r   r>   r   r   r   r   r   r   )r   r-   r5   r2   r+  r   r4   rR   rA   rB   rS   s       rV   test_setxor1dTestArraySetOps.test_setxor1d_  s    "9%,>?~T5+,"9~T5\BC))~
4-.T-.,\2,\2~
4-.T-.2xB/0rY   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-   r5   r2   r+  r   r  s       rV   test_setxor1d_unique$TestArraySetOps.test_setxor1d_uniquey  s    "9D1T5\BC,\2,\2D1
4-.T-.A3aS1#&'Aq6Aq6"#D1
4-.T-.rY   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 )NrD  r   r>   )r>   r;   r   r   )	r   rn   rr  rt  r>   r   r  rM  rv  )	r   r>   r   r>   r   r>   r   r>   r   )rw   r@   r<   Tr  r   )r   r;   r   )rQ   r   r   r   r   r   r"   r2   r+  r   r4   r@   )rR   rA   r@   rB   ecr[   r,  s          rV   	test_isinTestArraySetOps.test_isin  s     IIbM!!),xx	"W!::<9D)777J
1k*+1!GGA!&&z"affW,1 rY   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>   rF  r>   r   rF  r   )TTFTT)r   r    r5   r4   r  s       rV   	test_in1dTestArraySetOps.test_in1d  sn    "9%,>?AzT:;"9*9-AzT:;2tB|,rY   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   r5   rQ   r  r    r4   r  s      rV   test_in1d_invert TestArraySetOps.test_in1d_invert  s    "9%,>?RYYtAz*Dd,CD"9*9-RYYtAz*Dd,CD2tB489rY   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   rs   r   rF  r  r   r  )r>   r;   r   r   r   rs   rF  )r   r   r   r   r   r   r>   r   rV  r  r   rE  r  )r   r>   r;   r   r   r   )r   r/   r5   r4   )	rR   rA   rB   rS   rT   r   r   ezr   s	            rV   test_union1dTestArraySetOps.test_union1d  s    %,>?%,>?q}.5JKT# 9i(	9/EF/8%,>?AMQ2wr2/rY   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   rs   rs   r>   r;   r>   )r   r   r   r   r   r   r   r>   r   )r;   r   r   r   r;   r>   r   )r   rs   rF  r   rn   r   r   )r   r,   r5   r   rQ   uint32r=   r  s       rV   test_setdiff1dTestArraySetOps.test_setdiff1d  s    *1IJ'(T5)<=2J1IYq_eQFm4"biib)Yq"%++RYY7rY   c                     [         R                  " / SQ5      n[         R                  " / SQ5      n[        [        X5      [         R                  " S/5      5        g )N)rA   rB   r[   )rA   rB   r~   r[   )rQ   r   r4   r,   r  s      rV   test_setdiff1d_char_array)TestArraySetOps.test_setdiff1d_char_array  s6    HH_%HH_%9Q?BHHcUO<rY   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]   rY   rV   r  r    sW    22 #.... . $14/&!*-
:0$8=rY   r  c                   j    \ rS rSrS rS r\R                  R                  S\	\
\/5      S 5       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   r5   r   r@   rw   r  s      rV   test_atleast_2dTestShapeBase.test_atleast_2d  s    3qMQWWf%QVV\\166<<0QWWd#QVV\\166<<0QVV\\166<<0rY   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   rH   rW  )r   r5   r   r@   rw   r   r   r   )rR   rB   rA   s      rV   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<<0rY   fnc                    UR                   n[        [        R                  U5      UL d   eUR                  S:X  d   e[        [        UR                   5      n[
        R                  " U5      n[
        R                  " U5      nXT:X  d   eg )Nznumpy.ma.extras)r   getattrrQ   r`   r   inspect	signature)rR   r  namewrappedsig_wrappedsigs         rV   test_inspect_signature$TestShapeBase.test_inspect_signature  ss    {{ruud#r)))}} 1111"bkk*''0#!!!rY   r]   N)r   r   r   r   r  r  r   r%  r&  r   r1   r   r  r   r]   rY   rV   r  r    s:    1(1T [[TJ#AB	" C	"rY   r  c                   &    \ rS rSrS rS rS rSrg)TestNDEnumeratei$  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ry   )	rQ   r   r   
zeros_liker   r
   r5   r  r(   )rR   ordinary
empty_mask	with_masks       rV   test_ndenumerate_nomasked)TestNDEnumerate.test_ndenumerate_nomasked&  s    99R=((3]]848
 ;	T"..23+h/0	2T+h/0+i01	3T+i01+iEBC	ErY   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  rD  )r$   r5   r  r(   r  rQ   ndindexr	   )rR   rA   rB   r[   s       rV   test_ndenumerate_allmasked*TestNDEnumerate.test_ndenumerate_allmasked1  s    rNvy!T+a.)2.T+a.)2.T+aE:;#bjj0#.AB	DT+a.)2.T+aE:;#bjj3Y&5IJK	MrY   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   )rI   rn   )r4  r  Fr  )	r
   rQ   r   r   r5   r  r(   rc   r   )rR   rA   items
coordinatevalues        rV   test_ndenumerate_mixedmasked,TestNDEnumerate.test_ndenumerate_mixedmasked=  s    2..v6+++-.GT+a.)51Sk!>?@!&&I!,Q5!AJ. "BrY   r]   N)r   r   r   r   r  r  r
  r   r]   rY   rV   r  r  $  s    	E
M
/rY   r  c                   &    \ rS rSrS rS rS rSrg)	TestStackiJ  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   rs   r  r   r   r4  r>   r   r;   r
   r.   r5   r   r4   r@   r1   rw   rR   rA   rB   r[   r,  s        rV   test_stack_1dTestStack.test_stack_1dL  s    331&q!QWWf%1661Q499-1661Q499-A6N166166*166166*1&q!QWWf%1661QT7<<01661QT7<<0rY   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        rV   test_stack_masksTestStack.test_stack_masks^  s    ./1&q!QWWf%1661Q499-1661Q499-A6N166166*166166*1&q!QWWf%1661QT7<<01661QT7<<0rY   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   rn   r;   r   r   r:   r>   rF  ).r   ).r>   )r   r;   r   r   )rQ   r1  randintr  r   r
   r.   r5   r   r4   r@   )
rR   shpd1d2r   r   a1r  r[   c_shps
             rV   test_stack_ndTestStack.test_stack_ndp  sf   YYq"c*YYq"c*YYq!S)006YYq!S)006"&"&2(#s
QWWe$277AaDII.277AaDII.2($d
QWWe$277AfINN3277AfINN3 YYq"c*YYq"c*YYq!S)006YYq!S)006"&"&2(#s
QWWe$277AaDII.277AaDII.2($d
QWWe$277AfINN3277AfINN3rY   r]   N)r   r   r   r   r  r  r  r   r]   rY   rV   r  r  J  s    1$1$)4rY   r  )L__doc__r  r  r   numpyrQ   numpy._core.numericr   numpy.ma.corer   r   r   r   r   r	   r
   r   r   r   r   numpy.ma.extrasr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   numpy.ma.testutilsr2   r3   r4   r5   r7   r   r(  rA  rS  r  r  r  rL  ro  r}  r  r  r  r  r]   rY   rV   <module>r'     s        4   $ $ $ $ $ $ $ $ $ $J  D~9 ~9B). ).XC CLo od	, ,,
! 
!M= M=`T1 T1n/? /?d7' 7'tx= x=v@" @"F#/ #/LO4 O4rY   