
    uhhS"                         d dl Z d dlZd dlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZ d dlmZ d dlmZmZmZmZ  G d deej                  Z G d d          Z G d	 d
          Z G d d          ZdS )    N)MaskedArrayMaskTypeaddallequaldividegetmaskhypotlogmaskedmasked_arraymasked_valuesnomaskmr_)assert_assert_array_equalassert_equalassert_raisesc                   4    e Zd ZefdZd Zed             ZdS )MMatrixc                 \    t          j        |          }t          j        | ||          }|S )N)datamask)npmatrixr   __new__)clsr   r   mat_datas        _/var/www/histauto/venv/lib/python3.11/site-packages/numpy/matrixlib/tests/test_masked_matrix.pyr   zMMatrix.__new__   s+    ioo#Cc===    c                 p    t           j                            | |           t          j        | |           d S N)r   r   __array_finalize__r   )selfobjs     r    r$   zMMatrix.__array_finalize__   s3    
	$$T3///&tS11111r!   c                 H    |                      t                    }d|_        |S )NF)viewr   _sharedmask)r%   _views     r    _serieszMMatrix._series!   s     		+&&!r!   N)__name__
__module____qualname__r   r   r$   propertyr+    r!   r    r   r      sU         &    
2 2 2   X  r!   r   c                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
TestMaskedMatrixc           
      8   t          j        g dg dg          }t          |g dg dg          }t          |g dg dg          }t          |          }t          |           t	          |           t          t          |d                   t          |d                   u            t          |d         |d         k               t          |d         t          u            t          |d         |d                    t          |d	d
d f         |d	d
d f                    t          |d d df         |d d df                    t          |d d          |d d                     t          |d
d          |d
d                     d|d<   d|d<   t          ||           d|d	d
d f<   d|d	d
d f<   t          ||           t          |d<   t          ||           t          |d	d
d f<   t          ||           |d	d d f         |d	d d f<   t          |d<   t          t          t          |          t          j        g dg dg                               t          g dg d          |d
d d f<   t          t          t          |          d
         t          g d                               t          t          t          |d
                   t          g d                               t          g dg d          |d
d d f<   t          t          t          |d
                   t          g d                               t          t          |d
         t          g d                               t          j        t          j        d          dz            }t          |d          }t          ||           t          t          t          g dt                    |j                             t          d|j                   d S )N         )   r7   r6   r5   r   r   )r   r5   r   r   r5   r   )r5   r5   )r   r6   r   r5   r6   	   c   )r   r5   )r5   r5   r            ?      @)r   r   r   r5   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_indexingz%TestMaskedMatrix.test_matrix_indexing)   s   Y			999-.."IIIyyy#9:::"IIIyyy#9:::"BRRX$r$x..01114BtH$%%%4F"###RXr$x(((R122Y1abb5	***R1Xr!!!Q$x(((RUBqqqE"""RVRV$$$44R1abb5	1abb5	R4R1abb5	Rad81aaa44bh			999/E&F&FGGHHH			999551aaa4Qiii)@)@AABBBAiii)@)@AABBB			999551aaa4Aiii)@)@AABBBAYYY 7 788999Yry||c)**2s##RoooXFFF" " 	# 	# 	#S"-(((((r!   c           	         t          t          j        t          t	          d                              g ddz            }t	          dt
          j        dz             D ]}t          j        t          j        ||                    }t          |j
        |j
                   t          ||           t          t          |j        t          j                             d S )N
   )r5   r   r5   r   r   r6   r:   r5   )protocol)r   r   r   listrangepickleHIGHEST_PROTOCOLloadsdumpsr   _maskr   
isinstancer   )r%   aproto	a_pickleds       r    test_pickling_subbaseclassz+TestMaskedMatrix.test_pickling_subbaseclassU   s    4b		??33///A:MNNN1f59:: 	< 	<EV\!e%D%D%DEEI!'222A&&&Jy	::;;;;		< 	<r!   c                    t          t          j        ddgddgg          t          j        d                    }t	          |                    d          j        d	           t	          |                    d          j        d
           t	          |                    d          ddgg           t	          |                    d          dgdgg           d S )Nr5   r6   r7   r8   )r6   r6   r:   r   )axis)r5   r6   )r6   r5   g       @r@   g      ?g      @)r   r   r   zerosr   countshapemean)r%   ms     r    test_count_mean_with_matrixz,TestMaskedMatrix.test_count_mean_with_matrix^   s    QFQF#34428F;K;KLLLQWW!W__*F333QWW!W__*F333 	QVVV^^r2hZ000QVVV^^secU^44444r!   c           	         t          t          j        g dg          g d          }t          |j        d         d           t          |j        d         t
                     t          t          j        |j        dd         |dddf         k                         t          t          j        g dg          g d          }t          g dg d          |_        t          t          j        g dg          g d          }t          ||           t          t          j        g dg          g d          }|j        }|g d	         |d d <   t          ||           d
|d<   t          t          j        t          j        d                    d          }|j        }|d d         }t          |j	        t          j
        ddgg                     t          |j        t          j
        ddgg                     d S )Nr4   )r   r   r5   r:   r5   r6   r   )r7   r6   r5   r9   )r6   r5   r   r<   r?   g        F)r   r   r   r   flatr   r   alleyer   rF   r   )r%   testcontroltestflatrY   bb01s          r    	test_flatzTestMaskedMatrix.test_flath   s    BIyyyk22CCCTYq\1%%%TYq\6***ty1~a1f566777BIyyyk22CCC ;;;	ry)))55IIIFFFT7###BIyyyk22CCC9yyy)T7###26!99--A666FeSXrx"b
33444SXrx%(899:::::r!   c                    t          j        g dg dg dg          }t          j        |          }t          j        g dg dg dgt           j                  }t	          ||          }|d	k    }|d	k     }t          |                                            t          |                                           t          |                    d
          t          j        g d                     t          |                    d          t          j        g d          j	                   t          |                    d
          t          j        g d                     t          |                    d          t          j        g d          j	                   t          |                                            t          |                                           t          |                    d
          t          j        g d                     t          |                    d          t          j        g d          j	                   t          |                    d
          t          j        g d                     t          |                    d          t          j        g d          j	                   d S )N)gp=
ף?gp=
ף?g?)gQ?gQ?g)\(?)gףp=
?gףp=
?gffffff?)TFF)FFF)TTFrA   r:   g      ?r   )FFTr5   )TTT)
r   rF   r   boolr   r   rg   anyr   T)r%   xXrc   mXmXbigmXsmalls          r    test_allany_onmatricesz'TestMaskedMatrix.test_allany_onmatrices   sj   H(((((((((* + + IaLLH***+++)))+24'; ; ; !!$$$c8EIIKK   		UYYq\\29-A-A-A#B#BCCCUYYq\\29-A-A-A#B#B#DEEEUYYq\\29-A-A-A#B#BCCCUYYq\\29-?-?-?#@#@#BCCCGKKMM!"""W[[^^RY/B/B/B%C%CDDDW[[^^RY/D/D/D%E%E%GHHHW[[^^RY/B/B/B%C%CDDDW[[^^RY/B/B/B%C%C%EFFFFFr!   c                 L   t          t          j        g d          g d          }|                                }t	          ||           t          t          |t          j                             t          |d<   |                                }t	          |g dg           d S )N)r5   r6   r7   r8   )r   r   r   r   r:   )r   r   )r6   r7   r8   )r   r   r   
compressedr   r   rX   r   )r%   rY   rl   s      r    test_compressedz TestMaskedMatrix.test_compressed   s    <<<00|||DDDLLNNQ
1bi(()))$LLNNQ$$$$$r!   c                     t          t          j        g d          g dg          }|                                }t	          |j        d           t	          |j        j        |j                   d S )N)r5   r6   r7   r8   r>   r   r5   r   r   r   r:   )r5   r>   )r   r   r   ravelr   ra   rW   )r%   rY   aravels      r    
test_ravelzTestMaskedMatrix.test_ravel   se    ???33???:KLLLV\6***V\'11111r!   c                    t          t          t          j        d          t          j                            d                              }t          j        |          }t          |dt          fdt          fg          }d|j	        d<   |
                    t          dft          j                  }t          ||           t          t          |t          j                             t          t          |t                                d S )NrO   rY   rl   rA   r;   r   r6   )rQ   zipr   rG   randomrandrF   r   floatr   r(   r   r   r   rX   r   )r%   iteratorr   rY   ri   s        r    	test_viewzTestMaskedMatrix.test_view   s    BIbMM29>>"+=+=>>??x!!3,e)EFFFq	vvuaj"),,T4   
4++,,,Jt[11122222r!   N)r,   r-   r.   rM   r\   rd   rn   rx   r{   r   r   r0   r!   r    r2   r2   (   s        *) *) *)X< < <5 5 5; ; ;2G G G4% % %2 2 2	3 	3 	3 	3 	3r!   r2   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestSubclassingc                 j    t          j        dd          }t          |g d          }||f| _        d S )Nr>   r   rA   r}   r:   )r   rG   r   r   r%   rs   mxs      r    setup_methodzTestSubclassing.setup_method   s;    Iaw'''Q___---G			r!   c                 r    | j         \  }}t          t          |j        t          j                             d S r#   )r   r   rX   r   r   r   r   s      r    test_maskedarray_subclassingz,TestSubclassing.test_maskedarray_subclassing   s/    )B
28RY//00000r!   c                 2   | j         \  }}t          j        d          5  t          t	          t          |          t                               t          t          |          t          j        |                     d d d            d S # 1 swxY w Y   d S )Nignore)r   )r   r   errstater   rX   r
   r   r   r   s      r    test_masked_unary_operationsz,TestSubclassing.test_masked_unary_operations   s    )B[))) 	, 	,Js2ww00111Q+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s   ABBBc                    | j         \  }}t          t          t          ||          t                               t          t          t          ||          t                               t          t          ||          ||z              t          t          t          ||          j        t          j                             t          t                    5  t          j        ||           d d d            n# 1 swxY w Y   t          t          t          ||          t                               t          t          t          ||          t                               d S r#   )r   r   rX   r   r   r   r   r   r   r   	TypeErrorouterr	   r   s      r    test_masked_binary_operationsz-TestSubclassing.test_masked_binary_operations   sI   )B
3r2;;00111
3r1::w//000SQZZa(((
3r2;;,bi889999%% 	 	Ib"	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
5R=='22333
5Q<<1122222s   C<<D D c                    | j         \  }}t          |j                                         |j                  }t	          t          t          ||          t                               t	          t          t          ||          t                               t          t          ||          t          ||                     d S )Nr:   )	r   r   	__array__r   r   rX   r   r   r   )r%   rs   r   xmxs       r    test_masked_binary_operations2z.TestSubclassing.test_masked_binary_operations2   s    )B27,,..RW===
6"b>>733444
6"a=='22333VB^^VC%5%566666r!   N)r,   r-   r.   r   r   r   r   r   r0   r!   r    r   r      s_          
1 1 1
, , ,3 3 37 7 7 7 7r!   r   c                       e Zd Zd Zd ZdS )TestConcatenatorc                 F    t          t          j        j        d            d S )Nc                      t           d         S )Nz
1, 2; 3, 4r   r0   r!   r    <lambda>z6TestConcatenator.test_matrix_builder.<locals>.<lambda>   s    S-> r!   )r   r   maMAError)r%   s    r    test_matrix_builderz$TestConcatenator.test_matrix_builder   s     bem%>%>?????r!   c                 Z   t           d         }t          j                            t          j        d                   }t          ||           t          t          |          t          |                     t          t          |j                  t          |j                             d S )N)rr5   r6   r7   )	r   r   r   rF   r_r   r   rE   r   )r%   actualexpecteds      r    test_matrixzTestConcatenator.test_matrix   s     \"5;;ru\23368,,, 	T&\\4>>222T&+&&X](;(;<<<<<r!   N)r,   r-   r.   r   r   r0   r!   r    r   r      s5        @ @ @
= 
= 
= 
= 
=r!   r   )rS   numpyr   numpy.ma.corer   r   r   r   r   r   r	   r
   r   r   r   r   numpy.ma.extrasr   numpy.ma.testutilsr   r   r   r   r   r   r2   r   r   r0   r!   r    <module>r      s                                          W W W W W W W W W W W W    k29   $K3 K3 K3 K3 K3 K3 K3 K3\(7 (7 (7 (7 (7 (7 (7 (7T= = = = = = = = = =r!   