
    8`i3                         d dl Z d dlmZ d dlZd dlZd dlmc mZ d dl	mc m
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mZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZV d dlWmXZXmYZYmZZZ ej[        Z[ddZ\ G d d          Z] G d	 d
          Z^ G d d          Z_d Z`dS )    N)reduce)KMaskedArrayMaskTypeabsoluteaddallallcloseallequalalltruearangearccosarcsinarctanarctan2arrayaveragechooseconcatenate	conjugatecoscoshcountdivideequalexpfilledgetmaskgreatergreater_equalinnerisMaskedArrayless
less_equalloglog10	make_maskmaskedmasked_arraymasked_equalmasked_greatermasked_greater_equalmasked_insidemasked_lessmasked_less_equalmasked_not_equalmasked_outsidemasked_print_optionmasked_valuesmasked_wheremaximumminimummultiplynomasknonzero	not_equalonesouterproductputravelrepeatresizeshapesinsinhsometruesortsqrtsubtractsumtaketantanh	transposewherezeros)assert_assert_equalassert_raises c                 Z    t          | |          }|st          d| d|  d|            |S )NzNot eq:
z
----)r	   print)vwmsgresults       V/root/collector_daemon/venv/lib/python3.11/site-packages/numpy/ma/tests/test_old_ma.pyeqr[   [   sC    a^^F -+++q++++,,,M    c                      e Zd Zd Zd Zej                            dddg          d             Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d"S )#TestMac                    t          j        ddddt          dz  dddddddg          }t          j        g d	          }d}g d
}g d}t          ||          }t          ||          }t          j        g d          }t          |g d          }	t          j        |d|          }
|j        }|                    d           |||||||||	|
|fS )N      ?g              @      @      @      $      $@      @)rc           rf   ra   g            rg   rd   re   r`   rg   rf   )   r   r   r   r   r   ri   r   r   r   r   r   )r   r   ri   r   r   ri   ri   r   r   r   r   ri   mask)g      rg         ?g?r   ri   r   r   @xD)npr   pirM   rA   set_fill_value)selfxya10m1m2xmymzzmxfss               rZ   _create_datazTestMa._create_datad   s    Hb"b#rCxRsBBOPPHJJJKK1111111212H&&&''1<<<(((Xb%##G
%   !S"b"b!RQ66r\   c                    |                                  \  }}}}}}}}}}}t          t          |                      t          t          |                     t          t	          |          |           t          |j        |           t          |j        |j                   t          |j        t          d |                     t          t          |          t          |          t          d |          z
             t          t          ||                     t          t          t          |d          |                     t          t          ||                     d S )Nc                     | |z  S N rs   rt   s     rZ   <lambda>z)TestMa.test_testBasic1d.<locals>.<lambda>{   
    !a% r\   c                     | |z   S r   r   r   s     rZ   r   z)TestMa.test_testBasic1d.<locals>.<lambda>|   
    a!e r\   rn   )r~   rO   r!   rP   rA   dtypesizer   r   lenr[   r   )rr   rs   _rv   rx   r|   r}   s          rZ   test_testBasic1dzTestMa.test_testBasic1ds   s8   -1->->-@-@*1aQAq!RM!$$$%%%b!!"""U2YY"""RXq!!!RXqw'''RWf%7%7;;<<<U2YYB&1C1CR*H*H HIII2r

6"e$$b))***1b		r\   r}         )      c                    |                                  \  }}}}}}}}}}}||_        ||_        ||_        ||_        ||_        t          t          |                      t          t          |                     t	          t          |          |           t	          |j        |           t	          |j        t          d |                     t	          t          |          t          |          t          d |          z
             t          t          ||                     t          t          t          |d          |                     t          t          ||                     d S )Nc                     | |z  S r   r   r   s     rZ   r   z)TestMa.test_testBasic2d.<locals>.<lambda>   r   r\   c                     | |z   S r   r   r   s     rZ   r   z)TestMa.test_testBasic2d.<locals>.<lambda>   r   r\   rn   )r~   rA   rO   r!   rP   r   r   r   r   r[   r   )	rr   r}   rs   rt   r   rv   rx   ry   r|   s	            rZ   test_testBasic2dzTestMa.test_testBasic2d   sI    /3.?.?.A.A+1aQB1b!M!$$$%%%b!!"""U2YY"""RXq!!!RWf%7%7;;<<<U2YYB&1C1CR*H*H HIII2r

6"e$$b))***1b		r\   c                 	   |                                  \  }}}}}}}}}}}t          ddgddgg          }	t          |	ddgddgg          }
t          t	          |	|	z  |	|
z                       t          t	          |	|	z   |	|
z                        t          t	          |	|	z
  |	|
z
                       dD ]4}|                    |          }|                    |          }|                    |          }|                    |          }|                    |          }t          t	          | |                      t          t	          ||z   ||z                        t          t	          ||z
  ||z
                       t          t	          ||z  ||z                       t          j        dd          5  t          t	          ||z  ||z                       d d d            n# 1 swxY w Y   t          t	          ||z   ||z                        t          t	          ||z
  ||z
                       t          t	          ||z  ||z                       t          j        dd          5  t          t	          ||z  ||z                       d d d            n# 1 swxY w Y   t          t	          ||z   ||z                        t          t	          ||z
  ||z
                       t          t	          ||z  ||z                       t          t	          ||z  ||z                       t          t	          |dz  |dz                       t          t	          t          |          dz  t          |          dz                       t          t	          ||z  ||z                       t          t	          t          j	        ||          t          ||                               t          t	          t          j
        ||          t          ||                               t          t	          t          j        ||          t          ||                               t          j        dd          5  t          t	          t          j        ||          t          ||                               d d d            n# 1 swxY w Y   6d S )	Nri   r   r   r   ))   r   )r   r   ignorer   invalid      @)r~   r   r(   rO   r[   reshapero   errstateabsr   rG   r6   r   )rr   rs   rt   ru   r   rx   ry   r|   r}   a2da2dms              rZ   test_testArithmeticzTestMa.test_testArithmetic   s   /3/@/@/B/B,1c1aRAr1aVaV$%%C1a&1a&!12239cDj))***39cDj))***39cDj))***( 	= 	=A		!A		!AABABABBrB3KK   Bq1ub2g&&'''Bq1ub2g&&'''Bq1ub2g&&'''Hh??? , ,1q5"r'**+++, , , , , , , , , , , , , , ,BsQwb))***BsQwb))***BsQwb))***Hh??? / /37C"H--.../ / / / / / / / / / / / / / /Bq3wS))***Bq3wS))***Bq3wS))***Bq3wS))***BqAvrQw''(((Bs1vv}c"ggn55666BqAvrRx(()))Brva||SR[[11222Br{1a(((2r*:*:;;<<<Br{1a(((2r*:*:;;<<<Hh??? = =29Q??F2rNN;;<<<= = = = = = = = = = = = = = =7	= 	=s6   $G11G5	8G5	;$J++J/	2J/	?S  S$	'S$	c                     t          j        dg          }t          dg          }t          t          ||z   t                               t          t          ||z   t                               d S )Nri   )ro   r   rO   
isinstancer   )rr   namas      rZ   test_testMixedArithmeticzTestMa.test_testMixedArithmetic   s\    Xqc]]A3ZZ
27K00111
27K0011111r\   c                 `   |                                  \  }}}}}}}}}}}t          t          t          j        |          t	          |                               t          t          t          j        |          t          |                               t          t          t          j        |          t          |                               t          t          t          j        |          t          |                               t          t          t          j        |          t          |                               t          t          t          j	        |          t          |                               t          j
        dd          5  t          t          t          j        t          |                    t          |                               t          t          t          j        t          |                    t          |                               t          t          t          j        t          |                    t          |                               d d d            n# 1 swxY w Y   t          t          t          j        |          t          |                               t          t          t          j        |          t!          |                               t          t          t          j        |          t#          |                               t          t          t          j        |          t%          |                               t          t          t          j        ||          t'          ||                               t          t          t          j        |          t)          |                               t          t          t          j        ||          t+          ||                               t          t          t          j        ||          t-          ||                               t          t          t          j        ||          t/          ||                               t          t          t          j        ||          t1          ||                               t          t          t          j        ||          t3          ||                               t          t          t          j        ||          t5          ||                               t          t          t          j        |          t7          |                               t          t          t          j        ||f          t9          ||f                               t          t          t          j        ||f          t9          ||f                               t          t          t          j        ||f          t9          ||f                               t          t          t          j        |||f          t9          |||f                               d S )Nr   r   )r~   rO   r[   ro   r   r   rB   rC   rJ   rK   r   rF   r   r$   r%   r   r   r   r   r   r   r   r9   r"   r   r#   r   r   r   )rr   rs   rt   r   rx   ry   rz   r{   s           rZ   test_testUfuncs1zTestMa.test_testUfuncs1   s   -1->->-@-@*1aAr2q"a26!99c"gg&&'''271::tBxx(()))26!99c"gg&&'''271::tBxx(()))26!99c"gg&&'''271::tBxx(()))[(;;; 	5 	5Brws1vvR11222Brvc!ff~~s2ww//000BrxA''r33444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	26!99c"gg&&'''29Q<<,,---29Q<<,,---29Q<<,,---2:a##WR__556662;q>>8B<<0011128Aq>>5R==112222<1%%yR'8'899:::271a==$r2,,//0002:a##WR__556662=A&&
2r(:(:;;<<<2#Aq))=R+@+@AABBB2<??IbMM223332>1a&));Bx+@+@AABBB2>1a&));1v+>+>??@@@2>1a&));Aw+?+?@@AAA2>1a),,k1b!*.E.EFFGGGGGs   CJJJc           	         t          g dg d          }t          t          |          j        j        t
          j        u            t          dt          |                     t          dt          d                     t          t          dt          ddg                               |	                    d          }t          t          |          j        j        t
          j        u            t          t          t          |d          t
          j                             t          t          |          j        j        t
          j        u            t          t          dt          |                               t          t          t          |d                    t          u            t          t          ddgt          |d                               d S )	Nrg   r`   ra   rf   ri   r   r   r   rj   r   ri   r   )r   r   r   )r   rO   r   r   typero   intprP   r[   r   r   ndarrayr   r7   )rr   otts     rZ   test_xtestCountzTestMa.test_xtestCount   ss   $$$<<<888c

 %0111Qc

###Qa!!!1eAQC((())***kk&!!c

 %0111
5a=="*55666c

 %01111eCjj!!"""c1&&&0111Aq65a==))*****r\   c                 |   |                                  \  }}}}}}}}}}}t          j        |          }t          |          }t          t	          t          |          t          j        |                               t          t	          t          |          t          j        |                               d S r   )
r~   ro   r>   rO   r[   maxr4   r   minr5   )rr   rs   r   rx   xrxmrs         rZ   test_testMinMaxzTestMa.test_testMinMax   s    +/+<+<+>+>(1aAr1aAqXa[[Bii 	3r77GN3//001113r77GN3//0011111r\   c                    |                                  \  }}}}}}}}}}}t          t          t          j                            |          t	          j        |                               t          t          t          j                            |          t	          j        |                               t          t          dt          t          d          d                               t          t          dt          t          d          d                               t          t          t          j        |d          t          |d                               t          t          t          j        t          |d          d          t          |d                               t          t          t          j        |d          t          |d                               t          t          t          j
        |d          t          |d                               t          t          t          j
        |d          t          |d                               t          t          t          j
        t          |d          d          t          |d                               t          |          dk    rt          t          t          j        ||fd          t          ||fd                               t          t          t          j                            |d          t	          j        |d                               t          t          t          j        |d          t          |d                               t          t          t          j
        |d          t          |d                               d S d S )Nr   r   axisri   )r~   rO   r[   ro   r   r   
accumulaterH   r   r   prodr<   r   r   )rr   rs   rt   r   rx   ry   r}   s          rZ   test_testAddSumProdzTestMa.test_testAddSumProd   s   ,0,=,=,?,?)1aAr2q!Q26==##SZ]]3344426$$Q''):):;;<<<1c%((+++,,---1c%((+++,,---26!!$$$c!!nnn5566626&Q--a000#bq///BBCCC26!Q<<Q++,,,2711%%%wqq'9'9'9::;;;271a=='!Q--00111276"a==q111"2A...0 0 	1 	1 	1q66A::Br~q!fa00*B8Q779 9 : : :Brv}}Q**CJq!,<,<==>>>Brva||SAYY//000Brwq!}}gamm4455555 :r\   c           	      	   t          j        g d          }t          |g d          }t          |g d          }t          |          }t          |           t          |           t	          t          t          j        |          t          |d                               t	          t          |d                   t          |d                   u            t	          |d         |d         k               t	          |d         t          u            t	          t          |d         |d                              t	          t          |dd	         |dd	                              t	          t          |d d          |d d                               t	          t          |dd          |dd                               d
|d<   d
|d<   t	          t          ||                     d|dd<   d|dd<   t	          t          ||                     t          |d<   t	          t          ||                     t          |dd<   t	          t          ||                     ||d d <   t          |d<   t	          t          t          |          t          g d                               t          g dg d          |d d <   t	          t          t          |          t          g d                               t          g dg d          |d d <   t	          t          t          |          t          g d                               t	          t          |t          g d                               t          j        d	          dz  }t          |d          }t	          t          ||                     t	          t          t          g dt                    |j                             t	          t          d|j                             t          g dt"                    }t          j        g dt"                    }|d         }|d         }t%          t          |          t                     t%          t          |          t                     t%          ||           t	          |dd         j        dk               d S )N)ri   r   r   r   r   rj   )r   ri   r   ri   r   )
fill_valueri   r      	   c   r   rm   ri   r   r   r   )r   ri   ri   r   r`   rf   )r   r   r   ri   r   )ri   hellor   r   )r   )ro   r   strreprrO   r[   rE   r   r'   r
   r   r(   r   r2   r   rk   r   objectrP   rA   )rr   x1x2x3x4s1s2s          rZ   test_testCIzTestMa.test_testCI  s&   Xlll##2LLL)))2LLL)))2YYBR272;;RA 6 6 677888RUtBqE{{*+++1A1   2a5"Q%  !!!2ac7BqsG$$%%%2aaa5"QQQ%  !!!2abb62abb6""###112r

1Q31Q32r

12r

1Q32r

1111eLLL&9&9::;;;\\\<<<88111eLLL&9&9::;;;\\\<<<88111eLLL&9&9::;;;U<<<0011222Yq\\C2s##2r

9927CCDDD3&&'''%%%v..X(((&11UUT"XXs###T"XXs###R1Q3%&&&&&r\   c                    g d}t          |          }t          |          }t          ||u            t          |d          }t          ||u           t          j        d          }t	          ||          }t          |j        |u           t          t          ||j                             t          |j        |u            t	          |d          }t          |j        j        |j        j        k               t	          ||d          }t          |j        |u            t          |d         t          u            d	|d<   t          |d         t          u           t          |j        |u            t          t          |j
        d                     t	          ||d
          }	t          |	j        |u           t          |	d         t          u            d	|	d<   t          |	d         t          u           t          |	j        |u           t          t          |	j
        d                     t	          |dz  |          }
t          t          |
          j        |dz  j        u            t          d          }t          |d<   t          |d          }t          t          t          ||g          |                     t          t          t!          |          g d                     t#          |dd          }t          t          |g d                     t#          |dd          }t          t          ||                     d S )N)r   r   ri   r   r   T)copyr   rj   r   rk   r   r   r   ri   r`   r   )   )r   r   ri   r   r   r   ri   r   )r   r   r   r   r   )r   r   ri   ri   r   r   r   r   )r&   rO   ro   r   r   _datar
   _mask__array_interface__r'   rk   r   r   r@   r[   r   r   r?   )rr   nmrw   m3r   y1y1ay2y2ay3r   y4y5y6s                  rZ   test_testCopySizezTestMa.test_testCopySize@  s   OOaLLq\\Rqt$$$Yq\\2A"###RX&&'''ABQ 		-,- 	. 	. 	. 2BQ'''B1   11V#$$$B!$$%%%BQQ'''	"###A& !!!AAf$%%%	"###1%%&&&28!$$$r

 R#X$44555AYY1B;Bx(("--...72;; 8 8 899:::B1---2///00111B"""2r

r\   c                 "   t          d          }g d}t          |          }|                                }t          ||          }t	          |d         t
          u            t	          |d         t
          u            ddg|ddg<   t	          |j        |u            t	          |d         t
          u            t	          |d         t
          u           t	          t          |g d	                     t          ||d
          }|                    g dg d           t	          |j        |u           t	          |d         t
          u            t	          |d         t
          u            t	          t          |g d                     d S )Nr   )r   r   r   ri   ri   rj   r   r   
   (   ri   )r   r   r   r   Tr   )r   ri   r   )r   d      )r   r   r   r   r   )	r   r&   r   r   rO   r'   r   r[   r=   )rr   dr   r   rw   rs   s         rZ   test_testPutzTestMa.test_testPuts  ss   1IIOOaLLVVXX!!!!H1a&	1!!F"###1((())***!"4(((	iii(((r!"""!!1***++,,,,,r\   c                    t          d          }t          |g d          }t          ddgddg          }t          |d         t          u           t          |d	         t          u           ||dd
<   t          |d         t          u            t          |d	         t          u           t          t	          |g d                     t          d          }t          |g d          }|dd
         }t          ddgddg          }t          |d         t          u           t          |d	         t          u           ||d d <   t          |d         t          u            t          |d         t          u           t          t	          |ddg                     t          |d         t          u            t          |d	         t          u           t          t	          |g d                     d S )Nr   )r   r   r   r   r   rj   r   r   ri   r   r   r   r   )r   ri   r   r   r   )r   r   rO   r'   r[   )rr   r   rs   rz   rt   s        rZ   test_testPut2zTestMa.test_testPut2  s   1II!///***2r(!Q(((!F"###!F"###!A#!!F"###1'''(()))1II!///***acF2r(!Q(((!F"###!F"###!!!!!F"###1r2h   !!F"###1'''(()))))r\   c                    |                                  \  }}}}}}}}}}}g d}t          j        |          d         }t          |||           t	          t          t          ||d          |k                         d S )N)ri   r   r   r   r   r   ri   r   r   ri   r   ri   r   r   )r~   ro   r8   r=   rO   r   rI   )rr   r   ry   r{   r   is         rZ   test_testMaPutzTestMa.test_testMaPut  s    ,0,=,=,?,?)1aAq"aQ000JqMM!B2DQQ'''2-../////r\   c                    t          d          }|                    dd          }d|j        d<   t          |d         dk               |d|z  z   }t          t	          |j        |                     t          t	          |j        d|z                       t          t	          |t          |          z  j        d|z  |z                       d	|j        d
<   t          d          }t          |d<   t          t          |d                   t          t                    k               |dk    }t          t          t          |t          t                              dk               t          t          t          |t          t                              |j        k               t          ||t                    }t          |j        |j        u            t          |d         t          u            t          |d         t          u            t          |d         t          u            t          |d         t          u           t          |d         t          u           t          t	          ||                     t          |t          |          }t          |j        |j        u            t          |d         t          u            t          |d         t          u           t          |d         t          u           t          |d         t          u            t          |d         t          u            t          ||          }t          |j        |j        u            t          |d         t          u            t          |d         t          u           t          |d         t          u           t          |d         t          u            t          |d         t          u            t          t	          ||                     t          g d          }t          g d          }t          |d<   t          |||           }t          t	          |g d                     t          |d<   t          |||           }t          t	          |g d                     t          |d         t          u            t          |d         t          u           t          |d         t          u            t          t	          t          t!          |d          |          t#          |d                               t          t	          t          t%          |d          |          t'          |d                               t          t	          t          t)          |d          |          t+          |d                               t          t	          t          t-          |d          |          t/          |d                               t          t	          t          t1          |d          |          t3          |d                               t          t	          t          t5          |d          |          t7          |d                               t          t	          t          t1          |d          |          t3          |d                               t          t	          t9          t;          t=          d                    dd          g d                     t          t	          t?          t;          t=          d                    dd          g d                     t          t	          t9          t          t;          t=          d                    g d          dd          j         g d                     t          t	          t?          t          t;          t=          d                    g d          dd          j         g d                     t          t	          t7          t          t;          t=          d                    g d          d          j         g d                     t          t	          t3          t          g dg d          d          j         g d                     t          t	          t          g dg d           g d!                     tC          d"tD          j#        #          }tI          |j        tJ                    }t          ||          }t          t	          ||                     tM          || |f          }t          t	          |g d                     t          |d         t          u            t          |d         t          u           t          |d         t          u            t          d$          }t          |d<   t          d$          dz  }t          |d<   t          g d%g d&          }|'                    d          }t          |||          }t          |||          }	t          t	          ||	                     t          tQ          |	          tR          u            t          t	          |	g d'                     t          |t          d          }t          t	          |g d(                     t          |dt                    }t          t	          |g d)                     d S )*N   r   r   r   )ri   r   y              $@r   e   rg   .r   r   r      r   )r`   ra   rf   rb   rc   )ri   ri   ri   r   r   r   )r`   ra   rg   rh   ri   )r      r   r   r   )r   ri   r   r   r   )ri   r   r   r   r   rj   )ri   ri   ri   ri   r   )r   ri   r   r   r   )ri   ri   r   r   ri   )ri   r   ri   r   r   )r   r   ri   r   ri   )ri   r   ri   r   ri   )ri   ri   r   r   r   )ri   r   r   r   r   )r   r   r   r   r   )r   r   r   )r   r   )ri   ri   ri   r   r   r   )ri   r   r   r   r   r   )r   ri   r      r   2   )r   r   r   ri   ri   ri   )r   ri   ri   r   r   r   )*r   r   flatrO   r[   realimagr   r'   r   r   rM   rA   r   r3   r   r   r*   r   r+   r"   r-   r#   r.   r9   r/   r   r)   r,   listranger0   rk   r:   ro   float32rN   r   r   r   r   r7   )
rr   rs   rz   catestbtestctestrt   cmr{   s
             rZ   test_testOddFeatureszTestMa.test_testOddFeatures  s	   2JJIIaOOq	$2aK1611626""###A	!$*C!GaK88999s2JJ!AaD		S[[()))FeAvv..//14555eAvv..//17:;;;!Q17"###!!!!F"###!F"###1a!VQ17"###!!F"###!F"###!!A17"###!!F"###!F"###!!1a&&&''///""!!QOO1+++,,---!!QOO1+++,,---!!F"###!<1q11>!Q3G3GHHIII<a 3 3Q77'1--/ / 	0 	0 	0<Q

A..Aq0A0ABBCCC<
1a 0 0!446G16M6MNNOOO<	!Q335Ea5K5KLLMMM<aQ//a1C1CDDEEE<	!Q335Ea5K5KLLMMM=eAhhA668M8M8MNNOOO>$uQxx..!Q779L9L9LMMNNN=tE!HH~~,;OO"= "= "=>?D DDH"??$ $ 	% 	% 	% 	>%U1XX-<__#> #> #>?@!E EEI"??$ $ 	% 	% 	% 	<d588nn+:??!< !< !<=>@ @@D"??$ $ 	% 	% 	% 	#E////>%@ %@ %@ABD DDH"??$ $ 	% 	% 	% 	<AA$$$& & 	' 	' 	'\444ek8,,UE**5%  !!!1r1g1+++,,---!!F"###!1II!1IIN!$$$+=+=+=>>>XXa[[!QNN2q!__1b		v%&&&2,,,--...!VQ1+++,,---!Q1,,,--.....r\   c                    t          t          t          g dg d          g d                     t          t          t          g dg d          g d                     t	          d          }t	          d          dz
  }t
          |d<   t
          |d<   t          t          t          ||          t          t          ||          ||                               t          t          t          ||          t          t          ||          ||                               t          t          j	        |          dk               t          t          j	        |          d	k               d S )
N)ri   r   r   )r   r   r   )ri   r   r   )r   r   r   r   r   r   r   r   )
rO   r[   r5   r4   r   r'   rM   r"   r   r   )rr   rs   rt   s      rZ   test_testMinMax2zTestMa.test_testMinMax2  s2   7999iii00)))<<===7999iii00)))<<===1II1IIM!!71a==%Q

Aq"9"9::;;;71a==%1q!"<"<==>>>q!!Q&'''q!!Q&'''''r\   c                     t          d          }t          j         d          }t          |dd<   |                    ddd          }|                    ddd          }t	          t          t          j        |d          t          |d                               t	          t          t          j        |dd          t          |dd                               t	          t          t          j        t          |d	          t          |d	                    t          ||                               t	          t          t          j
        t          |d	          t          |d	                    t          ||                               t          g d
t                    }t          |d<   t          |g d          }t	          |d	         dk               t	          |d         dk               t	          |d         dk               d S )N   r   r   r   r   r   )r   r   ri   ri   r   )abcri   defr   r   )r   r   r   r  )r   ro   r'   r   rO   r[   rL   rI   r    r   r;   r   r   )rr   rs   rt   ts       rZ    test_testTakeTransposeInnerOuterz'TestMa.test_testTakeTransposeInnerOuter  s   2JJIbMM!A#IIaAIIaA2<9--yI/F/FGGHHH271i++T!Y-B-BCCDDD28F1aLL&A,,77A;;    	! 	! 	!28F1aLL&A,,77A;;    	! 	! 	!)))622!III!!	!	r\   c                    t          d          }t          d          }t          d          }t          |d<   |dz  }t          t          ||dz                        |dz  }t          t          ||dz                        t          d          }t          d          }t          |d<   |dz  }t          t          ||dz
                       |dz  }t          t          ||dz
                       t          d          dz  }t          d          dz  }t          |d<   |dz  }t          t          ||dz                       |dz  }t          t          ||dz                       t          d          dz  }t          d          }t          |d<   |dz  }t          t          ||                     |dz  }t          t          ||                     t          d          dz  }t          d          dz  }t          |d<   |dz  }t          t          ||dz                       |t          d          z  }t          t          |t	          d                               t          d                              t          j                  }t          d          }t          |d<   |dz  }t          t          ||dz                        d S )Nr   r   ri   r`   ra   )r   )r   r'   rO   r[   r:   astypero   r   )rr   rt   rs   rx   s       rZ   test_testInplacezTestMa.test_testInplace0  sy   2JJ2JJBZZ1	Q1a!e
a1a!e2JJBZZ1	Q1a!e
a2q1u2JJBZZ#1	S1a!e
c	2q1u2JJNBZZ1	a1a
q1a2JJBZZ#1	S1a#g
fRjj2tE{{##$$$2JJbj))BZZ1	R1a"fr\   c                 8   t          d          }t          |ddd<   |                    dd          }t          dt          j        dz             D ]I}t	          j        ||          }t	          j        |          }t          t          ||                     Jd S )Nr   r   r   r   r   ri   )protocol)
r   r'   r   r   pickleHIGHEST_PROTOCOLdumpsloadsrO   r[   )rr   rs   protor}   rt   s        rZ   test_testPicklezTestMa.test_testPickleb  s    2JJ!Bq&	IIaOO1f59:: 	 	EQ///AQABq!HH	 	r\   c                    t          d          }t          |d<   t          t          t                    dk               t          |d         t          u            t	          t          |d         d          d           d S )Nr   ri   z--r   )r   r'   rO   r   rP   r   )rr   xxs     rZ   test_testMaskedzTestMa.test_testMaskedl  si    AYY1Ft#$$$1   VBqE1%%q)))))r\   c           
         t          g dg d          }t          t          dt          |d                               t          t          dt          |g d                               t          |g dd	
          \  }}t          t          d|                     t          |dk               t          |d d <   t          t          |d          t          u            t          g dg d          }|                    dd          }t          |d d df<   t          t          t          |d          ddg                     t          t          |d          d         t          u            t          t          ddgt          |d                               t          |dd	          \  }}t          t          |ddg                     d S )Nr   r   rj   ra   r   r   )r`   r`   ra   r`   weightsTr  returnedrb   r   ri   rg   r   r  r`   )r   rO   r[   r   r'   r   )rr   r   rY   wtss       rZ   test_testAverage1zTestMa.test_testAverage1t  s   $$$<<<8883!,,,--...3-=-=-=>>>??@@@c+;+;+;dKKK3   s
AAA!$$$.///$$$<<<888kk!QAAAqD	73Q'''#s44555!$$$Q'61222B8WSq11122333cD9993R!!"""""r\   c           
      T   g d}g dg dg}t          d          }t          t          t          |d          d                     t          t          t          |d|          d                     t	          t          d          dt          d          z  g          }t          t          t          |d           t
          j                            t          j         d                    d	z  d
z                       t          t          t          |d          t          j         d          d	z  dz                       t          t          t          |d          t          |d          t          |d          dz  g                     t          t          t          |d |          d                     t          t          t          |d|          g d                     t          t          t          |d          t          |d          t          |d          dz  g                     t          d          }g d}g dg dg}t          d          }g d}	t          t          t          t          ||          d          d                     t          t          t          t          ||          d          d                     t          t          t          ||          d          t          u            t          t          t          ||	          d          d           t          t          t          t          ||          d                    d           t          ||          }
t          t          t          |
d           d                     t          t          t          |
d          g d                     t          t          t          |
d          ddg                     t          t          t          |
d|          g d                     t          d          }t          d          dz  }t          ||g||ggdd          \  }}t          t          |          t          |                     t          |j        |j                   t          t          d          dddgd          \  }}t          t          |          t          |                     t          t          d          d          \  }}t          t          |          t          |                     t          t          d          t          d          d          \  }}t          t          |          t          |          k               t	          ddgddggt                    }t          |ddgddgg          }t          |d          }t          t!          |dd	g                     t          |d          }t          t!          |dd	g                     t          |d           }t          t!          |d                      t          |d          }t          t!          |d!d"g                     d S )#N)r   ri   ri   ri   ri   r   )ri   r   r   r   r   ri   r   r   r   r   )r   r  ra   rf   g      (@ri   r  g
@)rg   r`   ra   rf   rb   re   )r   r   ri   ri   r   r   )r   ri   ri   ri   ri   ri   rg   )rg   r`        X@r!  rb   g      @rc   )rg   r`   r!  r!  rb   re   r   Tr  )r   r   r   )r   r  r  )r  r  r   r   rl   r`   g@g      ?rb   )r   rO   r	   r   r   ro   r   r   rN   r:   r(   r'   rP   r   rA   floatr[   )rr   w1w2rs   rt   rv   rw   r   m4m5rz   abr1r2r   r   a2daa2dmas                      rZ   test_testAverage2zTestMa.test_testAverage2  sF      "4"4"451II+++S11222B777==>>>6!99cF1IIo.//D))!#ry||!<!<r!AC!GI I 	J 	J 	J+++RYq\\B->-CDDEEE+++")!!"4"4"4gaa6H6H6H36N!OQ Q 	R 	R 	RD"555x@@AAAB777!:!:!:< < 	= 	= 	=+++")!!"4"4"4gaa6H6H6H36N!OQ Q 	R 	R 	R1XX   "4"4"45!WWa!4!41===sCCDDDa!4!41===sCCDDDQ++!444>???W\!R00q9993???U7<2#6#6Q???@@!DDDBD))844555+++!=!=!=? ? 	@ 	@ 	@+++c3Z88999B777!>!>!>@ @ 	A 	A 	A 1II1IIM1a&1a&)DAAABU2YYb		***RXrx(((iq1a&4PPPBU2YYb		***i4888BU2YYb		***i$y//DQQQBb		U2YY&'''aVaV$e,,C1a&1a&!122s###4#s$$%%%1%%%53*%%&&&4(((5'""###1%%%53*%%&&&&&r\   c           	      d   t          dt          t          d                               t          dt          t          d                               t          dt          t          dggg                               t          dt          t          dgg                               t	          t
          t          t          ddg                     t	          t          t          t          ddg                     t	          t          t          t          ddgddg                     d S )Nri   r`   r   rj   )rP   intr   r"  rQ   	TypeError
ValueErrorboolrr   s    rZ   test_testToPythonzTestMa.test_testToPython  s    QE!HH&&&S%a//***QEQC5'NN++,,,S%se--...iq!f666j$q!f666j$q!fAq6(B(B(BCCCCCr\   c                    t          dd          }t          j        d          5  t          dt          d          z  j                   d d d            n# 1 swxY w Y   t          d|z   j                   t          | j                   t          | j                   t          t          ||          j                   t          t          ||          j                   t          |                                j        |j	        j        u            t          dd          }t          |                                |j	        k               t          t          |          t          t                               d S )Nr   ri   rj   r   r   )r   ro   r   rO   rk   r4   r5   r   r   r   rP   r   r1   )rr   rx   rs   s      rZ   test_testScalarArithmeticz TestMa.test_testScalarArithmetic  sw   11[))) 	) 	)Qq\'(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)R"
"
B$%%%B$%%%		!RX^3444!!

ag%&&&SWWc"56677777s   %AAAc                    t          g d          }t          t          |                                |j                                                             t          t          |                                |j                                                             t          t          |                                |j                                                             t          t          |                                |j                                                             t          t          |                    ddddd          |j                            ddddd                               t          t          |	                    g d          |j        	                    g d                               t          t          |
                                |j        
                                                     t          t          |                                |j                                                             t          ddgddgg          }t          t          |                                |j                                                             t          t          |                                |j                                                             t          t          |                    ddg          |j                            ddg                               t          t          |                                |j                                                             d S )Nri   r   r   r   ri   r   r   r   ri   r   ri   )r   rO   r[   anyr   r   argmaxargminr   compressconjr   diagonalrH   rI   rL   )rr   r'  r   s      rZ   test_testArrayMethodszTestMa.test_testArrayMethods  s~   )))15577AGKKMM**+++15577AGKKMM**+++188::qw~~//00111188::qw~~//00111188Aq!Q**7>>!Q1a88: : 	; 	; 	;1::iii((!'*:*:999*E*EFFGGG16688QW\\^^,,---1;;==!'"3"3"5"566777Aq6Aq6"##1::<<!1!1!3!34455515577AGKKMM**+++1661a&>>17<<A#7#7889991;;==!'"3"3"5"56677777r\   c                 R    t          g d          }t          |j        d           d S )Nr9  ri   )r   rP   ndimrr   r'  s     rZ   test_testArrayAttributeszTestMa.test_testArrayAttributes  s+    )))QVQr\   c                 h    t          d t          t          j                  D                         d S )Nc                 h    g | ]/}|t          t                    v|                    d           -|0S )r   )dirr   
startswith).0r   s     rZ   
<listcomp>z'TestMa.test_testAPI.<locals>.<listcomp>  sH     , , ,1[!1!111c** 2 111r\   )rO   rH  ro   r   r3  s    rZ   test_testAPIzTestMa.test_testAPI  sF     , ,BJ , , , , 	- 	- 	- 	- 	-r\   c                     t          g d          }t          g dg d          }t          |d         j        d           t          |d         j        d           t          |d         j        d           d S )Nr9  r:  rj   r   r   ri   )r   rP   rA   )rr   r'  r(  s      rZ   test_testSingleElementSubscriptz&TestMa.test_testSingleElementSubscript  su    ))))))))),,,QqTZ$$$QqTZ$$$QqTZ$$$$$r\   c                 ~    t          g dg d          }|dk    }d||<   t          |d         t          u            d S )Nr   )ri   r   ri   r   rj   r   r   r   )r   rO   r'   )rr   r'  r   s      rZ   test_assignment_by_conditionz#TestMa.test_assignment_by_condition  sJ    ,,,\\\222F!!r\   c                     t          ddgddg          }t          ddgddg          }|dk     }||         ||<   ddg}t          |j        |           d S )Nr   ri   Frj   T)r(   rP   rk   )rr   r'  r(  rk   expected_masks        rZ   test_assignment_by_condition_2z%TestMa.test_assignment_by_condition_2  sm    !Quen555!QtTl3331uD'$QV]+++++r\   N)$__name__
__module____qualname__r~   r   pytestmarkparametrizer   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r  r  r-  r4  r7  rA  rE  rL  rN  rP  rS  r   r\   rZ   r^   r^   b   s	       7 7 7   [S66"233  43&$= $= $=L2 2 2H H H>+ + +2 2 26 6 6*0' 0' 0'd1 1 1f- - -,* * *40 0 0c/ c/ c/J( ( (  (0 0 0d  * * *# # #&8' 8' 8'tD D D8 8 88 8 8"     - - -
% % %     , , , , ,r\   r^   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )
TestUfuncsc                     t          dddt          dz  gdz  ddgdgdz  z             t          dddt          dz  gdz  ddgdgdz  z             fS )Nr`   r   r   r   ri   r   rj   )r   rp   r3  s    rZ   r~   zTestUfuncs._create_data  sp    sAr26*Q.aVqcAg5EFFFaR!V,q01va7GHHHK 	Kr\   c           	         g d}dD ]L}	 t          t          |          }n%# t          $ r t          t          |          }Y nw xY wt          t          j        |          }|                                 d |j                 }t	          j                    5  ||v rt	          j	        d           |dv rt	          j	        d            || } || }d d d            n# 1 swxY w Y   t          t          |                    d          |                    d          |                     t          t          |j        |j                             Nd S )N)rF   arctanhr   r   arccoshr^  r$   r%   r   true_dividefloor_divide	remainderfmod)*rF   r$   r%   r   r   rB   r   rJ   r   r   r   rC   r   rK   arcsinhr_  r^  r   fabsnegativefloorceillogical_notr   rG   r6   r   r`  ra  rb  rc  hypotr   r   r9   r#   r   r"   r   logical_and
logical_orlogical_xorr   )r   )r^  r$   r%   r6  r   )getattrumathAttributeErrorfromnumericro   r   r~   ninr   seterrrO   r[   r   eqmaskrk   )rr   f_invalid_ignorefufmfargsurmrs           rZ   test_testUfuncRegressionz#TestUfuncs.test_testUfuncRegression  s   @ @ @> 	. 	.A -UA&&! - - -[!,,-""B$$&&ww/D  (((Ih////333IX....RYRY               Bryy||RYYq\\155666F27BG,,----=	. 	.s!   !AA=CC!	$C!	c                 @   |                                  d         }t          t          |d                      t          t          |d                     t	          t          |d d         d          d           t	          t          |d          d           d S )Nr   r   r   )r~   rO   r   rD   rP   rH   r<   rD  s     rZ   test_reducezTestUfuncs.test_reduce6  s    "GAA&&&&'''###$$$S2A2Q'''+++WQQ'''+++++r\   c                    t          dd                              dd          }t          |dk     |          }t          |                                |                                           t          |                                d           t          |                    d          |                    d          k                                               t          |                    d          g dk                                               t          |                    d          d         j                   t          |                    d          d         j                   d S )Nri      r   r   r   r   )r   r   r   r   )	r   r   r3   rP   r   r   rO   r   rk   )rr   r'  amasks      rZ   test_minmaxzTestUfuncs.test_minmax=  s   1bMM!!!Q''QUA&&UYY[[!%%''***UYY[[!$$$1q)..001111-2244555		!Q$%%%		!Q$%%%%%r\   c                     dD ]B}t          g dg d          }t          t          t          |          dg                     Cd S )Nz?bhilqpBHILQPfdgFDGO)ri   r   r   r   )r   r   ri   ri   rj   r   )r   rO   r[   r8   )rr   r  rs   s      rZ   test_nonzerozTestUfuncs.test_nonzeroG  sX    ' 	) 	)Alll666ABwqzzA3''((((	) 	)r\   N)rT  rU  rV  r~   r|  r~  r  r  r   r\   rZ   r[  r[    sc        K K K#. #. #.J, , ,& & &) ) ) ) )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 )
TestArrayMethodsc                    t          j        g d          }|                    dd          }|                    dddd          }t          j        g d          }t          ||          }t          ||                    |j                            }t          ||                    |j                            }|||||||fS )N)$g      @gGz.@g-!@g      !@g&1?gʡE@g\( @gQ@g{G#@gPn@gh|?!@g!rh@gjt@gJ+@gzGa@g!rh@gʡE@g-@g)\(@g(\B#@g+@guV@g~j@g"~@gK7@g
ףp=J#@gGz@gMb@g}?5^#@g/$@g!rhm@g-#@gJ+@gMb@gʡ@g-?r   r   r   )$r   ri   r   ri   r   r   ri   r   ri   ri   r   ri   r   r   r   ri   r   ri   r   r   r   ri   ri   ri   ri   r   r   ri   r   r   r   r   ri   r   ri   r   )datark   )ro   r   r   rA   )rr   rs   XXXr   mxmXmXXs           rZ   r~   zTestArrayMethods._create_dataO  s    H @ @ @ A A IIaOOYYq!Q""H ( ( ( ) ) """		!' 2 2333!))BH"5"5666!RBC''r\   c                    |                                  \  }}}}}}}|                                }t          |                                |                                                                                                           t          t          |                                |                                t          |j        |                                z  d          z
                       d S )Nr   r   )	r~   r@  rP   trace
compressedrH   rO   r[   rk   )rr   r   r  r  mXdiags        rZ   
test_tracezTestArrayMethods.test_tracee  s    #00221aAr1RXXZZ!9!9!;!;!?!?!A!ABBB288::7799s6;+E01(3 (3 (3 34 4 	5 	5 	5 	5 	5r\   c           	         |                                  \  }}}}}}}|                    dd          }t          t          |j        |j                             t          t          |j        |                    dd                               t          t          |j        |j                            dd                               d S )Nr   r   )r~   cliprO   r[   rk   r   )rr   rs   r   r  clippeds        rZ   	test_clipzTestArrayMethods.test_clipm  s    #00221aB1''!Q--7<))***7=!&&A,,//0007="(--1"5"56677777r\   c                 &   |                                  \  }}}}}}}|j        \  }}t          |                                t	          j        |                                                     t	          j        |t          j                  }t	          j        |t          j                  }t          |          D ]5}	t	          j        |d d |	f                                                   ||	<   6t          |          D ]1}	t	          j        ||	                                                   ||	<   2t          t          |                    d          |                     t          t          |                    d          |                     d S )Nr   ri   )r~   rA   rP   ptpro   r  rN   float64r   rO   r[   )
rr   r   r  r   r  r  r   rowscolsks
             rZ   test_ptpzTestArrayMethods.test_ptpt  sE    $ 1 1 3 31aBAw1 	RVVXXrvbmmoo66777x2:&&x2:&&q 	4 	4AfR1X002233DGGq 	1 	1AfRU--//00DGG266!99d##$$$266!99d##$$$$$r\   c                    |                                  \  }}}}}}}|                    dd          }t          t          |d         |d d df                              |                    dd          }t	          |j        d           d S )Nr   ri   r   r   )r   r   r   r   )r~   swapaxesrO   r[   rP   rA   )rr   r   r  r  	mXswapped
mXXswappeds         rZ   test_swapaxeszTestArrayMethods.test_swapaxes  s    !%!2!2!4!41aAr3KK1%%	9R="QQQU),,---\\!Q''
Z%|44444r\   c                    |                                  d         }|                    d          }t          t          |j        |                    d                              d                               |                    d          }t          t          |j        |                    d                              d                               d S Nr   r   ri   )r~   cumprodrO   r[   r   r   rr   r  mXcps      rZ   test_cumprodzTestArrayMethods.test_cumprod  s      #zz!}}4:ryy||33A6677888zz!}}4:ryy||33A667788888r\   c                    |                                  d         }|                    d          }t          t          |j        |                    d                              d                               |                    d          }t          t          |j        |                    d                              d                               d S r  )r~   cumsumrO   r[   r   r   r  s      rZ   test_cumsumzTestArrayMethods.test_cumsum  s      #yy||4:ryy||2215566777yy||4:ryy||221556677777r\   c           	      H   |                                  \  }}}}}}}t          t          |                    d           |                                                                                     t          t          |                    d           |                                                                                     t          t          |                    d          j        |                    d          j                             t          t          |                                j        |                                j                             |                    d          |                    d          }}t          d          D ]}t          t          ||         ||                                                                                              t          t          ||         |d d |f                                                                                              t          t          t          j	        ||                   |d d |f                                                                                              d S )Nr   r   r   ri   r   )
r~   rO   r[   varr  stdrA   r   ro   rF   )	rr   r   r  r  r  r  mXvar0mXvar1r  s	            rZ   test_varstdzTestArrayMethods.test_varstd  s
   "&"3"3"5"51b!QC266t6$$bmmoo&9&9&;&;<<===266t6$$bmmoo&9&9&;&;<<===3777??("&&a&..*>??@@@26688>15577=11222FFFNNBFFFNNq 	= 	=ABvay"Q%"2"2"4"4"8"8":":;;<<<Bvay"QQQT("5"5"7"7";";"="=>>???Brwvay))!!!!Q$x224488::< < = = = =	= 	=r\   N)rT  rU  rV  r~   r  r  r  r  r  r  r  r   r\   rZ   r  r  M  s        ( ( (,5 5 58 8 8% % %5 5 59 9 98 8 8= = = = =r\   r  c                 z    | t           u r	|t           u S |t           u r	| t           u S | |k                                    S r   )r7   r   )rv   rw   s     rZ   rt  rt    s<    	V||V|	V||V|"H>>r\   )rR   )ar  	functoolsr   rW  numpyro   numpy._core.fromnumeric_corerq  numpy._core.umathro  numpy.mar   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/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   numpy.testingrO   rP   rQ   rp   r[   r^   r[  r  rt  r   r\   rZ   <module>r     s               - - - - - - - - - ! ! ! ! ! ! ! ! !L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L LZ ? > > > > > > > > >U   f
, f
, f
, f
, f
, f
, f
, f
,R?) ?) ?) ?) ?) ?) ?) ?)DV= V= V= V= V= V= V= V=r    r\   