o
    g                     @   s  d dl mZ d dlZd dlZd dlZd dlm  mZ d dl	m  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dZ\G dd	 d	Z]G d
d dZ^G dd dZ_d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                 C   s,   t | |}|std| d|  d|  |S )NzNot eq:
z
----)r   print)vwmsgresult rX   T/var/www/html/api-tag/env/lib/python3.10/site-packages/numpy/ma/tests/test_old_ma.pyeq   s   
rZ   c                   @   s  e Zd Zdd Zdd Zejdddgdd	 Zd
d Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Z d:d; Z!d<d= Z"d>d? Z#d@S )ATestMac                 C   s   t ddddtd dddddddg}t g d	}d}g d
}g d}t||d}t||d}t g d}t|g dd}	t |d|}
|j}|d |||||||||	|
|f| _d S )N      ?g              @      @      @      $      $@      @)r_           rb   r]   g            rc   r`   ra   r\   rc   rb   )   r   r   r   r   r   re   r   r   r   r   r   )r   r   re   r   r   re   re   r   r   r   r   re   mask)g      rc         ?g?r   re   r   r   @xD)npr   pirO   rC   set_fill_valuedselfxya10m1m2xmymzzmxfsrX   rX   rY   setup_method&   s   &
 zTestMa.setup_methodc                 C   s   | j \}}}}}}}}}	}
}tt|  tt| tt|| t|j| t|j|j t|jtdd | tt|t	|tdd |  tt
||
 tt
t|d|
 tt
|| d S )Nc                 S      | | S NrX   rq   rr   rX   rX   rY   <lambda>=       z)TestMa.test_testBasic1d.<locals>.<lambda>c                 S      | | S r~   rX   r   rX   rX   rY   r   >   r   rj   )rn   r   r#   r   rC   dtypesizer   r   lenrZ   r   ro   rX   rX   rY   test_testBasic1d5   s    zTestMa.test_testBasic1dr{         )      c                 C   s   | j \}}}}}}}}	}
}}||_||_||_||_||_tt|  tt| tt|| t|j| t|jtdd | tt|t|tdd |  tt	|| tt	t
|d| tt	|| d S )Nc                 S   r}   r~   rX   r   rX   rX   rY   r   Q   r   z)TestMa.test_testBasic2d.<locals>.<lambda>c                 S   r   r~   rX   r   rX   rX   rY   r   R   r   rj   )rn   rC   r   r#   r   r   r   r   r   rZ   r   )rp   r{   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   rX   rX   rY   test_testBasic2dC   s    zTestMa.test_testBasic2dc                 C   s*  | j \}}}}}}}}}	}
}tddgddgg}t|ddgddgg}tt|| ||  tt|| ||  tt|| ||  dD ]K}||}||}||}||}|
|}
tt| |  tt|| ||  tt|| ||  tt|| ||  tjddd tt|| ||  W d    n1 sw   Y  tt|| ||  tt|| ||  tt|| ||  tjddd tt|| ||  W d    n1 sw   Y  tt|| ||  tt|| ||  tt|| ||  tt|| ||  tt|d |d  ttt|d t|d  tt|| ||  ttt	||t	|| ttt
||t
|| ttt||t|| tjddd ttt||t|| W d    n	1 sw   Y  qFd S )	Nre   r   r   r   ))   r   )r   r   ignorer   invalid      @)rn   r   r*   r   rZ   reshaperk   errstateabsr	   rI   r8   r   )rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   a2da2dmrX   rX   rY   test_testArithmeticW   sP   





zTestMa.test_testArithmeticc                 C   s>   t dg}tdg}tt|| t tt|| t d S )Nre   )rk   r   r   
isinstancer   )rp   namarX   rX   rY   test_testMixedArithmetic}   s   
zTestMa.test_testMixedArithmeticc                 C   s
  | j \}}}}}}}}}	}
}ttt|t| ttt|t| ttt|t| ttt|t| ttt|t| ttt	|t	| tj
ddd2 tttt|t| tttt|t| tttt|t| W d    n1 sw   Y  ttt|t| ttt|t|	 ttt|t|	 ttt|t|	 ttt||t|| ttt|t| ttt||t|| ttt||t|| ttt||t|| ttt||t|| ttt||t|| ttt||t|| ttt|t| ttt||ft||f ttt||ft||f ttt||ft||f ttt|||ft|||f d S )Nr   r   )rn   r   rZ   rk   r   r   rD   rE   rL   rM   r   rH   r   r&   r'   r   r   r   r   r   r   r   r;   r$   r    r%   r!   r   r   ro   rX   rX   rY   test_testUfuncs1   s:      (zTestMa.test_testUfuncs1c                 C   s   t g dg dd}tt|jjtju  tdt| tdtd ttdt ddgd |	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rc   r\   r]   rb   re   r   r   r   rf   r   re   r   )r   r   r   )r   r   r   r   typerk   intpr   rZ   r   r   ndarrayr   r9   )rp   ottrX   rX   rY   test_xtestCount   s   
zTestMa.test_xtestCountc                 C   sb   | j \}}}}}}}}}	}
}t|}t|}ttt|t| ttt|t	| d S r~   )
rn   rk   r@   r   rZ   maxr6   r   minr7   )rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   xrxmrrX   rX   rY   test_testMinMax   s
   
zTestMa.test_testMinMaxc                 C   s  | j \}}}}}}}}}	}
}tttj|t| tttj|t| ttdttddd ttdttddd tttj|ddt|dd tttjt	|dddt|dd ttt|dt|d tttj
|ddt|dd ttt
|dt|d tttj
t	|dddt|dd t|dkrttt||fdt||fd tttj|dt|d ttt|dt|d ttt
|dt|d d S d S )Nr   r   axisre   )rn   r   rZ   rk   r	   r   
accumulaterJ   r   r   prodr>   r   r   ro   rX   rX   rY   test_testAddSumProd   s*    & 
  zTestMa.test_testAddSumProdc                 C   s  t g d}t|g dd}t|g dd}t|}t| t| ttt |t|d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 d	d }t|d}tt|| tt	tg dt|j ttd|j tg dt}t g dt}|d }|d }tt|t tt|t t|| t|dd jdk d S )N)re   r   r   r   r   rf   )r   re   r   re   r   )
fill_valuere   r      	   c   r   ri   re   r   r   r   )r   re   re   r   r\   rb   )r   r   r   re   r   )re   hellor   r   )r   )rk   r   strreprr   rZ   rG   r   r)   r   r   r*   r   r4   r   rg   r   objectr   rC   )rp   x1x2x3x4s1s2rX   rX   rY   test_testCI   sZ   

zTestMa.test_testCIc                 C   s  g d}t |}t |}t||u  t |dd}t||u td}t||d}t|j|u tt||j t|j|u  t|dd}t|jj|jjk t||dd}t|j|u  t|d t	u  d	|d< t|d t	u t|j|u  tt|j
d t||d
d}	t|	j|u t|	d t	u  d	|	d< t|	d t	u t|	j|u tt|	j
d t|d |d}
tt|
j|d ju  td}t	|d< t|d}ttt||g| ttt|g d t|ddd}tt|g d t|ddd}tt|| d S )N)r   r   re   r   r   T)copyr   rf   r   rg   r   r   r   re   r\   r   )   )r   r   re   r   r   r   re   r   )r   r   r   r   r   )r   r   re   re   r   r   r   r   )r(   r   rk   r   r   _datar   _mask__array_interface__r)   rg   r   r   rB   rZ   r   r   rA   )rp   nmru   m3r   y1y1ay2y2ay3r   y4y5y6rX   rX   rY   test_testCopySize  sP   

zTestMa.test_testCopySizec                 C   s  t d}g d}t|}| }t||d}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
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   re   re   rf   r   r   
   (   re   )r   r   r   r   Tr   )r   re   r   )r   d      )r   r   r   r   r   )	r   r(   r   r   r   r)   r   rZ   r?   )rp   rn   r   r   ru   rq   rX   rX   rY   test_testPut5  s$   zTestMa.test_testPutc                 C   sV  t d}t|g dd}tddgddgd}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d
 }tddgddgd}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   rf   r   r   re   r   r   r   r   )r   re   r   r   r   )r   r   r   r)   rZ   )rp   rn   rq   rx   rr   rX   rX   rY   test_testPut2K  s,   zTestMa.test_testPut2c                 C   s\   | j \}}}}}}}}}	}
}g d}t|d }t|||	 ttt||dd|	k d S )N)re   r   r   r   r   r   re   r   r   re   r   re   r   r   )rn   rk   r:   r?   r   r
   rK   )rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r   irX   rX   rY   test_testMaPute  s
   zTestMa.test_testMaPutc           
      C   s*  t d}|dd}d|jd< t|d dk |d|  }tt|j| tt|jd|  tt|t| jd| |  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t|d|t|d tttt|d|t|d tttt|d|t|d tttttdddg d tttttdddg d ttttttdg ddddj g d ttttttdg ddddj g d ttttttdg dddj g d ttttg dg dddj g d tttg dg d g d! t!d"t"j#d#}t$|jt%}t||}tt|| t&|| |f}tt|g d t|d tu  t|d tu t|d tu  t d$}t|d< t d$d }t|d< tg d%g d&d}|'d}t|||}t|||}	tt||	 tt(|	t)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   )re   r   y              $@r   e   rc   .r   r   r      r   )r\   r]   rb   r^   r_   )re   re   re   r   r   r   )r\   r]   rc   rd   re   )r      r   r   r   )r   re   r   r   r   )re   r   r   r   r   rf   )re   re   re   re   r   )r   re   r   r   r   )re   re   r   r   re   )re   r   re   r   r   )r   r   re   r   re   )re   r   re   r   re   )re   re   r   r   r   )re   r   r   r   r   )r   r   r   r   r   )r   r   r   )r   r   )re   re   re   r   r   r   )re   r   r   r   r   r   )r   re   r      r   2   )r   r   r   re   re   re   )r   re   re   r   r   r   )*r   r   flatr   rZ   realimagr   r)   r   r   rO   rC   r   r5   r   r    r,   r!   r-   r$   r/   r%   r0   r;   r1   r   r+   r.   listranger2   rg   r<   rk   float32rP   r   r   r   r   r9   )
rp   rq   rx   catestbtestctestrr   cmry   rX   rX   rY   test_testOddFeaturesl  s   
 

      ""

zTestMa.test_testOddFeaturesc                 C   s   t ttg dg dg d t ttg dg dg d td}tdd }t|d< t|d< t tt||tt|||| t tt||tt|||| t t	|dk t t	|d	k d S )
N)re   r   r   )r   r   r   )re   r   r   )r   r   r   r   r   r   r   r   )
r   rZ   r7   r6   r   r)   rO   r$   r    r   )rp   rq   rr   rX   rX   rY   test_testMinMax2  s     ""zTestMa.test_testMinMax2c                 C   s  t d}t d}t|dd< |ddd}|ddd}ttt|dt|d ttt|ddt|dd tttt	|d	t	|d	t|| ttt
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   re   re   r   )abcre   defr   r   )r   r   r   r   )r   rk   r)   r   r   rZ   rN   rK   r"   r   r=   r   r   )rp   rq   rr   trX   rX   rY    test_testTakeTransposeInnerOuter  s&   
 z'TestMa.test_testTakeTransposeInnerOuterc                 C   s  t d}t d}t d}t|d< |d7 }tt||d  |d7 }tt||d  t d}t d}t|d< |d8 }tt||d  |d8 }tt||d  t dd }t dd }t|d< |d9 }tt||d  |d9 }tt||d  t dd }t d}t|d< |d }tt|| |d }tt|| t dd }t dd }t|d< |d }tt||d  |t d }tt|td t dtj}t d}t|d< |d7 }tt||d  d S )Nr   r   re   r\   r]   )r   )r   r)   r   rZ   r<   astyperk   r   )rp   rr   rq   rv   rX   rX   rY   test_testInplace  sR   zTestMa.test_testInplacec                 C   sb   t d}t|ddd< |dd}tdtjd D ]}tj||d}t|}tt	|| qd S )Nr   r   r   r   r   re   )protocol)
r   r)   r   r   pickleHIGHEST_PROTOCOLdumpsloadsr   rZ   )rp   rq   protor{   rr   rX   rX   rY   test_testPickle$  s   
zTestMa.test_testPicklec                 C   sH   t d}t|d< tttdk t|d tu  tt|d dd d S )Nr   re   z--r   )r   r)   r   r   r   r   )rp   xxrX   rX   rY   test_testMasked.  s
   zTestMa.test_testMaskedc                 C   s8  t g dg dd}ttdt|dd ttdt|g dd t|g dd	d
\}}ttd| t|dk t|d d < tt|ddtu  t g dg dd}|dd}t|d d df< ttt|ddddg tt|ddd tu  ttddgt|dd t|dd	d\}}tt|ddg d S )Nr   r   rf   r]   r   r   )r\   r\   r]   r\   weightsTr   returnedr^   r   re   rc   r   r   r\   )r   r   rZ   r   r)   r   )rp   r   rW   wtsrX   rX   rY   test_testAverage16  s    zTestMa.test_testAverage1c                 C   s  g d}g dg dg}t d}ttt|ddd ttt|d|dd tt ddt d g}ttt|d tjt dd	 d
  ttt|ddt dd	 d  ttt|ddt|ddt|ddd g ttt|d |dd ttt|d|dg d ttt|ddt|ddt|ddd g td}g d}g dg dg}t	d}g d}	tttt
||ddd tttt
||ddd ttt
||ddtu  ttt
||	ddd tttt
||ddd t
||}
ttt|
d d ttt|
ddg d ttt|
ddddg ttt|
d|dg d t d}t dd }t||g||ggddd\}}tt|t| t|j|j tt	ddddgdd\}}tt|t| tt	ddd\}}tt|t| tt	dt	d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d}tt|dd	g t|dd}tt|dd	g t|d d}tt|d  t|dd}tt|d!d"g d S )#N)r   re   re   re   re   r   )re   r   r   r   r   re   r   r   r   r   )r   r   r]   rb   g      (@re   r   g
@)rc   r\   r]   rb   r^   ra   )r   r   re   re   r   r   )r   re   re   re   re   re   rc   )rc   r\        X@r  r^   g      @r_   )rc   r\   r  r  r^   ra   r   Tr  )r   r   r   )r   r   r   )r   r   r   r   rh   r\   g@g      ?r^   )r   r   r   r   r   rk   r	   r   rP   r<   r*   r)   r   r   rC   floatrZ   )rp   w1w2rq   rr   rt   ru   r   m4m5rx   abr1r2r   r   a2daa2dmarX   rX   rY   test_testAverage2I  sx   $
zTestMa.test_testAverage2c                 C   s   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 d S )Nre   r\   r   rf   )r   intr   r  r   	TypeError
ValueErrorboolrp   rX   rX   rY   test_testToPython  s    zTestMa.test_testToPythonc                 C   s   t ddd}tjdd tdt d j W d    n1 s w   Y  td| j t| j t| j tt||j tt||j t| j|j	ju  t ddd}t| |j	k t
t|tt d S )Nr   re   rf   r   r   )r   rk   r   r   rg   r6   r7   r   r   r   r   r   r3   )rp   rv   rq   rX   rX   rY   test_testScalarArithmetic  s   z TestMa.test_testScalarArithmeticc              
   C   sp  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re   r   r   r   re   r   r   r   re   r   re   )r   r   rZ   anyr   r
   argmaxargminr   compressconjr   diagonalrJ   rK   rN   )rp   r
  r   rX   rX   rY   test_testArrayMethods  s    $$zTestMa.test_testArrayMethodsc                 C   s   t g d}t|jd d S )Nr  re   )r   r   ndimrp   r
  rX   rX   rY   test_testArrayAttributes  s   zTestMa.test_testArrayAttributesc                 C   s   t dd ttjD   d S )Nc                 S   s&   g | ]}|t tvr|d s|qS )_)dirr   
startswith).0r   rX   rX   rY   
<listcomp>  s    z'TestMa.test_testAPI.<locals>.<listcomp>)r   r&  rk   r   r  rX   rX   rY   test_testAPI  s   zTestMa.test_testAPIc                 C   sT   t g d}t g dg dd}t|d jd t|d jd t|d jd d S )Nr  r  rf   r   rX   re   )r   r   rC   )rp   r
  r  rX   rX   rY   test_testSingleElementSubscript  s
   z&TestMa.test_testSingleElementSubscriptc                 C   s8   t g dg dd}|dk}d||< t|d tu  d S )Nr   )re   r   re   r   rf   r   r   r   )r   r   r)   )rp   r
  r   rX   rX   rY   test_assignment_by_condition  s   z#TestMa.test_assignment_by_conditionc                 C   sT   t ddgddgd}t ddgddgd}|dk }|| ||< ddg}t|j| d S )Nr   re   Frf   T)r*   r   rg   )rp   r
  r  rg   expected_maskrX   rX   rY   test_assignment_by_condition_2  s   z%TestMa.test_assignment_by_condition_2N)$__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  r  r  r!  r$  r*  r+  r,  r.  rX   rX   rX   rY   r[   $   s@    
&
23e2
:	r[   c                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )
TestUfuncsc                 C   sZ   t dddtd gd ddgdgd  dt dddtd gd ddgdgd  df| _d S )Nr\   r   r   r   re   r   rf   )r   rl   rn   r  rX   rX   rY   r|     s   ((
zTestUfuncs.setup_methodc              	   C   s   g d}dD ]m}zt t|}W n ty   t t|}Y nw t tj|}| jd |j }t $ ||v r;tj	dd |dv rEtj	dd || }|| }W d    n1 sWw   Y  t
t|d|d| t
t|j|j qd S )N)rH   arctanhr   r   arccoshr6  r&   r'   r   true_dividefloor_divide	remainderfmod)*rH   r&   r'   r   r   rD   r   rL   r   r   r   rE   r   rM   arcsinhr7  r6  r   fabsnegativefloorceillogical_notr	   rI   r8   r   r8  r9  r:  r;  hypotr   r   r;   r%   r!   r$   r    logical_and
logical_orlogical_xorr   )r   )r6  r&   r'   r  r   )getattrumathAttributeErrorfromnumericrk   r   rn   ninr   seterrr   rZ   r   eqmaskrg   )rp   f_invalid_ignorefufmfargsurmrrX   rX   rY   test_testUfuncRegression  s(   

z#TestUfuncs.test_testUfuncRegressionc                 C   s\   | j d }tt|dd  tt|dd tt|d d ddd tt|ddd d S )Nr   r   r   )rn   r   r   rF   r   rJ   r>   r#  rX   rX   rY   test_reduce  s
   
zTestUfuncs.test_reducec                 C   s   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 )Nre      r   r   r   r   )r   r   r   r   )	r   r   r5   r   r   r   r   r
   rg   )rp   r
  amaskrX   rX   rY   test_minmax  s   zTestUfuncs.test_minmaxc                 C   s6   dD ]}t g dg dd}ttt|dg qd S )Nz?bhilqpBHILQPfdgFDGO)re   r   r   r   )r   r   re   re   rf   r   )r   r   rZ   r:   )rp   r   rq   rX   rX   rY   test_nonzero  s   zTestUfuncs.test_nonzeroN)r/  r0  r1  r|   rT  rU  rX  rY  rX   rX   rX   rY   r5    s    %
r5  c                   @   sL   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dS )TestArrayMethodsc                 C   s   t g d}|dd}|dddd}t g d}t||d}t|||jd}t|||jd}|||||||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   re   r   re   r   r   re   r   re   re   r   re   r   r   r   re   r   re   r   r   r   re   re   re   re   r   r   re   r   r   r   r   re   r   re   r   )datarg   )rk   r   r   rC   rn   )rp   rq   XXXr   mxmXmXXrX   rX   rY   r|     s   zTestArrayMethods.setup_methodc           	      C   sf   | j \}}}}}}}| }t| |    tt| | t|j|  dd  d S )Nr   r   )	rn   r   r   trace
compressedrJ   r   rZ   rg   )	rp   rq   r\  r]  r   r^  r_  r`  mXdiagrX   rX   rY   
test_trace&  s   

zTestArrayMethods.test_tracec           	      C   sh   | j \}}}}}}}|dd}tt|j|j tt|j|dd tt|j|jdd d S )Nr   r   )rn   clipr   rZ   rg   r   )	rp   rq   r\  r]  r   r^  r_  r`  clippedrX   rX   rY   	test_clip.  s
   zTestArrayMethods.test_clipc                 C   s   | j \}}}}}}}|j\}}t| t|  t|tj}	t|tj}
t|D ]}t|d d |f  |
|< q-t|D ]}t||  |	|< qCt	t
|d|
 t	t
|d|	 d S Nr   re   )rn   rC   r   ptprk   rb  rP   float64r   r   rZ   )rp   rq   r\  r]  r   r^  r_  r`  r   rowscolskrX   rX   rY   test_ptp5  s   
 zTestArrayMethods.test_ptpc           
      C   sZ   | j \}}}}}}}|dd}tt|d |d d df  |dd}	t|	jd d S )Nr   re   r   r   )r   r   r   r   )rn   swapaxesr   rZ   r   rC   )
rp   rq   r\  r]  r   r^  r_  r`  	mXswapped
mXXswappedrX   rX   rY   test_swapaxesD  s
   zTestArrayMethods.test_swapaxesc           	      C   sd   | j \}}}}}}}|d}tt|j|dd |d}tt|j|dd d S rh  )rn   cumprodr   rZ   r   r   	rp   rq   r\  r]  r   r^  r_  r`  mXcprX   rX   rY   test_cumprodK  
   

 zTestArrayMethods.test_cumprodc           	      C   sd   | j \}}}}}}}|d}tt|j|dd |d}tt|j|dd d S rh  )rn   cumsumr   rZ   r   r   rt  rX   rX   rY   test_cumsumR  rw  zTestArrayMethods.test_cumsumc                 C   s(  | j \}}}}}}}tt|jd d|   tt|jd d|   tt|jddj|jddj tt| j| j |jdd|jdd}}	tdD ]:}
tt|	|
 ||
    tt||
 |d d |
f    ttt	||
 |d d |
f    qWd S )Nr   r   r   re   r   )
rn   r   rZ   varrb  stdrC   r   rk   rH   )rp   rq   r\  r]  r   r^  r_  r`  mXvar0mXvar1rm  rX   rX   rY   test_varstdY  s   "&zTestArrayMethods.test_varstdN)r/  r0  r1  r|   rd  rg  rn  rr  rv  ry  r~  rX   rX   rX   rY   rZ    s    rZ  c                 C   s,   | t u r|t u S |t u r| t u S | |k S r~   )r9   r
   )rt   ru   rX   rX   rY   rL  g  s
   rL  )rQ   )a	functoolsr   r   r2  numpyrk   numpy._core.umath_corerG  numpy._core.fromnumericrI  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.   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   rl   rZ   r[   r5  rZ  rL  rX   rX   rX   rY   <module>   s(    6 
     .AY