
    Kh"                         S SK r S SKrS SK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Jr  S SKJr   " S S\\R2                  5      r " S S	5      r " S
 S5      r " S S5      rg)    N)assert_warns)assert_assert_equalassert_raisesassert_array_equal)masked_arraymasked_valuesmaskedallequalMaskTypegetmaskMaskedArraynomasklogaddhypotdividemr_c                   6    \ rS rSr\4S jrS r\S 5       rSr	g)MMatrix   c                 \    [         R                  " U5      n[        R                  " XUS9nU$ )N)datamask)npmatrixr   __new__)clsr   r   mat_datas        Z/var/www/html/env/lib/python3.13/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyr   MMatrix.__new__   s&    iio##C=    c                 n    [         R                  R                  X5        [        R                  " X5        g N)r   r   __array_finalize__r   )selfobjs     r"   r'   MMatrix.__array_finalize__   s%    
		$$T/&&t1r$   c                 >    U R                  [        5      nSUl        U$ )NF)viewr   _sharedmask)r(   _views     r"   _seriesMMatrix._series   s    		+&!r$    N)
__name__
__module____qualname____firstlineno__r   r   r'   propertyr/   __static_attributes__r1   r$   r"   r   r      s#     & 

  r$   r   c                   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)TestMaskedMatrix    c           
      B   [         R                  " / SQ/ SQ/5      n[        U/ SQ/ SQ/S9n[        U/ SQ/ SQ/S9n[        U5      n[        U5        [	        U5        [        [        US   5      [        US   5      L 5        [        US   US   :H  5        [        US   [        L 5        [        US   US   5        [        US	S
S 24   US	S
S 24   5        [        US S 2S4   US S 2S4   5        [        US S  US S  5        [        US
S  US
S  5        SUS'   SUS'   [        X5        SUS	S
S 24'   SUS	S
S 24'   [        X5        [        US'   [        X5        [        US	S
S 24'   [        X5        US	S S 24   US	S S 24'   [        US'   [        [        [        U5      [         R                  " / SQ/ SQ/5      5      5        [        / SQ/ SQ5      US
S S 24'   [        [        [        U5      S
   [        / SQ5      5      5        [        [        [        US
   5      [        / SQ5      5      5        [        / SQ/ SQ5      US
S S 24'   [        [        [        US
   5      [        / SQ5      5      5        [        [        US
   [        / SQ5      5      5        [         R                  " [         R                  " S5      S-  5      n[        US5      n[        X5        [        [        [        / SQ[        S9UR                  5      5        [        SUR                   5        g )N         )   r?   r>   r=   r   r   )r   r=   r   r   r=   r   )r=   r=   )r   r>   r   r=   r>   	   c   )r   r=   )r=   r=   r            ?      @)r   r   r   r=   r   dtype)r   r   r   strreprr   typer
   r   r   r   arrayaranger	   r   r   
fill_value)r(   x1x2x3x4s        r"   test_matrix_indexing%TestMaskedMatrix.test_matrix_indexing!   s   YY	9-."Iy#9:"Iy#9:"BRRX$r$x.014BtH$%4F"#RXr$x(R12Y1ab5	*R1Xr!Q$x(RUBqE"RVRV$44R1ab5	1ab5	R4R1ab5	Rad81a44bhh	9/E&FGH	951a4Qi)@ABAi)@AB	951a4Ai)@ABAY 789YYryy|c)*2s#RoXF" 	#S"--(r$   c           	         [        [        R                  " [        [	        S5      5      5      / SQS-  S9n[	        S[
        R                  S-   5       H  n[
        R                  " [
        R                  " XS95      n[        UR                  UR                  5        [        X15        [        [        UR                  [        R                  5      5        M     g )N
   )r=   r   r=   r   r   r>   rB   r=   )protocol)r   r   r   listrangepickleHIGHEST_PROTOCOLloadsdumpsr   _maskr   
isinstancer!   )r(   aproto	a_pickleds       r"   test_pickling_subbaseclass+TestMaskedMatrix.test_pickling_subbaseclassM   s    4b	?3/A:MN1f559:EV\\!%DEI!''2&Jy		:;	 ;r$   c                 r   [        [        R                  " SS/SS//5      [        R                  " S5      S9n[	        UR                  SS9R                  S	5        [	        UR                  SS9R                  S
5        [	        UR                  SS9SS//5        [	        UR                  SS9S/S//5        g )Nr=   r>   r?   r@   )r>   r>   rB   r   )axis)r=   r>   )r>   r=   g       @rH   g      ?g      @)r   r   r   zerosr   countshapemean)r(   ms     r"   test_count_mean_with_matrix,TestMaskedMatrix.test_count_mean_with_matrixV   s    QFQF#34288F;KLQWW!W_**F3QWW!W_**F3 	QVVV^r2hZ0QVVV^secU^4r$   c           	         [        [        R                  " / SQ/5      / SQS9n[        UR                  S   S5        [        UR                  S   [
        5        [        [        R                  " UR                  SS USSS24   :H  5      5        [        [        R                  " / SQ/5      / SQS9n[        / SQ/ SQS9Ul        [        [        R                  " / SQ/5      / SQS9n[        X5        [        [        R                  " / SQ/5      / SQS9nUR                  nU/ S	Q   US S & [        X5        S
US'   [        [        R                  " [        R                  " S5      5      SS9nUR                  nUS S n[        UR                  [        R                  " SS//5      5        [        UR                  [        R                  " SS//5      5        g )Nr<   )r   r   r=   rB   r=   r>   r   )r?   r>   r=   rA   )r>   r=   r   rD   rG   g        F)r   r   r   r   flatr
   r   alleyer   rN   r   )r(   testcontroltestflatrb   bb01s          r"   	test_flatTestMaskedMatrix.test_flat`   sZ    BIIyk2CTYYq\1%TYYq\6*tyy1~a1f567BIIyk2C ;	ryy)5IFT#BIIyk2C99y)T#266!9-A6FFeSXXrxx"b
34SXXrxx%(89:r$   c                 (   [         R                  " / SQ/ SQ/ SQ/5      n[         R                  " U5      n[         R                  " / SQ/ SQ/ SQ/[         R                  S9n[	        X#S9nUS	:  nUS	:  n[        UR                  5       (       + 5        [        UR                  5       5        [        UR                  S
5      [         R                  " / SQ5      5        [        UR                  S5      [         R                  " / SQ5      R                  5        [        UR                  S
5      [         R                  " / SQ5      5        [        UR                  S5      [         R                  " / SQ5      R                  5        [        UR                  5       (       + 5        [        UR                  5       5        [        UR                  S
5      [         R                  " / SQ5      5        [        UR                  S5      [         R                  " / SQ5      R                  5        [        UR                  S
5      [         R                  " / SQ5      5        [        UR                  S5      [         R                  " / SQ5      R                  5        g )N)gp=
ף?gp=
ף?g?)gQ?gQ?g)\(?)gףp=
?gףp=
?gffffff?)TFF)FFF)TTFrI   rB   g      ?r   )FFTr=   )TTT)
r   rN   r   boolr   r   rr   anyr   T)r(   xXrm   mXmXbigmXsmalls          r"   test_allany_onmatrices'TestMaskedMatrix.test_allany_onmatricesy   s   HH(((* + IIaLHH*+)+24''; !$c8EIIK 		UYYq\299-A#BCUYYq\299-A#B#D#DEUYYq\299-A#BCUYYq\299-?#@#B#BCGKKM!"W[[^RYY/B%CDW[[^RYY/D%E%G%GHW[[^RYY/B%CDW[[^RYY/B%C%E%EFr$   c                    [        [        R                  " / SQ5      / SQS9nUR                  5       n[	        X!5        [        [        U[        R                  5      5        [        US'   UR                  5       n[	        U/ SQ/5        g )N)r=   r>   r?   r@   )r   r   r   r   rB   )r   r   )r>   r?   r@   )r   r   r   
compressedr   r   ra   r
   )r(   rb   rw   s      r"   test_compressed TestMaskedMatrix.test_compressed   s]    <0|DLLNQ
1bii()$LLNQ$r$   c                     [        [        R                  " / SQ5      / SQ/S9nUR                  5       n[	        UR
                  S5        [	        UR                  R
                  UR
                  5        g )N)r=   r>   r?   r@   rF   r   r=   r   r   r   rB   )r=   rF   )r   r   r   ravelr   rk   r`   )r(   rb   aravels      r"   
test_ravelTestMaskedMatrix.test_ravel   sK    ?3?:KLV\\6*V\\''1r$   c                    [        [        [        R                  " S5      [        R                  R                  S5      5      5      n[        R                  " U5      n[        US[        4S[        4/S9nSUR                  S'   UR                  [        S4[        R                  5      n[        XB5        [        [        U[        R                  5      5        [        [        U[        5      (       + 5        g )NrX   rb   rw   rI   rC   r   r>   )rZ   zipr   rO   randomrandrN   r   floatr   r,   r   r   r   ra   r   )r(   iteratorr   rb   rt   s        r"   	test_viewTestMaskedMatrix.test_view   s    BIIbM299>>"+=>?xx!3,e)EFq	vvuaj")),T 
4+,Jt[112r$   r1   N)r2   r3   r4   r5   rU   re   rn   ry   r   r   r   r   r7   r1   r$   r"   r9   r9       s,    *)X<5;2G4%2	3r$   r9   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestSubclassing   c                 V    [         R                  " SSS9n[        U/ SQS9nX4U l        g )NrF   r   rI   r   rB   )r   rO   r   r   r(   r   mxs      r"   setup_methodTestSubclassing.setup_method   s'    IIaw'Q_-G	r$   c                 z    U R                   u  p[        [        UR                  [        R
                  5      5        g r&   )r   r   ra   r!   r   r   r   s      r"   test_maskedarray_subclassing,TestSubclassing.test_maskedarray_subclassing   s$    ))
288RYY/0r$   c                    U R                   u  p[        R                  " SS9   [        [	        [        U5      [        5      5        [        [        U5      [        R
                  " U5      5        S S S 5        g ! , (       d  f       g = f)Nignore)r   )r   r   errstater   ra   r   r   r   r   s      r"   test_masked_unary_operations,TestSubclassing.test_masked_unary_operations   sN    ))[[)Js2w01Q+ *))s   AA88
Bc           	      v   U R                   u  p[        [        [        X"5      [        5      5        [        [        [        X!5      [        5      5        [        [        X!5      X!-   5        [        [        [        X"5      R                  [        R                  5      5        [        [        5         [        [        [        R                  " X"5      [        5      5        S S S 5        [        [        [        X"5      [        5      5        [        [        [        X!5      [        5      5        g ! , (       d  f       NS= fr&   )r   r   ra   r   r   r   r!   r   r   r   DeprecationWarningouterr   r   s      r"   test_masked_binary_operations-TestSubclassing.test_masked_binary_operations   s    ))
3r;01
3r:w/0SZ&
3r;,,bii89,-Jsyy0':; .
5='23
5<12 .-s   /.D**
D8c                 <   U R                   u  p[        UR                   R                  5       UR                  S9n[	        [        [        X"5      [        5      5        [	        [        [        X!5      [        5      5        [        [        X"5      [        X35      5        g )NrB   )	r   r   	__array__r   r   ra   r   r   r   )r(   r   r   xmxs       r"   test_masked_binary_operations2.TestSubclassing.test_masked_binary_operations2   sc    ))277,,.RWW=
6">734
6"='23VB^VC%56r$   )r   N)
r2   r3   r4   r5   r   r   r   r   r   r7   r1   r$   r"   r   r      s    
1
,37r$   r   c                        \ rS rSrS rS rSrg)TestConcatenator   c                 N    [        [        R                  R                  S 5        g )Nc                      [         S   $ )Nz
1, 2; 3, 4r   r1   r$   r"   <lambda>6TestConcatenator.test_matrix_builder.<locals>.<lambda>   s	    S->r$   )r   r   maMAError)r(   s    r"   test_matrix_builder$TestConcatenator.test_matrix_builder   s    beemm%>?r$   c                 ,   [         S   n[        R                  R                  [        R                  S   5      n[        X5        [        [        U5      [        U5      5        [        [        UR                  5      [        UR                  5      5        g )N)rr=   r>   r?   )	r   r   r   rN   r_r   r   rM   r   )r(   actualexpecteds      r"   test_matrixTestConcatenator.test_matrix   sa     \"55;;ruu\236, 	T&\4>2T&++&X]](;<r$   r1   N)r2   r3   r4   r5   r   r   r7   r1   r$   r"   r   r      s    @
=r$   r   )r\   numpyr   numpy.testingr   numpy.ma.testutilsr   r   r   r   numpy.ma.corer   r	   r
   r   r   r   r   r   r   r   r   r   numpy.ma.extrasr   r   r   r9   r   r   r1   r$   r"   <module>r      se      &4 44 4 4 4  k299 &K3 K3\(7 (7T= =r$   