
    (phj$                    L   S r SSKrSSKrSSKrSSKrSSKJr  SSKJ	r	J
r
  SSKJrJrJrJr  SSKJrJrJrJrJrJrJrJrJrJrJr  SSKJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>   " 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      rK " S" S#5      rL " S$ S%5      rMg)&zTests suite for MaskedArray.
Adapted from the original test_ma by Pierre Gerard-Marchant

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

    N)normalize_axis_tuple)assert_warnssuppress_warnings)assert_assert_array_equalassert_equalassert_almost_equal)arrayarangemaskedMaskedArraymasked_arraygetmaskarrayshapenomaskoneszeroscount)"
atleast_1d
atleast_2d
atleast_3dmr_dotpolyfitcovcorrcoefmedianaverageuniquesetxor1d	setdiff1dunion1dintersect1din1dediff1dapply_over_axesapply_along_axiscompress_ndcompress_rowcolsmask_rowcolsclump_maskedclump_unmaskedflatnotmasked_contiguousnotmasked_contiguousnotmasked_edges
masked_allmasked_all_likeisindiagflatndenumeratestackvstackc                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestGeneric$   c                 F   [        S[        S9n[        SS/SS/[        S9n[        X5        [        R
                  " SS/SS/S.5      n[        SUS9n[        S	S	/S
S
/US9n[        X5        [        SUS9n[        S	S	/S	S	//S
S
/S
S
//US9n[        X5        [        R
                  " SSSS/4/5      n[        SUS9n[        SS/SS/US9n[        X5        [        SUS9n[        SS/SS/US9n[        X5        [        S
US9n[        S//S//US9n[        X5        g )N   dtype   maskr>   abfnamesformatsr   r   r?   r?   r<   r<   rB   rD   barD   bbrD   r?   rI   )r0   floatr
   r   npr>   )selftestcontroldts       M/var/www/html/venv/lib/python3.13/site-packages/numpy/ma/tests/test_extras.pytest_masked_allTestGeneric.test_masked_all&   sb    $e,AaV59T#XXc
SzBC$b)(/?rJT#&+&&)FF+;<%v.0@A " 	T#XXzC+{)C#DEF$b)k2);7rCT#$b)k2);7rCT#&++}oRHT#    c                 0   [         R                  " SS[        4/S44/5      n[         R                  R	                  SU5      n[        [        US   5      [         R                  R                  R                  5        [        [        US   S   5      [         R                  R                  R                  5        [        [        US   S   5      S5        [        US   S   R                  S5        [        US   S   R                  R                  S5        g )NrC   cr?   r?   rI    rR   r>   objectmar0   r   typecorer   lenr   _fill_valuerS   my_dtype
masked_arrs      rW   "test_masked_all_with_object_nested.TestGeneric.test_masked_all_with_object_nestedD   s     88cc6]OT#:;<=UU%%dH5
T*S/*BEEJJ,B,BCT*S/#./1G1GHSC-.2Z_S)//8Z_S)55;;R@rZ   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 )NrC   r]   r?   rI   r^   r_   rf   s      rW   test_masked_all_with_object'TestGeneric.test_masked_all_with_objectP   s    88cFD>234UU%%dH5
T*S/*BEEJJ,B,BCSC)1-Z_**F3Z_0066;rZ   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@   rB   rC   rD   rE   rH   rI   )
   ro   rK   rL   rN   rP   )r
   rQ   r1   r   rR   r>   )rS   baserT   rU   rV   s        rW   test_masked_all_like TestGeneric.test_masked_all_likeZ   s     aV5)t$AaV59T#XXc
SzBCff%VV,<BGt$8,FF3C2NT#XXzC+{)C#DEFk2);7rCw'T#rZ   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   )rangerR   r   intfullr   rA   datasumr,   r   
compressed)	rS   rD   ijkjarB   ssls	            rW   check_clumpTestGeneric.check_clumpn   s    q!A1a4[IIas+WWQ- A&1+!+A$B))A & !3!3!5q9ffWAF !3!3!5q9 ! rZ   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 )Nro   r   r?   r<         	   r      r   rt   r   )r   rR   r   r   r+   slicer   r   rS   rB   rT   rU   s       rW   test_clump_maskedTestGeneric.test_clump_masked~   s\    2' &
AA;aU1b\:T#&rZ   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 )Nro   r   r   r   rt   r   )r   rR   r   r   r,   r   r   r   r   s       rW   test_clump_unmaskedTestGeneric.test_clump_unmasked   sU    2' &
a A;a.T#(rZ   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 )	Nro   r   r=   r   r      r   r   )
r   r-   r   r   sizerR   r   boolrA   r   )rS   rB   rT   s      rW   test_flatnotmasked_contiguous)TestGeneric.test_flatnotmasked_contiguous   s    2J'*TE!QVV,-."D)TE!QVV,-.*0q5QU
qAv
&''*TE!QKq!56!'*T2rZ   r^   N)__name__
__module____qualname____firstlineno__rX   ri   rl   rq   r   r   r   r   __static_attributes__r^   rZ   rW   r8   r8   $   s+    $<
A<$(: 	')rZ   r8   c                       \ 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rA   r   r   axis)r   r   r   r   weightsTr   returned      @r<   r?   r   r   r   r   )r
   r   r   r   r   rA   reshape)rS   ottresultwtss       rW   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(#rZ   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   rR   float_r   r   r
   addreducer   r   r   rA   r   )rS   w1w2xym1m2m3m4m5zs              rW   test_testAverage2TestAverage.test_testAverage2   s8    "451BII&WQQ'-WQQ3S96!299-sVAY?@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	4rZ   c                 .   [        S5      n[        S5      S-  n[        X/X!//SSS9u  p4[        [        U5      [        U5      5        [        UR                  UR                  5        [        [	        S5      SSS/SS9u  pV[        [        U5      [        U5      5        [        [	        S5      SS	9u  pV[        [        U5      [        U5      5        [        [	        S5      [	        S5      SS
9u  pV[        [        U5      [        U5      5        [        SS/SS//[        5      n[        USS/SS//5      n[        USS9n	[        U	SS/5        [        USS9n
[        U
SS/5        [        US S9n
[        U
S5        [        USS9n
[        U
SS/5        g )Nr   r   r?   Tr   )r<   r<   r   r   r   r   r   )r   r   r<      Fr         ?r   r   g@      ?r   )r   r   r   r   r   r
   rQ   r   )rS   rB   rC   r1r   r2r   a2da2dma2daa2dmas              rW   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'rZ   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   )rR   r
   r   ra   r   r   r   )rS   r   rC   wactualdesireds         rW   test_testAverage4TestAverage.test_testAverage4   s    HHY''1-EEKK%5'D6 :K;HHY''1-A=rdRD1UGeWtf3MNV%rZ   c                     [        [        SS/5      5      n[        US5        [        [        / SQ/ SQS95      n[        US5        g )Nr?   r<   r   )r?   r<   r   r   FFTTr   )r   r
   r   rS   rB   s     rW   test_onintegers_with_mask%TestAverage.test_onintegers_with_mask   s:    E1a&M"QE,-GHIQrZ   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   )	rR   r
   r   r   r   rz   r	   realimag)rS   rA   rB   avexpectedav0	expected0av1	expected1r   wavwav0wav1s                rW   test_complexTestAverage.test_complex  s?    xx(*157568"$ QZ::alln-BGGX]]3BGGX]]3aa AFF+gaff1.Eb.HH	CHHinn5CHHinn5aa AFF+gaff1.Eb.HH	CHHinn5CHHinn5 hh113 4a%::allnc%jACHHhmm4CHHhmm4qA.QVVSq9QVVSq9"<=	DIIy~~6DIIy~~6qA.QVVSq9QVVSq9"<=	DIIy~~6DIIy~~6rZ   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   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   )rR   ra   r   r   r   )
rS   r   r   expected_avgr   expected_wavgexpected_wsumavgwavgwsums
             rW   test_basic_keepdimsTestAverage.test_basic_keepdims1  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/rZ   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   )g      "@r   r   r   )FTTF)TFTT)TFTFr   r         @)rR   ra   r
   r   r   r   r   r	   nanr   rA   )	rS   rB   weights_unmaskedweights_maskedavg_unmaskedexpected_unmasked
avg_maskedexpected_maskedavg_expecteds	            rW   test_masked_weightsTestAverage.test_masked_weightsH  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8rZ   r^   )r   r   r   r   r   r   r   r   r   r   pytestmarkparametrizer   r  r   r^   rZ   rW   r   r      s    $& 4D(0&*7X [[F
TC5)dVcU	;j
!1&7a&?#i[
2	300")9rZ   r   c                   &    \ rS rSrS rS rS rSrg)TestConcatenatorit  c                    [        [        S   [        / SQ5      5        [        S5      n/ SQn[	        XS9n[        USSU4   n[        [        U[        5      5        [        U/ SQ5        [        UR                  [        USSU4   5        g )Nr?   r<   r   r   r   r   r   )r?   r   r   r   r   r   r   )r?   r?   r?   r?   r?   r   r   r?   r?   r?   r?   r?   )	r   r   r
   r   r   r   
isinstancer   rA   )rS   rC   mdr\   s        rW   test_1dTestConcatenator.test_1dw  su    3/0%8J2KLG#1a
O
1k*+1BC1663q!Qz?3rZ   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   ro   )ro   r   )rR   randomrandroundr   r   r   r   r   rA   r_)rS   a_1a_2m_1m_2b_1b_2r  s           rW   test_2dTestConcatenator.test_2d  s>   iinnQ"iinnQ"hhryy~~a+Q/hhryy~~a+Q/3)3)S7"#1QU8S)1QU8S)166255c#78M7"#1RaRT7C(1QRT7C(166255?3rZ   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   rR   ra   r   r   rA   rx   )rS   r   s     rW   test_masked_constant%TestConcatenator.test_masked_constant  s~    RUU\\1_%V[[4-0V[[^Q'aVRUU\\)*V[["67V[[!_q!f-rZ   r^   N)r   r   r   r   r  r*  r-  r   r^   rZ   rW   r  r  t  s    	44(.rZ   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   rR   r   r   r/   r   rx   r   rS   rx   rT   s      rW   
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|\:;rZ   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 )Nr3  r   r   )r   r   r   r   r?   r?   r?   r?   )r?   r?   r?   r?   r?   r?   r?   r?   )r   r   r   r   r   r   r?   r   r   r   r            r?   r<   r   rt   )r   rR   r   r   r.   r   r   )rS   rB   tmps      rW   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
 	rZ   r^   N)r   r   r   r   r8  r?  r   r^   rZ   rW   r0  r0    s     <DrZ   r0  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   )ro            )            )(   *   +   ,   )2   4   5   6   )7   9   :   ;   r   r4  )r   r   rt   r   r   )ro   r   rG  rH  rI  )rJ  r;  rK  rL  rM  )rN  )   rO  rP  rQ  )-   .   /   0   1   )rR  3   rS  rT  rU  )rV  8   rW  rX  rY  r?   )      r<  r=  r3  )   r      !   "   )#   r9   %   &   '   r]   r6  )r6  r<   )r   rt   r   r   )rb  r<  r=  r3  )r2     r     )rd  re  rf  rg  )rh  ri  rj  rk  )r[  r]  r^  r_  r;   r5  )r5  r   r?   )r   r6  r?   r<   )r6  r<   )r?   r5  )r6  r5  r   r<   )r   r5  )
rR   r
   listru   r   r   astyper   r(   r   )rS   r   r  rB   a2a3a4s          rW   test_compress_nd&TestCompressFunctions.test_compress_nd  s   HHT%,'(00Aq9HHW$$T*%! NQ***, +**,- 	. 1Q....0 /...0	1 	2 1Q...0 /..0 /..01 	2 D!BE"QQQ 1Q/)**, +***, +***,- 	. D!BE"QQQ 6"Q...0 /..01 	2 G$Q 6"Q***, +**, +**,- 	. G$G$H%QQQ 6"Q****, +***,	- 	. G$QrZ   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   rt   r   r   rE  )r   rt   r   r?   r<   r   r?   r   r   r   r?   r<   r   r   r?   )r
   rR   r   r   r   r)   _datar   rS   r   s     rW   test_compress_rowcols+TestCompressFunctions.test_compress_rowcolsX  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!4rZ   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   rF  r   r?   ry  )r?   r?   r   r{  )r
   rR   r   r   r   r*   rA   r|  r   allr   r}  s     rW   test_mask_rowcols'TestCompressFunctions.test_mask_rowcolsl  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"''++-.rZ   r   )Nr   r?   funcrowcols_axisr   r?   c                     [        [        R                  " S5      R                  SS5      / SQ/ SQ/ SQ/S9n[	        [
        5         U" XAS9n[        U[        XC5      5        S S S 5        g ! , (       d  f       g = f)Nr   r   r  r  r   r   )r
   rR   r   r   r   DeprecationWarningr   r*   )rS   r   r  r  r   ress         rW   #test_mask_row_cols_axis_deprecation9TestCompressFunctions.test_mask_row_cols_axis_deprecation  s_    
 "))A,&&q!,!9i8: ,-q$Cl1;< .--s   A,,
A:c           	      t   [         R                  " SS5      n/ SQn[        XS9R                  SS5      n[        XS9R                  SS5      n[	        X4SS9n[        UR                  SS/SS	//5        [	        XCSS9n[        UR                  / S
Q/ SQ/ SQ/5        [	        X4SS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [	        XCSS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        / SQn[        XS9R                  SS5      n[        XS9R                  SS5      n[	        X4SS9n[        UR                  S	S/SS//5        [	        XCSS9n[        UR                  / SQ/ SQ/ S
Q/5        [	        X4SS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [        U[	        X45      5        [	        XCSS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        / SQn[        XS9R                  SS5      n[        XS9R                  SS5      n[	        X45      n[        UR                  [        5        [	        XC5      n[        UR                  [        5        [        U/ SQS9R                  SS5      n[        U/ SQS9R                  SS5      n[	        X4SS9n[        UR                  SS/S	S	//5        [	        X4SS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [	        XCSS9n[        UR                  / SQ/ SQ/ SQ/5        [	        XCSS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [        U/ SQS9R                  SS5      n[        U/ SQS9R                  SS5      n[	        X4SS9n[        UR                  S	S	/SS//5        [	        X45      n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [	        XCSS9n[        UR                  / SQ/ SQ/ SQ/5        [	        XCSS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [        U/ SQS9R                  SS5      n[        U/ SQS9R                  SS5      n[	        X4SS9n[        UR                  SS	/SS//5        [	        X4SS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [	        XCSS9n[        UR                  / SQ/ S
Q/ SQ/5        [	        XCSS9n[        U[         R                  " UR                  S	5      UR                  S	5      5      5        [        [         R                  " S5      R                  SSS5      SS	/S	S	//S	S	/S	S	///S9n[        [         R                  " S5      R                  SSS5      S	S	/S	S	//S	S	/S	S///S9n[	        X4SS9n[        UR                  SS/SS//S	S	/S	S///S	S	/S	S//S	S	/S	S////5        [	        X4SS9n[        UR                  S	S	/S	S//S	S	/S	S	///S	S	/S	S	//S	S	/S	S	////5        [	        XCSS9n[        UR                  SS	/S	S	//SS	/S	S	///SS	/S	S	//SS/SS////5        [	        XCSS9n[        UR                  S	S	/S	S	//S	S	/S	S	///S	S	/S	S	//SS	/S	S	////5        [        [         R                  " S5      R                  SSS5      SS	/S	S	//S	S	/S	S	///S9nSn[	        X4SS9n[        UR                  SS	/S	S	//S	S	/S	S	///5        [	        X4SS9n[        UR                  SS	/S	S	//S	S	/S	S	///5        [	        XCSS9n[        UR                  SS	/S	S	//S	S	/S	S	///5        [	        XCSS9n[        UR                  SS	/S	S	//S	S	/S	S	///5        [        [         R                  " S5      R                  SSS5      SS	/S	S	//S	S	/S	S	///S9n[        [         R                  " S5      S	S/S9n[	        X4SS9n[        UR                  SS/SS//5        [	        X4SS9n[        UR                  SS	/S	S	//5        g )Nr?   rt   )r?   r   r   r   r   r   r   r<   r   T)strictr   rF  r  Fr   r   r   r   r   r?   r{  )r   r   r   r   r   r   )r   r   r?   r   r   r   r   r   )	rR   r   r   r   r   r   rA   filledr   )rS   nr  rB   rC   r\   s         rW   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-.rZ   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   )rR   eyer
   r   rb   r   r   rS   rB   rC   s      rW   test_dot_returns_maskedarray2TestCompressFunctions.test_dot_returns_maskedarray  sl    FF1I!HSY;./SY;./SY;./SY;./rZ   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
   rR   r  r   r   r   r   )rS   rB   r  r  s       rW   test_dot_out"TestCompressFunctions.test_dot_out  sE    "&&)BHHV$%!C 
QrZ   r^   N)r   r   r   r   rv  r~  r  r  r  r  rR   ra   	mask_rows	mask_colsr  r  r  r  r   r^   rZ   rW   rB  rB    s    n`5(/@ [[V\2[[fn5!uu2RUU__a4HIK=K 3=m/^0rZ   rB  c                        \ rS rSrS rS rSrg)TestApplyAlongAxisi  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^   )rC   s    rW   myfunc*TestApplyAlongAxis.test_3d.<locals>.myfunc  s    Q4KrZ   r?   r   rt   ro   r   r   r'   r   rS   rB   r  xas       rW   test_3dTestApplyAlongAxis.test_3d  sF    3K1a(	 fa+R1a&1b'*+rZ   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 )NrG  r<   r   c                     U SU-      $ r  r^   )rC   offsets     rW   r  1TestApplyAlongAxis.test_3d_kwargs.<locals>.myfunc'  s    QvX;rZ   r?   )r  r   r   r   )r   r  r  s       rW   test_3d_kwargs!TestApplyAlongAxis.test_3d_kwargs$  sH    2Jq!Q'	 fa15R1a&1b'*+rZ   r^   N)r   r   r   r   r  r  r   r^   rZ   rW   r  r    s    ,,rZ   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 )Nr3  r<   r   r   r   rD  \   |   r  rQ  )
r   r   r&   rR   ry   r
   r   r   rr  r   )rS   rB   rT   ctrls       rW   
test_basicTestApplyOverAxes.test_basic0  s    2Jq!Q'rvvq1a&1xx2$se,-.T "(q5..
rvvq1a&1xx2$rd+,-T rZ   r^   N)r   r   r   r   r  r   r^   rZ   rW   r  r  .  s    !rZ   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 )Nr5  r   )rR   ra   r   infr   rS   rs     rW   test_pytypeTestMedian.test_pytype<  sE    EELL266266*RVVRVV,<=BLGQrZ   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 )Nr5  r   Tr   )rR   ra   r   r   r  r   rA   r  s     rW   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"rZ   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@)
rR   r   r   ra   r   r   rb   r   ru   r   r}  s     rW   test_non_maskedTestMedian.test_non_maskedR  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'{:;rZ   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 mismatchro   r<   r   r   r   r5  Tr   overwrite_inputr   r   r;   N)r
   rR   r   r   ra   r   r   r   rb   r   r   )rS   r   ma_xs      rW   test_docstring_examples"TestMedian.test_docstring_examplesg  sE   "))A,aSUaSU]3RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))B-''1-QCEQCEMBRUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89uu||AB|=TB8$TZZ'78T
k)*rZ   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                   a     Mt  f = f)	Nz5mask = %s, ndim = %s, axis = %s, overwrite_input = %sr   )FTr?   )ndminrA   FTr  )
ru   r
   	itertoolsproductrR   ra   r   	ExceptionAssertionError	AxisError)rS   msgr  rA   r   argsr   overs           rW   test_axis_argument_errors$TestMedian.test_axis_argument_errorsv  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 << s   CC,C)	,D	D	c                     [        SSS9n[        [        R                  R	                  U5      S5        [        SSS9n[        [        R                  R	                  U5      [        R                  R
                  5        g )Nr?   Fr   T)r
   r   rR   ra   r   r   r}  s     rW   test_masked_0dTestMedian.test_masked_0d  sN    !% RUU\\!_a(!$RUU\\!_beell3rZ   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
   rR   r   r   ra   r   r   r   r   rb   rc   MaskedConstantr   r}  s     rW   test_masked_1dTestMedian.test_masked_1d  sP   "))A,T*RUU\\!_beell3RUU\\!_**B0@ARUU\\!_%)B)BBC"))A,U+RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,[1RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))A,[1RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,[1RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))B-k2RUU\\!_b)RUU\\!_**B0@ARUU\\!_%[89"))A,]3RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89"))B-m4RUU\\!_c*RUU\\!_**B0@ARUU\\!_%[89rZ   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   ry  )r   rR   ra   r   r
   r   rS   s    rW   test_1d_shape_consistency$TestMedian.test_1d_shape_consistency  sD    RUU\\%W"=>DDUU\\%W"=>DD	GrZ   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   rd        r   ro   r=   r   r?   r   )r   rR   linspacer   emptyrQ   r   rd   ru   r   shuffler   r   r   T)rS   r  pr   r   idxr{   s          rW   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+6rZ   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 )Nrd  ro   r         -@r   r   )      +@r  g      /@r?   )
r   r   r   ro   rH  r;  rM  r   r   r   )
r?   r?   r?   r   r   r   r   r?   r?   r?   )r   rR   r   r   r   r   r   r   rb   ra   r   rA   r}  s     rW   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LrZ   c                    [         R                  R                  S5      R                  SSS5      n[        XS-  S:H  '   [        [        US5      SS/SS	/SS/S
S	//5        SUl        [        [        US5      SS/SS/SS//5        [         R                  R                  S5      R                  SSS5      n[        XS-  S:H  '   [        [        US5      SS/SS/SS//5        g )Nr3  r   r   r<   r   rG  r   r   rJ  rL  )r   r   r<   c   ro   r   rH  rI  r   r   r;  rK  )rR   ra   r   r   r   r   r   r   r}  s     rW   r  TestMedian.test_3d  s    EELL$$Q1-a%1*VAq\RGaWr1gBx#HIVAq\RHr2hR#ABEELL$$Q1-a%1*VAq\RHq!fr2h#?@rZ   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 )Nrd  ro   r   r  r5  r   r?   )r   rR   r   r   r   r   r   r}  s     rW   test_neg_axisTestMedian.test_neg_axis  sO    2..r156"1"#VAB'):;rZ   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)rd        >@r  g      ?@r   r  r^   r  rd  r  g      .@)
r   rR   r   r   r   r   r   r   rb   r   )rS   vr   r  r  s        rW   test_out_1dTestMedian.test_out_1d  s    #ARYYq\*A##AbqEAbcFrwwr{+Cq"ABwS$'S#&AHDG{*+ $rZ   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)rN  g      D@rd  r  ro   r5  r   r  r?   )r   r  rd  r   )ro   rH  r;  rM  TFr   r   )r  g     1@g     5@g     9@)r   rR   r   r   r   r   r   r   r   rb   r   )rS   r  r   r  r  es         rW   test_outTestMedian.test_out  s   #ARYYq\11"b9:A##AbqEAbcFrwwr{+Cqqc*ABw "a*:!:bT!V!C'+fqjE7Q;&>$!&KM !"a*B!BbT!V!K'+fQh%&:dVAX&EGAHDG{*+ $rZ   r   )Nr?   r]   rn  )r  r5  )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   rt   r   r=   )r      r   r]   c              3   P   >#    U  H  oT;   a  S OTR                   U   v   M     g7f)r?   N)r   ).0r{   	axis_normr  s     rW   	<genexpr>/TestMedian.test_keepdims_out.<locals>.<genexpr>  s&      L=J)^3]s   #&T)r   r   r  )rR   r   r   r   r
   r   rr  intpr  tupler   r   ndimr   ru   r  r   r   )	rS   r   rA   r   	shape_outr  r   r  r  s	          @@rW   test_keepdims_outTestMedian.test_keepdims_out
  s     xxT2IIX&$**)=ag)FFHHRWWU1X,48<qvvI,T166:I L=B166]L LI288I./t=}}V\\9-rZ   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   )rR   ra   masked_equalr   r   )rS   rx   rh   r   s       rW   $test_single_non_masked_value_on_axis/TestMedian.test_single_non_masked_value_on_axis&  s]    RRR UU''a0
8255<<
<;#	%rZ   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<   r5  r   )rR   r   r   ra   r
   r  rA   r   r   isscalarr   ravelr   rb   r   r   )rS   rA   dmr  s       rW   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]CrZ   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?   rJ   r   r  r   r?   r^   )	rR   ra   r   r   r   r  r   r   r   )rS   or  s      rW   test_out_nanTestMedian.test_out_nanL  s    EErxx~.EErwwv/&&$%%,,$RUU\\!QA\.2EErxx~.RUU\\!QA\.2EErxx|,RUU\\!\+Q/rZ   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 )Nr3  r=   r   r<   r   r   r   r?   r   )r?   r?   r<   r<   r   ro  r?   r   rp  )rR   ra   r   r   rQ   r   r  r   r   r   r   rA   copyr   r  r   )rS   rB   aorigrC   s       rW   test_nan_behaviorTestMedian.test_nan_behaviorW  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0rZ   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   )rR   r
   uint8ra   r   r   r   rA   r   s     rW   test_ambigous_fillTestMedian.test_ambigous_fillz  s    HHk;/rxx@EEqAv.255<<<2C8255<<<277?255<<<2AaD9255<<?C0rZ   c           
      @   [         R                  [         R                  * 4 GHx  n[         R                  " U[         R                  /[         R                  [         R                  //5      n[         R                  R                  U[         R                  " U5      S9n[        [         R                  R                  USS9U[         R                  /5        [        [         R                  R                  USS9U[         R                  /5        [        [         R                  R                  U5      U5        [         R                  " [         R                  [         R                  U/[         R                  [         R                  U//5      n[         R                  R                  U[         R                  " U5      S9n[        [         R                  R                  USS9U5        [        [         R                  R                  USS9R                  S5        [        [         R                  R                  USS9US   5        [        [         R                  R                  U5      U5        [         R                  " X/X//5      n[        [         R                  R                  U5      U5        [        [         R                  R                  USS9U5        [        [         R                  R                  USS9U5        [         R                  " USU* S/S[         R                  [         R                  S	/S
[         R                  [         R                  U//[         R                  S9n[         R                  R                  U[         R                  " U5      S9nUS:  aW  [        [         R                  R                  USS9SSU* S/5        [        [         R                  R                  U5      S5        OV[        [         R                  R                  USS9SSU* S/5        [        [         R                  R                  U5      S5        [        [         R                  R                  USS9SSU/5        [        SS5       GH  n[        SS5       H  n[         R                  " [         R                  /U-  U/U-  -   /S-  5      n[         R                  R                  U[         R                  " U5      S9n[        [         R                  R                  U5      U5        [        [         R                  R                  USS9U5        [        [         R                  R                  USS9[         R                  /U-  U/U-  -   5        M     GM     GM{     g )Nr   r   r   r?   Frt   ir  r   r   r=   r   r  r   g      @g      $g      "g      r  ro   r<   )rR   r  r
   r  ra   r   isnanr   r   r   rA   float32ru   )rS   r  rB   r{   r|   s        rW   test_specialTestMedian.test_special  s   FFRVVG$C3.266266*:;<A""1288A;"7Aaa03.Aaa03.Aa#.2662663/"&&"&&#1FGHA""1288A;"7Aruu||AA|6<ruu||AA|6;;UCruu||AA|6!=ruu||A4 3*sj12Aa#.aa0#6aa0#63C4,2bffbffc24 !#

,A ""1288A;"7AQwRUU\\!!\4r2tR6HIRUU\\!_c2RUU\\!!\4tR#s6KLRUU\\!_d3aa03c2BC1b\q"ABFF8a<SEAI">!?!!CDA**1288A;*?A a#6 aa!8#> aa!8#%66(Q,3%!)!;= & "C %rZ   c                 2   [         R                  R                  [         R                  " / [        S95      n[        5        nUR                  [        5        [        [         R                  R                  U5      [         R                  5        [        UR                  S   R                  [        L 5        S S S 5        [         R                  R                  [         R                  " / [        SS95      n[        5        nUR                  [        5        [        R                  " SS[        5        [        [         R                  R                  U5      [         R                  5        [        UR                  S   R                  [        L 5        S S S 5        [         R                  R                  [         R                  " / [        SS95      n[!        [         R                  R                  USS9U5        [!        [         R                  R                  US	S9U5        [         R                  R                  [         R                  " [         R                  [        SS95      n[        R"                  " S
S9 n[        R                  " SS[        5        [!        [         R                  R                  USS9U5        [        US   R                  [        L 5        S S S 5        g ! , (       d  f       GN5= f! , (       d  f       GNm= f! , (       d  f       g = f)Nr=   r   r   )r>   r  always r<   r   r?   T)record)rR   ra   r   r
   rQ   r   r9  RuntimeWarningr   r   r  r   logcategorywarningsfilterwarningsr   catch_warnings)rS   rB   r   rC   s       rW   
test_emptyTestMedian.test_empty  s   EErxx%89 AHH^$ruu||A7AEE!H%%78 ! EErxx%qAB AHH^$##Hb.Aruu||A7AEE!H%%78	 ! EErxx%qABRUU\\!!\,a0RUU\\!!\,a0 EErxxe1EF$$D1Q##Hb.Aaa0!4AaDMM^34 21+ !  !  21s'   A5K$?BK68A#L$
K36
L
Lc           	         [         R                  R                  [         R                  " S5      5      n[	        [        [         R                  R                  UR                  [        5      5      5      [        5        [         R                  US'   [	        [        [         R                  R                  UR                  [        5      5      5      [        5        g )Nr  r<   )rR   ra   r   r   r   rb   r   rr  r`   rQ   r  )rS   r"  s     rW   test_objectTestMedian.test_object  su    EEryy}-RUU\\!((6"234e<vv!RUU\\!((6"234e<rZ   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  r#  r*  r/  r4  r@  rC  r   r^   rZ   rW   r  r  ;  s     #$<*+N04$:LG7 
M	A<
,," [[
  	.	.$%D:	0!1F1)=V5:=rZ   r  c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestCovi  c                 ^    [        [        R                  R                  S5      5      U l        g NrG  )r
   rR   r   r!  rx   r  s    rW   setup_methodTestCov.setup_method  s    "))..,-	rZ   c           	         U R                   n[        [        R                  " U5      [        U5      5        [        [        R                  " USS9[        USS95        [        [        R                  " USSS9[        USSS95        g )NFrowvarTrM  bias)rx   r	   rR   r   r}  s     rW   test_1d_without_missingTestCov.test_1d_without_missing  s`    IIBFF1Is1v.BFF1U3S55IJBFF1U>%d;	=rZ   c           	      .   U R                   R                  SS5      n[        [        R                  " U5      [	        U5      5        [        [        R                  " USS9[	        USS95        [        [        R                  " USSS9[	        USSS95        g )Nr   r   FrL  TrN  )rx   r   r	   rR   r   r}  s     rW   test_2d_without_missingTestCov.test_2d_without_missing  sm    IIa#BFF1Is1v.BFF1U3S55IJBFF1U>%d;	=rZ   c           
         U R                   n[        US'   XR                  5       -  nUR                  5       n[	        [
        R                  " U5      [        U5      5        [	        [
        R                  " USS9[        USS95        [	        [
        R                  " USSS9[        USSS95         [        USS9  USS n[	        [
        R                  " X"S S S2   5      [        XS S S2   5      5        [	        [
        R                  " X"S S S2   SS9[        XS S S2   SS95        [	        [
        R                  " X"S S S2   SSS9[        XS S S2   SSS95        g ! [         a     Nf = f)Nr5  FrL  TrN  allow_maskedr?   )rx   r   meanrz   r	   rR   r   
ValueError)rS   r   nxs      rW   test_1d_with_missingTestCov.test_1d_with_missing  s;   II"	VVX\\^BFF2JA/BFF2e4c!E6JKBFF2e$?%d;	=	&
 qWBFF2$B$x0#a4R4/BBFF2$B$x>TrT759	;BFF2$B$xDITrT75tD	F  		s   2
E 
E,+E,c           	         U R                   n[        US'   UR                  SS5      n[        R                  " [        U5      5      R                  [        5      n[        R                  " X"R                  5      nXR                  S5      S S 2S 4   -
  R                  S5      n[        [        U5      [        R                  " U5      UR                  S   S-
  -  US-
  -  5        [        [        USS9[        R                  " USS9UR                  S   -  U-  5        [        R                  " UR                  U5      nXR                  S5      -
  R                  S5      n[        [        US	S
9[        R                  " US	S
9UR                  S   S-
  -  US-
  -  5        [        [        US	SS9[        R                  " US	SS9UR                  S   -  U-  5        g )Nr5  r   r   r?   r   r   TrO  FrL  rN  )rx   r   r   rR   logical_notr   rr  rv   r   r  rX  r  r	   r   r   )rS   r   validfracxfs        rW   test_2d_with_missingTestCov.test_2d_with_missing  s   II"IIaO|A/66s;vveWW%&&)AtG$$,,Q/CFFF2J!''!*q.9TBYG	IC-FF2D1AGGAJ>E	Gvveggu%&&)m##A&C%0VVBu5ggaj1n.15<	> 	C%d;VVBu4@WWQZ(*./	1rZ   )rx   N)
r   r   r   r   rI  rP  rS  r[  rc  r   r^   rZ   rW   rF  rF    s    .==F01rZ   rF  c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestCorrcoefi  c                     [        [        R                  R                  S5      5      U l        [        [        R                  R                  S5      5      U l        g rH  )r
   rR   r   r!  rx   data2r  s    rW   rI  TestCorrcoef.setup_method  s4    "))..,-	299>>"-.
rZ   c           	      @   U R                   U R                  p![        R                  " U5      n[        R                  " X5      n[	        5        n[
        R                  " S5        [        [        [        USS9  UR                  [        S5        [        [        R                  " USS9[        USS95        [        [        USS9U5        [        [        XSS9U5        [        [        USS9U5        [        [        XSS9U5        S S S 5        g ! , (       d  f       g = f)Nr7  r5  ddofbias and ddof have no effectr   r   rx   rh  rR   r   r   r=  simplefilterr   r  filterr	   )rS   r   r   r   	expected2sups         rW   	test_ddofTestCorrcoef.test_ddof  s    yy$**1;;q>KK%	 C!!(++XqrBJJ)+IJAA 68KL 4h?B 7C 3X>A 6	B !  s   B8D
Dc           	         U R                   U R                  p![        R                  " U5      n[	        5        n[
        R                  " S5        [        [        [        XSS5        [        [        [        XSS5        [        [        [        USS9  UR                  [        S5        [        [        USS9U5        S S S 5        g ! , (       d  f       g = f)Nr7  TFr^  rm  r?   rn  )rS   r   r   r   rr  s        rW   	test_biasTestCorrcoef.test_bias+  s    yy$**1;;q> C!!(++XqT5I+XqT4H+XquEJJ)+IJ 3X> !  s   BC
Cc           
         U R                   n[        [        R                  " U5      [        U5      5        [        [        R                  " USS9[        USS95        [	        5        nUR                  [        S5        [        [        R                  " USSS9[        USSS95        S S S 5        g ! , (       d  f       g = f)NFrL  rm  TrN  )rx   r	   rR   r   r   rp  r  rS   r   rr  s      rW   rP  $TestCorrcoef.test_1d_without_missing8  s    IIBKKNHQK8BKK%8$Qu5	7 CJJ)+IJAe$ G (5t DF !  s   'A B00
B>c           
         U R                   R                  SS5      n[        [        R                  " U5      [	        U5      5        [        [        R                  " USS9[	        USS95        [        5        nUR                  [        S5        [        [        R                  " USSS9[	        USSS95        S S S 5        g ! , (       d  f       g = f)Nr   r   FrL  rm  TrN  )rx   r   r	   rR   r   r   rp  r  ry  s      rW   rS  $TestCorrcoef.test_2d_without_missingC  s    IIa#BKKNHQK8BKK%8$Qu5	7 CJJ)+IJAe$ G (5t DF !  s   7A C  
Cc                 0   U R                   n[        US'   XR                  5       -  nUR                  5       n[	        [
        R                  " U5      [        U5      5        [	        [
        R                  " USS9[        USS95        [        5        nUR                  [        S5        [	        [
        R                  " USSS9[        USSS95        S S S 5         [        USS9  USS n[	        [
        R                  " X"S S S2   5      [        XS S S2   5      5        [	        [
        R                  " X"S S S2   SS9[        XS S S2   SS95        [        5        nUR                  [        S5        [	        [
        R                  " X"S S S2   5      [        XS S S2   SS	95        [	        [
        R                  " X"S S S2   5      [        XS S S2   S
S95        S S S 5        g ! , (       d  f       GN= f! [         a     GNf = f! , (       d  f       g = f)Nr5  FrL  rm  TrN  rV  r?   r^  r<   rk  )rx   r   rX  rz   r	   rR   r   r   rp  r  rY  )rS   r   rZ  rr  s       rW   r[  !TestCorrcoef.test_1d_with_missingN  s   II"	VVX\\^BKKOXa[9BKK59$Qu5	7 CJJ)+IJBu4 H (5t DF !	QU+ qWBKKttH5xTrT77KLBKKttHUC$Q$B$>	@ CJJ)+IJB4R4 9 (ddG! <>B4R4 9 (ddG! <> !  !   		 ! s,   A G$
G6 A?H$
G36
HH
Hc                 (   U R                   n[        US'   UR                  SS5      n[        U5      n[        R                  " U5      n[        US S2S S24   US S2S S24   5        [        5        nUR                  [        S5        [        [        USS9S S2S S24   US S2S S24   5        [        [        USS9S S2S S24   US S2S S24   5        [        [        USS9S S2S S24   US S2S S24   5        S S S 5        g ! , (       d  f       g = f)	Nr5  r   r   rm  r6  rk  r?   r^  )	rx   r   r   r   rR   r	   r   rp  r  )rS   r   rT   rU   rr  s        rW   rc  !TestCorrcoef.test_2d_with_missingl  s*   II"IIaO{++a.D"crcNGCRC"H,=> CJJ)+IJ 4SbS#2#X > 'SbS 13 3CRC"H = 'SbS 13 3CRC"H = 'SbS 13 !  s   1B	D
D)rx   rh  N)r   r   r   r   rI  rs  rv  rP  rS  r[  rc  r   r^   rZ   rW   rf  rf    s(    /C ?	F	F><3rZ   rf  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 )Nro   rb  r5  r<   r   r   rH   r5  r5  Trw   r?   )rw   r   )rR   r   r!  r   r	   r   viewr   r   rz   zipr(  r   )rS   r   r   CRKSDr\   r  r}   r   r  rB   a_r   woxsyswss                       rW   test_polyfitTestPolynomial.test_polyfit  s    IINN2IINN2&&r1-GA!,bjjq.ABFF;!FF;$$$!F)!!q!tWad;qQ**QqrUAab!eH,?,?,A1*.0qQA!?Q1O<GQ& = "!q"uXqt<qQ**QqWa"bk14HqQA!?Q1O<GQ& = "!5qQ**QqWa"QiFqQA!?Q1O<GQ& = IINN2"VVXqWqWqW!!:qQ**RQTR@qQQA!?Q1O<GQ& =rZ   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 )Nro   rb  r5  r<   r   r  r   Tr  r?   )rR   r   r!  r   r  r  r   r   r   r  r	   )rS   r   r   r  r  r  r  r  r\   r  r}   r   r  rB   r  s                  rW   test_polyfit_with_masked_NaNs,TestPolynomial.test_polyfit_with_masked_NaNs  s    IINN2IINN2&&r1-vv!66%FF;FF;!%!!5qQ**QqWa"QiFqQA!?Q1O<GQ& =rZ   r^   N)r   r   r   r   r  r  r   r^   rZ   rW   r  r    s    %'N'rZ   r  c                   t    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rSrg)TestArraySetOpsi  c                     / SQn[        USSS9n[        [        US   [        5      5        [	        US   [        / SQ/ SQS95        [	        US   / S	Q5        [	        US
   / SQ5        g )Nr?   r?   r?   r<   r<   r   Treturn_indexreturn_inverser   r   r  r   r?   )r   r   r   r<   )r   r   r   r?   r?   r<   )r   r   r  r   r   r   r7  s      rW   test_unique_onlist"TestArraySetOps.test_unique_onlist  sZ    !ddC
47K01T!Wl99EFT!Wi(T!W01rZ   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   r5  r   r   r   r?   r?   )r   r   r   r<   r<   )r   r   r   r?   r   r<   r   )rx   rA   
fill_value)r   r   r   r  r7  s      rW   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1rZ   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 )	NrF  Tr   r  r   r?   r<   r  )r   r   r   r   r7  s      rW   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"rZ   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   rR   r   r
   r%   r   r  rA   )rS   r   rU   rT   s       rW   test_ediff1dTestArraySetOps.test_ediff1d  s`    1O<<8qzT#T[[^W^^A%67TYY-rZ   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   rR   r   r%   r   r
   r   r  rA   rS   r   rT   rU   s       rW   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-rZ   c                    [        [        R                  " S5      / SQS9n[        U[        S9n[        / SQ/ SQS9n[        X#5        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        [        U/ SQS9n[        / S	Q/ S
QS9n[        X#5        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        g )Nr   r  r   )to_end)r?   r?   r?   r   r   )r?   r   r   r?   r?   r   r   )r?   r?   r?   r   r?   r<   r   )r?   r   r   r?   r   r   r   r  r  s       rW   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-rZ   c                    [        [        R                  " S5      / SQS9n[        U[        [        S9n[        / SQ/ SQS9n[        X#5        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        [        U/ SQ[        S9n[        / S	Q/ S
QS9n[        X#5        [        UR                  S5      UR                  S5      5        [        UR                  UR                  5        g )Nr   r  r   r  r  )r   r?   r?   r?   r   r   )r?   r?   r   r   r?   r?   r   r   )r   r?   r?   r?   r   r?   r<   r   )r?   r?   r   r   r?   r   r   r   r  r  s       rW   test_ediff1d_tobegin_toend*TestArraySetOps.test_ediff1d_tobegin_toend  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-rZ   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   )rR   r   r%   r
   r   r   r  r   r  rA   r   r  s       rW   test_ediff1d_ndarray$TestArraySetOps.test_ediff1d_ndarray  s    IIaLqz<8T#
4-.T[[^W^^A%67TYY-q&9*1CD
4-.T[[^W^^A%67TYY-rZ   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   r5  r{  )r
   r#   r   )rS   r   r   rT   rU   s        rW   test_intersect1d TestArraySetOps.test_intersect1d+  s8    ,\2,\21 
3T#rZ   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   rt   r5  r   r   r   r   r?   r   r?   r<   r   r   r   r5  r  )r   r   rt   )r?   r<   r   r   r   )r   r   rt   r5  r  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   rB   rC   rT   s       rW   test_setxor1dTestArraySetOps.test_setxor1d3  s    "9%,>?~T5+,"9~T5\BC))~
4-.T-.,\2,\2~
4-.T-.2xB/0rZ   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 )Nr3  r   r?   )r?   r<   r   r   )	r   ro   rb  rd  r?   r   r   r<  rf  )	r   r?   r   r?   r   r?   r   r?   r   )rx   rA   r=   Tr  r{  )r   r<   r   )rR   r   r   r   r
   r   r2   r   r  r   r   rA   )rS   rB   rA   rC   ecr\   r  s          rW   	test_isinTestArraySetOps.test_isinM  s     IIbM!!),xx	"W!::<9D)777J
1k*+1!GGA!&&z"affW,1 rZ   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?   r5  r?   r   r5  r{  )TTFTT)r
   r$   r   r   r  s       rW   	test_in1dTestArraySetOps.test_in1db  sn    "9%,>?AzT:;"9*9-AzT:;2tB|,rZ   c           	      b   [        / SQ/ SQS9n[        / SQ/ SQS9n[        [        R                  " [	        X5      5      [	        XSS95        [        / SQ/ SQS9n[        / S	Q/ S
QS9n[        [        R                  " [	        X5      5      [	        XSS95        [        / [	        / / SS95        g )Nr  r  r   r  r  T)invertr  r  r{  )r
   r   rR   r  r$   r   r  s      rW   test_in1d_invert TestArraySetOps.test_in1d_invertp  s    "9%,>?RYYtAz*Dd,CD"9*9-RYYtAz*Dd,CD2tB489rZ   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   rt   r   r5  r  r   r  )r?   r<   r   r   r   rt   r5  )r   r   r   r   r   r   r?   rz  rE  r  r{  r4  r  )r   r?   r<   r   r   r   )r
   r"   r   r   )	rS   rB   rC   rT   rU   r   r   ezr   s	            rW   test_union1dTestArraySetOps.test_union1d|  s    %,>?%,>?q}.5JKT# 9i(	9/EF/8%,>?AMQ2wr2/rZ   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   rt   rt   r?   r<   r?   )r   r   r   r   r   r   r   r?   r   )r<   r   r   r   r<   r?   r   )r   rt   r5  r{  ro   r   r   )r
   r!   r   r   rR   uint32r>   r  s       rW   test_setdiff1dTestArraySetOps.test_setdiff1d  s    *1IJ'(T5)<=2J1IYq_eQFm4"biib)Yq"%++RYY7rZ   c                     [         R                  " / SQ5      n[         R                  " / SQ5      n[        [        X5      [         R                  " S/5      5        g )N)rB   rC   r\   )rB   rC   r   r\   )rR   r
   r   r!   r  s      rW   test_setdiff1d_char_array)TestArraySetOps.test_setdiff1d_char_array  s6    HH_%HH_%9Q?BHHcUO<rZ   r^   N)r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r^   rZ   rW   r  r    sR    22 #.... . $14!*-
:0$8=rZ   r  c                        \ rS rSrS rS rSrg)TestShapeBasei  c                    [        / SQ/ SQS9n[        U5      n[        UR                  S5        [        UR                  R                  UR
                  R                  5        [        UR                  S5        [        UR                  R                  UR
                  R                  5        [        UR                  R                  UR
                  R                  5        g )Nrz  ry  r   r'  r!  )r   r   r   r   rA   rx   r  s      rW   test_atleast_2dTestShapeBase.test_atleast_2d  s    3qMQWWf%QVV\\166<<0QWWd#QVV\\166<<0QVV\\166<<0rZ   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   rI   rF  )r   r   r   rA   rx   r   r   r3   )rS   rC   rB   s      rW   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<<0rZ   r^   N)r   r   r   r   r  r  r   r^   rZ   rW   r  r    s    1(1rZ   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rz   )	rR   r   r   
zeros_liker   r   r   rq  r4   )rS   ordinary
empty_mask	with_masks       rW   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rZ   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  r3  )r0   r   rq  r4   r  rR   ndindexr   )rS   rB   rC   r\   s       rW   test_ndenumerate_allmasked*TestNDEnumerate.test_ndenumerate_allmasked  s    rNvy!T+a.)2.T+a.)2.T+aE:;#bjj0#.AB	DT+a.)2.T+aE:;#bjj3Y&5IJK	MrZ   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 )
NrG  r  r  )r?   r?   r   r?   r  r   ))ro  r   ))r<   r   r   )r   r   )rJ   ro   )r&  r   Fr  )	r   rR   r   r   r   rq  r4   rd   r   )rS   rB   items
coordinatevalues        rW   test_ndenumerate_mixedmasked,TestNDEnumerate.test_ndenumerate_mixedmasked  s    2..v6+++-.GT+a.)51Sk!>?@!&&I!,Q5!AJ. "BrZ   r^   N)r   r   r   r   r  r  r  r   r^   rZ   rW   r  r    s    	E
M
/rZ   r  c                   &    \ rS rSrS rS rS rSrg)	TestStacki  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 )Nrz  ry  r   r   r   rt   r  r   r   r&  r?   r   r<   r   r5   r   r   r   rA   r6   rx   rS   rB   rC   r\   r  s        rW   test_stack_1dTestStack.test_stack_1d  s    331&q!QWWf%1661Q499-1661Q499-A6N166166*166166*1&q!QWWf%1661QT7<<01661QT7<<0rZ   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 )Nrz  Tr   r  Fr   r   r&  r?   r  r  r  s        rW   test_stack_masksTestStack.test_stack_masks  s    ./1&q!QWWf%1661Q499-1661Q499-A6N166166*166166*1&q!QWWf%1661QT7<<01661QT7<<0rZ   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   ro   r<   r   r   r;   r?   r5  ).r   ).r?   )r   r<   r   r   )rR   r   randintrr  r   r   r5   r   r   r   rA   )
rS   shpd1d2r   r   a1rs  r\   c_shps
             rW   test_stack_ndTestStack.test_stack_nd%  sf   YYq"c*YYq"c*YYq!S)006YYq!S)006"&"&2(#s
QWWe$277AaDII.277AaDII.2($d
QWWe$277AfINN3277AfINN3 YYq"c*YYq"c*YYq!S)006YYq!S)006"&"&2(#s
QWWe$277AaDII.277AaDII.2($d
QWWe$277AfINN3277AfINN3rZ   r^   N)r   r   r   r   r  r  r  r   r^   rZ   rW   r  r    s    1$1$)4rZ   r  )N__doc__r=  r  r  numpyrR   numpy.core.numericr   numpy.testingr   r   numpy.ma.testutilsr   r   r   r	   numpy.ma.corer
   r   r   r   r   r   r   r   r   r   r   numpy.ma.extrasr   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r8   r   r  r0  rB  r  r  r  rF  rf  r  r  r  r  r  r^   rZ   rW   <module>r     s       3             DK9 K9\). ).XC CLo od	, ,,
! 
!T= T=n@1 @1Fh3 h3V7' 7'te= e=P41 41n#/ #/LO4 O4rZ   