
    H/Ph                         d dl mZ d dl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 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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZ ej[        Z[ddZ\ G d d          Z] G d	 d
          Z^ G d d          Z_d Z`dS )    )reduceN)assert_assert_raisesassert_equal)KMaskTypeMaskedArray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 c                 Z    t          | |          }|st          d| d|  d|            |S )NzNot eq:
z
----)r   print)vwmsgresults       Z/var/www/html/test/jupyter/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| _        d 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   pirP   rD   set_fill_valuedselfxya10m1m2xmymzzmxfss               rZ   setup_methodzTestMa.setup_method&   s    Hb"b#r#vr2tS"b"MNNHJJJKK1111111212H&&&''1<<<(((Xb%##G
%   QRRQB:r\   c                    | j         \  }}}}}}}}}	}
}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 ru   rv   s     rZ   <lambda>z)TestMa.test_testBasic1d.<locals>.<lambda>=   s
    Q r\   c                     | |z   S r   r   r   s     rZ   r   z)TestMa.test_testBasic1d.<locals>.<lambda>>   s
    QU r\   rn   )rr   r   r$   r   rD   dtypesizer   r   lenr[   r   rs   s               rZ   test_testBasic1dzTestMa.test_testBasic1d5   s.   48F1AsBBAr2qM!$$$%%%b!!"""U2YY"""RXq!!!RXqw'''RWf%6%6::;;;U2YYB&1B1BB*G*G GHHH2r

6"e$$b))***1b		r\   r         )      c                    | j         \  }}}}}}}}	}
}}||_        ||_        ||_        ||_        ||_        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>Q   s
    !a% r\   c                     | |z   S r   r   r   s     rZ   r   z)TestMa.test_testBasic2d.<locals>.<lambda>R   s
    a!e r\   rn   )rr   rD   r   r$   r   r   r   r   r   r[   r   )rt   r   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   s               rZ   test_testBasic2dzTestMa.test_testBasic2dC   s?    59F1AsBBAr2qM!$$$%%%b!!"""U2YY"""RXq!!!RWf%7%7;;<<<U2YYB&1C1CR*H*H HIII2r

6"e$$b))***1b		r\   c                 	   | j         \  }}}}}}}}}	}
}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      @)rr   r   r+   r   r[   reshapero   errstateabsr
   rJ   r9   r   )rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   a2da2dms                 rZ   test_testArithmeticzTestMa.test_testArithmeticW   s   48F1AsBBAr2q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   4$G$$G(	+G(	.$JJ"	%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   r   
isinstancer   )rt   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                 F   | j         \  }}}}}}}}}	}
}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   )rr   r   r[   ro   r   r   rE   rF   rM   rN   r   rI   r   r'   r(   r   r   r   r   r   r	   r   r<   r%   r!   r&   r"   r   r   rs   s               rZ   test_testUfuncs1zTestMa.test_testUfuncs1   s   48F1AsBBAr2q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I::I>I>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   r   r   r   typero   intpr   r[   r   r   ndarrayr    r:   )rt   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                 b   | j         \  }}}}}}}}}	}
}t          j        |          }t          |          }t          t	          t          |          t          j        |                               t          t	          t          |          t          j        |                               d S r   )
rr   ro   rA   r   r[   maxr7   r   minr8   )rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   xrxmrs                 rZ   test_testMinMaxzTestMa.test_testMinMax   s    48F1AsBBAr2qXa[[Bii 	3r77GN3//001113r77GN3//0011111r\   c                    | j         \  }}}}}}}}}	}
}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   )rr   r   r[   ro   r
   r   
accumulaterK   r   r   prodr?   r   r   rs   s               rZ   test_testAddSumProdzTestMa.test_testAddSumProd   s   48F1AsBBAr2q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reprr   r[   rH   r   r*   r   r    r+   r   r5   r   rk   r   objectr   rD   )rt   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)   r   ro   r   r   _datar   _mask__array_interface__r*   rk   r   r   rC   r[   r   r    rB   )rt   nmry   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   r   r*   r   r[   r@   )rt   rr   r   r   ry   ru   s         rZ   test_testPutzTestMa.test_testPut5  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   r   r*   r[   )rt   rr   ru   r|   rv   s        rZ   test_testPut2zTestMa.test_testPut2K  s   1II!///***2r(!Q(((!F"###!F"###!A#!!F"###1'''(()))1II!///***acF2r(!Q(((!F"###!F"###!!!!!F"###1r2h   !!F"###1'''(()))))r\   c                     | j         \  }}}}}}}}}	}
}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   )rr   ro   r;   r@   r   r   rL   )rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   is                 rZ   test_testMaPutzTestMa.test_testMaPute  s|    48F1AsBBAr2q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   flatr   r[   realimagr   r*   r   r   rP   rD   r   r6   r   r!   r-   r"   r.   r%   r0   r&   r1   r<   r2   r   r,   r/   listranger3   rk   r=   ro   float32rQ   r   r   r   r    r:   )
rt   ru   r|   catestbtestctestrv   cmr}   s
             rZ   test_testOddFeatureszTestMa.test_testOddFeaturesl  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   )
r   r[   r8   r7   r   r*   rP   r%   r!   r   )rt   ru   rv   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   r   r[   rO   rL   r#   r   r>   r   r   )rt   ru   rv   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*   r   r[   r=   astypero   r   )rt   rv   ru   rz   s       rZ   test_testInplacezTestMa.test_testInplace  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loadsr   r[   )rt   ru   protor   rv   s        rZ   test_testPicklezTestMa.test_testPickle$  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*   r   r   r   r   )rt   xxs     rZ   test_testMaskedzTestMa.test_testMasked.  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   r   r[   r   r*   r   )rt   r   rY   wtss       rZ   test_testAverage1zTestMa.test_testAverage16  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   r   r   r   r   ro   r
   r   rQ   r=   r+   r*   r   r   rD   floatr[   )rt   w1w2ru   rv   rx   ry   r   m4m5r|   abr1r2r   r   a2daa2dmas                      rZ   test_testAverage2zTestMa.test_testAverage2I  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"4gaa6H6H6H6L!MO O 	P 	P 	PD"555x@@AAAB777!:!:!:< < 	= 	= 	=+++")!!"4"4"4gaa6H6H6H6L!MO O 	P 	P 	P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   )r   intr   r   r   	TypeError
ValueErrorboolrt   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   r   rk   r7   r8   r   r   r   r   r   r4   )rt   rz   ru   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   r   r[   anyr   r   argmaxargminr   compressconjr   diagonalrK   rL   rO   )rt   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 )Nr7  ri   )r   r   ndimrt   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 )_)dirr   
startswith).0r   s     rZ   
<listcomp>z'TestMa.test_testAPI.<locals>.<listcomp>  sH     , , ,1[!1!111c** 2 111r\   )r   rG  ro   r   r1  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 )Nr7  r8  rj   r   r   ri   )r   r   rD   )rt   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   r   r*   )rt   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+   r   rk   )rt   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+  r2  r5  r?  rC  rK  rM  rO  rR  r   r\   rZ   r^   r^   $   s	       ; ; ;   [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| _        d S )Nr`   r   r   r   ri   r   rj   )r   rp   rr   r1  s    rZ   r   zTestUfuncs.setup_method  sr    aR!V,q01va7GHHHaR!V,q01va7GHHHKr\   c           	         g d}dD ]?}	 t          t          |          }n%# t          $ r t          t          |          }Y nw xY wt          t          j        |          }| 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                             Ad S )N)rI   arctanhr   r   arccoshr]  r'   r(   r   true_dividefloor_divide	remainderfmod)*rI   r'   r(   r   r   rE   r   rM   r   r   r   rF   r   rN   arcsinhr^  r]  r	   fabsnegativefloorceillogical_notr
   rJ   r9   r   r_  r`  ra  rb  hypotr   r   r<   r&   r"   r%   r!   logical_and
logical_orlogical_xorr   )r   )r]  r'   r(   r4  r   )getattrumathAttributeErrorfromnumericro   r   rr   ninr   seterrr   r[   r   eqmaskrk   )rt   f_invalid_ignorefufmfargsurmrs           rZ   test_testUfuncRegressionz#TestUfuncs.test_testUfuncRegression  s   @ @ @> 	. 	.A -UA&&! - - -[!,,-""B6'26'?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                 &   | j         d         }t          t          |d                      t          t          |d                     t	          t          |d d         d          d           t	          t          |d          d           d S )Nr   r   r   )rr   r   r   rG   r   rK   r?   rB  s     rZ   test_reducezTestUfuncs.test_reduce  s    F1I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   r6   r   r   r   r   r   rk   )rt   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   r   r[   r;   )rt   r  ru   s      rZ   test_nonzerozTestUfuncs.test_nonzero  sX    ' 	) 	)Alll666ABwqzzA3''((((	) 	)r\   N)rS  rT  rU  r   r{  r}  r  r  r   r\   rZ   rZ  rZ    sc        K K K#. #. #.J, , ,& & &) ) ) ) )r\   rZ  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| _        d 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   rD   rr   )rt   ru   XXXr   mxmXmXXs           rZ   r   zTestArrayMethods.setup_method  s    H @ @ @ A A IIaOOYYq!Q""H ( ( ( ) ) """		!' 2 2333!))BH"5"5666QAr2s+r\   c                    | j         \  }}}}}}}|                                }t          |                                |                                                                                                           t          t          |                                |                                t          |j        |                                z  d          z
                       d S )Nr   r   )	rr   r>  r   trace
compressedrK   r   r[   rk   )	rt   ru   r  r  r   r  r  r  mXdiags	            rZ   
test_tracezTestArrayMethods.test_trace&  s    &*f#Ar1b"cRXXZZ!9!9!;!;!?!?!A!ABBB288::7799s6;+E01(3 (3 (3 34 4 	5 	5 	5 	5 	5r\   c           	         | j         \  }}}}}}}|                    dd          }t          t          |j        |j                             t          t          |j        |                    dd                               t          t          |j        |j                            dd                               d S )Nr   r   )rr   clipr   r[   rk   r   )	rt   ru   r  r  r   r  r  r  clippeds	            rZ   	test_clipzTestArrayMethods.test_clip.  s    &*f#Ar1b"c''!Q--7<))***7=!&&A,,//0007="(--1"5"56677777r\   c                    | j         \  }}}}}}}|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   )rr   rD   r   ptpro   r  rQ   float64r   r   r[   )rt   ru   r  r  r   r  r  r  r   rowscolsks               rZ   test_ptpzTestArrayMethods.test_ptp5  s;   &*f#Ar1b"cA 	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                     | j         \  }}}}}}}|                    dd          }t          t          |d         |d d df                              |                    dd          }	t	          |	j        d           d S )Nr   ri   r   r   )r   r   r   r   )rr   swapaxesr   r[   r   rD   )
rt   ru   r  r  r   r  r  r  	mXswapped
mXXswappeds
             rZ   test_swapaxeszTestArrayMethods.test_swapaxesD  s    &*f#Ar1b"cKK1%%	9R="QQQU),,---\\!Q''
Z%|44444r\   c                    | j         \  }}}}}}}|                    d          }t          t          |j        |                    d                              d                               |                    d          }t          t          |j        |                    d                              d                               d S r  )rr   cumprodr   r[   r   r   	rt   ru   r  r  r   r  r  r  mXcps	            rZ   test_cumprodzTestArrayMethods.test_cumprodK  s    &*f#Ar1b"c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                    | j         \  }}}}}}}|                    d          }t          t          |j        |                    d                              d                               |                    d          }t          t          |j        |                    d                              d                               d S r  )rr   cumsumr   r[   r   r   r  s	            rZ   test_cumsumzTestArrayMethods.test_cumsumR  s    &*f#Ar1b"c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           	      .   | j         \  }}}}}}}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   )
rr   r   r[   varr  stdrD   r   ro   rI   )rt   ru   r  r  r   r  r  r  mXvar0mXvar1r  s              rZ   test_varstdzTestArrayMethods.test_varstdY  s    &*f#Ar1b"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)rS  rT  rU  r   r  r  r  r  r  r  r  r   r\   rZ   r  r    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   )r:   r   )rx   ry   s     rZ   rs  rs  g  s<    	V||V|	V||V|"H>>r\   )rR   )a	functoolsr   r  rV  numpyro   numpy._core.umath_corern  numpy._core.fromnumericrp  numpy.testingr   r   r   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/   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   rO   rP   rQ   rp   r[   r^   rZ  r  rs  r   r\   rZ   <module>r     s`               ! ! ! ! ! ! ! ! ! - - - - - - - - -                                                                                                                                                                   U   f
, f
, f
, f
, f
, f
, f
, f
,R>) >) >) >) >) >) >) >)BV= V= V= V= V= V= V= V=r    r\   