
    (ph"                         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KJr   " S S\\R4                  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_)picklec                   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        [/var/www/html/venv/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(   propertyr0   __static_attributes__r2   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?   rC   r>   )protocol)r   r   r   listranger   HIGHEST_PROTOCOLloadsdumpsr   _maskr   
isinstancer"   )r)   aproto	a_pickleds       r#   test_pickling_subbaseclass+TestMaskedMatrix.test_pickling_subbaseclassL   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@   rA   )r?   r?   rC   r   )axis)r>   r?   )r?   r>   g       @rI   g      ?g      @)r   r   r   zerosr   countshapemean)r)   ms     r#   test_count_mean_with_matrix,TestMaskedMatrix.test_count_mean_with_matrixU   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>   rC   r>   r?   r   )r@   r?   r>   rB   )r?   r>   r   rE   rH   g        F)r   r   r   r   flatr
   r   alleyer   rO   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)TTFrJ   rC   g      ?r   )FFTr>   )TTT)
r   rO   r   bool_r   r   rr   anyr   T)r)   xXrm   mXmXbigmXsmalls          r#   test_allany_onmatrices'TestMaskedMatrix.test_allany_onmatricesx   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@   rA   )r   r   r   r   rC   )r   r   )r?   r@   rA   )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@   rA   rG   r   r>   r   r   r   rC   )r>   rG   )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 )NrY   rb   rw   rJ   rD   r   r?   )r[   zipr   rP   randomrandrO   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%   r2   N)r3   r4   r5   r6   rV   re   rn   ry   r   r   r   r   r8   r2   r%   r#   r:   r:      s,    *)X<5;2G4%2	3r%   r:   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 )NrG   r   rJ   r   rC   )r   rP   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 )NrC   )	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)
r3   r4   r5   r6   r   r   r   r   r   r8   r2   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   r2   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   rO   r_r   r   rN   r   )r)   actualexpecteds      r#   test_matrixTestConcatenator.test_matrix   sa     \"55;;ruu\236, 	T&\4>2T&++&X]](;<r%   r2   N)r3   r4   r5   r6   r   r   r8   r2   r%   r#   r   r      s    @
=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   numpy.compatr   r   r   r:   r   r   r2   r%   r#   <module>r      se     &4 44 4 4 4   k299 &K3 K3\(7 (7T= =r%   