3
Kd~                 @   s  d dl mZ d dlZd dljjZd dljj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-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZX d dlYmZZZ ej[Z[df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)pickle c             C   s,   t | |}|s(td|t| t|f  |S )NzNot eq:%s
%s
----%s)r   printstr)vwmsgresult rY   N/var/www/html/virt/lib64/python3.6/site-packages/numpy/ma/tests/test_old_ma.pyeq   s    
r[   c               @   s   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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/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9S ):TestMac             C   s   t jddddtd dddddddg}t jddddddddddddg}d}dd	d	d	d	d	dd	d	d	d	d	g}d	d	dd	d	ddd	d	d	d	dg}t||d
}t||d
}t jddddg}t|d	dd	d	gd
}	t j|d|}
|j}|jd |||||||||	|
|f| _d S )Ng      ?g       @g      @g      @g      $@g      @g           r   )maskg      ?g?g@xDg       g      $g      g      g      $g      )npr   pirO   rC   Zset_fill_valued)selfxya10m1m2xmymzzmxfsrY   rY   rZ   setup$   s    &"
zTestMa.setupc             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   | | S )NrY   )rc   rd   rY   rY   rZ   <lambda>;   s    z)TestMa.test_testBasic1d.<locals>.<lambda>c             S   s   | | S )NrY   )rc   rd   rY   rY   rZ   ro   <   s    g@xD)ra   r   r#   r   rC   dtypesizer   r   lenr[   r   )rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rY   rY   rZ   test_testBasic1d3   s     zTestMa.test_testBasic1dc             C   s   xdD ]}| 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	|| | j  qW d S )N            c             S   s   | | S )NrY   )rc   rd   rY   rY   rZ   ro   O   s    z)TestMa.test_testBasic2d.<locals>.<lambda>c             S   s   | | S )NrY   )rc   rd   rY   rY   rZ   ro   Q   s    g@xDrt   ru   rv   rw   )rx   ry   )ra   rC   r   r#   r   rq   r   r   rr   r[   r   rn   )rb   rm   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rY   rY   rZ   test_testBasic2dA   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|| ||  xbdD ]X}|j|}|j|}|j|}|j|}|
j|}
tt| |  tt|| ||  tt|| ||  tt|| ||  tjddd	 tt|| ||  W d Q R X tt|| ||  tt|| ||  tt|| ||  tjddd	 tt|| ||  W d Q R X tt|| ||  tt|| ||  tt|| ||  tt|| ||  tt|d |d  ttt|d
 t|d
  tt|| ||  tttj	||t	|| tttj
||t
|| tttj||t|| tjddd	" tttj||t|| W d Q R X qW d S )Nr]   rw   r   rt      ru   rv   ignore)r   invalidg      @r{   rt   ru   rw   rv   )r~   r   r   )ra   r   r*   r   r[   reshaper_   errstateabsr	   rI   r8   r   )rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   a2da2dmrY   rY   rZ   test_testArithmeticW   sF    




  zTestMa.test_testArithmeticc             C   s>   t jdg}tdg}tt|| t tt|| t d S )Nr]   )r_   r   r   
isinstancer   )rb   namarY   rY   rZ   test_testMixedArithmetic}   s    
zTestMa.test_testMixedArithmeticc             C   s  | 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dZ tttjt|t| tttjt|t| tttjt|t| W d Q R X 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||t|| tttj||t|| tttj||t|| tttj|t| tttj||ft||f tttj||ft||f tttj||ft||f tttj|||ft|||f d S )Nr|   )r   r}   )ra   r   r[   r_   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   )rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rY   rY   rZ   test_testUfuncs1   s8    &   zTestMa.test_testUfuncs1c             C   s   t ddddgddddgd}tt|jjtjk tdt| tdtd ttdt ddgd |j	d
}tt|jjtjk tt
t|dtj tt|jjtjk ttdt| ttt|dtk ttdd	gt|d d S )Ng        g      ?g       @g      @r]   r   )r^   ru   rw   )rw   rw   )r   r   r   rp   typer_   Zintpr   r[   r   r   ndarrayr   r9   )rb   ottrY   rY   rZ   test_xtestCount   s    
zTestMa.test_xtestCountc             C   sb   | j \}}}}}}}}}	}
}tj|}t|}ttt|tj| ttt|t	j| d S )N)
ra   r_   r@   r   r[   maxr6   r   minr7   )rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   ZxrZxmrrY   rY   rZ   test_testMinMax   s
    
zTestMa.test_testMinMaxc             C   s  | j \}}}}}}}}}	}
}tttjj|tj| tttjj|tj| 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j|dt|d tttj
|ddt
|dd tttj
|dt
|d tttj
t	|dddt
|dd t|dkrtttj||fdt||fd tttjj|dtj|d tttj|dt|d tttj
|dt
|d d S )Nrt   r   )axisr]   )ra   r   r[   r_   r	   r   
accumulaterJ   r   r   r>   rr   r   )rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rY   rY   rZ   test_testAddSumProd   s$     &  zTestMa.test_testAddSumProdc             C   s*  t jddddg}t|ddddgd}t|ddddgd}t|}t| t| ttt j|t|dd tt|d t|d k t|d |d k t|d tk 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ddddg tddddgddddg|d d < tt	t
|tddddg tddddgddddg|d d < tt	t
|tddddg tt	|tddddg t jdd }t|d}tt|| tt	tdddddgt|j ttd|j tddddgt}t jddddgt}|d }|d }tt|t tt|t t|| t|dd jdk d S )Nr]   rw   rt   ru   r   )r^   )
fill_value   	   c   g      ?g      @Zhello)r   )r_   r   rT   reprr   r[   rG   r   r)   r   r   r*   r   r4   r   r^   r   objectr   rC   )rb   x1Zx2Zx3x4s1s2rY   rY   rZ   test_testCI   sZ    ""
 
zTestMa.test_testCIc             C   s.  dddddg}t |}t |}t||k t |dd}t||k	 tjd}t||d}t|j|k	 tt||j t|j|k t|dd}t|jj|jjk t||dd}t|j|k t|d t	k d	|d< t|d t	k	 t|j|k tt|j
d t||dd}	t|	j|k	 t|	d t	k d	|	d< t|	d t	k	 t|	j|k	 tt|	j
d t|d
 |d}
tt|
j|d
 jk td}t	|d< t|d}ttt||g| ttt|ddddddddg t|ddd}tt|ddddddddg t|ddd}tt|| d S )Nr   r]   T)copyr   )r^   )r^   r   rw   r   g      ?rt      )r   ru   )r   )rw   rw   rw   rw   )r(   r   r_   r   r   _datar   _maskZ__array_interface__r)   r^   r   rp   rB   r[   r   r   rA   )rb   nmrg   m3r   y1Zy1ay2Zy2aZy3r   Zy4Zy5Zy6rY   rY   rZ   test_testCopySize  sN    

"zTestMa.test_testCopySizec             C   s  t d}dddddg}t|}|j }t||d}t|d tk t|d tk ddg|ddg< t|j|k t|d tk t|d tk	 tt|ddd	ddg t||d
d}|jddd	gdddg t|j|k	 t|d tk t|d tk tt|dddddg d S )Nr   r   r]   )r^   ru   rt   
   (   rw   T)r^   r   d      r   r   )	r   r(   r   r   r   r)   r   r[   r?   )rb   ra   r   r   rg   rc   rY   rY   rZ   test_testPut5  s$    zTestMa.test_testPutc             C   sn  t d}t|dddddgd}tddgddgd}t|d tk	 t|d tk	 ||dd	< t|d tk t|d tk	 tt|ddddd	g t d}t|dddddgd}|dd	 }tddgddgd}t|d tk	 t|d tk	 ||d d < t|d tk t|d tk	 tt|ddg t|d tk t|d tk	 tt|ddddd	g d S )
Nr   r   )r^   r   r   r]   rw   ru   rt   )r   r   r   r)   r[   )rb   ra   rc   rj   rd   rY   rY   rZ   test_testPut2K  s,    zTestMa.test_testPut2c             C   sp   | j \}}}}}}}}}	}
}ddddddddddddg}tj|d }t|||	 ttt||dd|	k d S )Nr]   r   )r   )ra   r_   r:   r?   r   r
   rK   )rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   r   irY   rY   rZ   test_testMaPute  s
    zTestMa.test_testMaPutc       
   
   C   s  t d}|j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k t|d tk t|d tk t|d tk t|d tk	 t|d tk	 tt|| t|t|}t|j|jk t|d tk t|d tk	 t|d tk	 t|d tk t|d tk t||}t|j|jk t|d tk t|d tk	 t|d tk	 t|d tk t|d tk tt|| tdddddg}tdddddg}t|d< t||| }tt|ddd
dd g t|d< t||| }tt|ddd
d!d"g t|d tk t|d tk	 t|d tk 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dddddg tttttddddddddg ttttttddddddgdddj dddddg ttttttddddddgdddj dddddg ttttttddddddgddj dddddg ttttdddddgdddddgddj dddddg tttdddddgdddddgdddddg t!d#t"j#d}t$|jt%}t||}tt|| t&|| |f}tt|ddd
d$d%g t|d tk t|d tk	 t|d tk t d}t|d< t dd }t|d< tddddddgddddddgd}|j'd}t|||}t|||}	tt||	 tt(|	t)k tt|	ddddddg t|td}tt|ddddddg t|dt}tt|ddddddg d S )&N   rt   r   r{   r]   r   y              $@r   e   g        .ru   r      r   g      ?g       @g      @g      @g      @rw      )r^   r   )rp   rv      r   2   )r]   r   g      g      r   )r   r   r   g      r   )*r   r   Zflatr   r[   realimagr   r)   rT   r   rO   rC   rp   r5   r   r    r,   r!   r-   r$   r/   r%   r0   r;   r1   r   r+   r.   listranger2   r^   r<   r_   float32rP   r   r   r   r   r9   )
rb   rc   rj   cZatestZbtestZctestrd   cmrk   rY   rY   rZ   test_testOddFeaturesl  s    
 

      (( 
$
zTestMa.test_testOddFeaturesc             C   s   t ttdddgdddgdddg t ttdddgdddgdddg td}tdd }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 )Nr]   rw   ru   rt   r   r   r   )
r   r[   r7   r6   r   r)   rO   r$   r    r   )rb   rc   rd   rY   rY   rZ   test_testMinMax2  s    &&""zTestMa.test_testMinMax2c             C   s&  t d}tj d}t|dd< |jddd}|j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d	dd
ddgt}t|d< t|dddg}t|d d	k t|d dk t|d dk d S )N   r   rv   rw   ru   rt   r   r]   abcdef)rw   r   r]   )rw   r   r]   )rw   r   r]   )rw   r   r]   )r   r_   r)   r   r   r[   rN   rK   r"   r   r=   r   r   )rb   rc   rd   trY   rY   rZ    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jtj}t d}t|d< |d7 }tt||d  d S )Nr   rw   r]   g      ?g       @)r   )r   r)   r   r[   r<   Zastyper_   r   )rb   rd   rc   rh   rY   rY   rZ   test_testInplace  sR    zTestMa.test_testInplacec             C   sf   t d}t|ddd< |jdd}x>tdtjd D ]*}tj||d}tj|}tt	|| q4W d S )Nr{   rt   r   rw   ru   r]   )protocol)
r   r)   r   r   rQ   HIGHEST_PROTOCOLdumpsloadsr   r[   )rb   rc   protorm   rd   rY   rY   rZ   test_testPickle$  s    
zTestMa.test_testPicklec             C   sH   t d}t|d< tttdk t|d tk tt|d dd d S )Nrv   r]   z--r   )r   r)   r   rT   r   r   )rb   ZxxrY   rY   rZ   test_testMasked.  s
    zTestMa.test_testMaskedc          	   C   sP  t ddddgddddgd}ttdt|dd ttdt|ddddgd	 t|ddddgd
d\}}ttd| t|dk t|d d < tt|ddtk t ddddgddddgd}|jdd}t|d d df< ttt|ddddg tt|ddd tk ttddgt|dd t|dd
d\}}tt|ddg d S )Ng        g      ?g       @g      @r]   r   )r^   )r   )weightsT)r   returnedg      @rw   )r   r   )r   r   r[   r   r)   r   )rb   r   rX   ZwtsrY   rY   rZ   test_testAverage16  s     zTestMa.test_testAverage1c          	   C   s0  ddddddg}ddddddgddddddg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jtj dd d	  ttt|ddtj 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ddddddg ttt|ddt|ddt|ddd g td}ddddddg}ddddddgddddddgg}t	d}ddddddg}	tttt
||ddd tttt
||ddd ttt
||ddtk ttt
||	ddd tttt
||ddd t
||}
ttt|
d d  ttt|
ddddddddg ttt|
ddddg ttt|
d|dddddddg 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 )&Nr   r]   rv   )r   g      @)r   r   g       @g      @g      (@)r   g      4@g      @g        g      ?g      @g      $@g     X@g      @g      @ru   T)r   r   rw   )r   r   r   )r   )r   r   rt   g      ?g      @g      ?g
@g
@)rw   rw   ru   )rw   rw   ru   )rw   rw   ru   )rw   rw   ru   g@)r   r   r   r   r   r_   r	   r   rP   r<   r*   r)   r   r   rC   floatr[   )rb   Zw1Zw2rc   rd   rf   rg   r   Zm4Zm5rj   abZr1Zr2r   r   Za2daZa2dmarY   rY   rZ   test_testAverage2I  sl     $   
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 )Nr]   g      ?r   )r^   )r   intr   r   r   	TypeError
ValueErrorbool)rb   rY   rY   rZ   test_testToPython  s    zTestMa.test_testToPythonc             C   s   t ddd}tjdd tdt d j W d Q R X td| j t| j t| j tt||j tt||j t|j j|j	jk t ddd}t|j |j	k t
t|tt d S )Nr   r]   )r^   r|   )r   )r   r_   r   r   r^   r6   r7   r   rp   r   r   rT   r3   )rb   rh   rc   rY   rY   rZ   test_testScalarArithmetic  s    z TestMa.test_testScalarArithmeticc          	   C   sv  t dddg}tt|j |jj  tt|j |jj  tt|j |jj  tt|j |jj  tt|jddddd|jjddddd tt|j	dddg|jj	dddg tt|j
 |jj
  tt|j |jj  t ddgddgg}tt|j |jj  tt|j |jj  tt|jddg|jjddg tt|j |jj  d S )Nr]   ru   rw   r   rt   )r   r   r[   anyr   r
   ZargmaxZargminr   compressZconjr   diagonalrJ   rK   rN   )rb   r   r   rY   rY   rZ   test_testArrayMethods  s    ($zTestMa.test_testArrayMethodsc             C   s   t dddg}t|jd d S )Nr]   ru   rw   )r   r   ndim)rb   r   rY   rY   rZ   test_testArrayAttributes  s    zTestMa.test_testArrayAttributesc             C   s   t dd ttjD   d S )Nc             S   s(   g | ] }|t tkr|jd  r|qS )_)dirr   
startswith).0r   rY   rY   rZ   
<listcomp>  s    z'TestMa.test_testAPI.<locals>.<listcomp>)r   r   r_   r   )rb   rY   rY   rZ   test_testAPI  s    zTestMa.test_testAPIc             C   sZ   t dddg}t dddgdddgd}t|d jf  t|d jf  t|d jf  d S )Nr]   ru   rw   r   )r^   )r   r   rC   )rb   r   r   rY   rY   rZ   test_testSingleElementSubscript  s
    z&TestMa.test_testSingleElementSubscriptN)__name__
__module____qualname__rn   rs   rz   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   rY   rY   rY   rZ   r\   "   s8   &
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 )	Ng      ?r   r]   rw   rv   )r^   r   r   )r   r`   ra   )rb   rY   rY   rZ   rn     s    (zTestUfuncs.setupc          *   C   s   dddddddddd	d
ddg} xd/D ]}yt t|}W n tk
rV   t t|}Y nX t tj|}| jd |j }tj @ ||krtj	d+d, |d0k rtj	d+d- || }|| }W d Q R X t
t|jd.|jd.| t
t|j|j q&W d S )1NrH   arctanhr   r   arccoshr&   r'   r   true_dividefloor_divide	remainderfmodr   r   rD   r   rL   r   rE   r   rM   arcsinhr   fabsnegativefloorceillogical_notr	   rI   r8   hypotr   r   r;   r%   r!   r$   r    logical_and
logical_orlogical_xorr|   )r}   )r   r   )*rH   r&   r'   r   r   rD   r   rL   r   r   r   rE   r   rM   r   r   r   r   r   r   r   r   r   r	   rI   r8   r   r   r   r   r   r   r   r   r;   r%   r!   r$   r    r   r   r   )r   r&   r'   )getattrumathAttributeErrorfromnumericr_   r   ra   Zninr   Zseterrr   r[   r   eqmaskr^   )rb   Zf_invalid_ignorefZufZmfargsurmrrY   rY   rZ   test_testUfuncRegression  sD    
              

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   ru   )ra   r   r   rF   r   rJ   r>   )rb   r   rY   rY   rZ   test_reduce  s
    
zTestUfuncs.test_reducec             C   s   t ddjdd}t|dk |}t|j |j  t|j d t|jd|jdkj  t|jddddd	gkj  t|jdd j t|jdd j d S )
Nr]      ru   rt   r   r   rv   r   r   )	r   r   r5   r   r   r   r   r
   r^   )rb   r   ZamaskrY   rY   rZ   test_minmax  s    zTestUfuncs.test_minmaxc             C   sB   x<dD ]4}t ddddgddddgd}ttt|dg qW d S )Nz?bhilqpBHILQPfdgFDGOr]   r   rw   )r^   )r   r   r[   r:   )rb   r   rc   rY   rY   rZ   test_nonzero  s    
zTestUfuncs.test_nonzeroN)r   r   r   rn   r  r	  r  r  rY   rY   rY   rZ   r     s
   %
r   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 jddddddddd	d
dddddddddddddddddddddd d!d"d#d$g$}|jd%d%}|jd&d'd'd&}t jd(d)d(d)d(d(d)d(d)d)d(d)d(d(d(d)d(d)d(d(d(d)d)d)d)d(d(d)d(d(d(d(d)d(d)d(g$}t||d*}t||j|jd*}t||j|jd*}|||||||f| _d S )+Ng      @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-?rv   ru   rw   r   r]   )datar^   )r_   r   r   rC   ra   )rb   rc   XXXr   mxmXmXXrY   rY   rZ   rn      s$    zTestArrayMethods.setupc       	      C   sf   | j \}}}}}}}|j }t|j |j j j  tt|j |j t|j|j  dd  d S )Nr   )r   )	ra   r   r   trace
compressedrJ   r   r[   r^   )	rb   rc   r  r  r   r  r  r  ZmXdiagrY   rY   rZ   
test_trace  s    
zTestArrayMethods.test_tracec       	      C   sh   | j \}}}}}}}|jdd}tt|j|j tt|j|jdd tt|j|jjdd d S )Nrw   r   )ra   Zclipr   r[   r^   r   )	rb   rc   r  r  r   r  r  r  ZclippedrY   rY   rZ   	test_clip  s
    zTestArrayMethods.test_clipc             C   s   | j \}}}}}}}|j\}}t|j |j j  tj|tj}	tj|tj}
x,t|D ] }|d d |f j j |
|< qZW x$t|D ]}|| j j |	|< qW t	t
|jd|
 t	t
|jd|	 d S )Nr   r]   )ra   rC   r   Zptpr  r_   rP   Zfloat_r   r   r[   )rb   rc   r  r  r   r  r  r  r   rowscolskrY   rY   rZ   test_ptp%  s    
 zTestArrayMethods.test_ptpc       
      C   sZ   | j \}}}}}}}|jdd}tt|d |d d df  |jdd}	t|	jd d S )Nr   r]   rw   ru   r   r   )rw   rw   ru   ru   )ra   Zswapaxesr   r[   r   rC   )
rb   rc   r  r  r   r  r  r  Z	mXswappedZ
mXXswappedrY   rY   rZ   test_swapaxes2  s
    zTestArrayMethods.test_swapaxesc       	      C   sd   | j \}}}}}}}|jd}tt|j|jdjd |jd}tt|j|jdjd d S )Nr   r]   )ra   Zcumprodr   r[   r   r   )	rb   rc   r  r  r   r  r  r  mXcprY   rY   rZ   test_cumprod9  s
    

zTestArrayMethods.test_cumprodc       	      C   sd   | j \}}}}}}}|jd}tt|j|jdjd |jd}tt|j|jdjd d S )Nr   r]   )ra   Zcumsumr   r[   r   r   )	rb   rc   r  r  r   r  r  r  r  rY   rY   rZ   test_cumsum@  s
    

zTestArrayMethods.test_cumsumc             C   s,  | j \}}}}}}}tt|jd d|j j  tt|jd d|j j  tt|jddj|jddj tt|j j|j j |jdd|jdd }}	xtdD ]t}
tt|	|
 ||
 j j  tt||
 |d d |
f j j  tttj	||
 |d d |
f j j  qW d S )N)r   ru   r   r]   rv   )
ra   r   r[   varr  ZstdrC   r   r_   rH   )rb   rc   r  r  r   r  r  r  ZmXvar0ZmXvar1r  rY   rY   rZ   test_varstdG  s    "&zTestArrayMethods.test_varstdN)r   r   r   rn   r  r  r  r  r  r  r!  rY   rY   rY   rZ   r    s   r  c             C   s,   | t kr|t kS |t kr | t kS | |kj S )N)r9   r
   )rf   rg   rY   rY   rZ   r  U  s
    r  )a	functoolsr   Znumpyr_   Znumpy.core.umathcorer   Znumpy.core.fromnumericr  Znumpy.testingr   r   r   Z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   Znumpy.compatrQ   r`   r[   r\   r   r  r  rY   rY   rY   rZ   <module>   s$    5      AW