a
    ç´«j, ã                   @   sò  d Z ddlZddlZddlZddlZddlmZ ddlm	Z	m
Z
 ddlmZ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 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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z> G dd	„ d	ƒZ?G d
d„ dƒZ@G dd„ dƒZAG dd„ dƒZBG dd„ dƒZCG dd„ dƒZDG dd„ dƒZEG dd„ dƒZFG dd„ dƒZGG dd„ dƒZHG dd„ dƒZIG dd„ dƒZJG d d!„ d!ƒZKG d"d#„ d#ƒZLG d$d%„ d%ƒZMdS )&zæTests suite for MaskedArray.
Adapted from the original test_ma by Pierre Gerard-Marchant

:author: Pierre Gerard-Marchant
:contact: pierregm_at_uga_dot_edu
:version: $Id: test_extras.py 3473 2007-10-29 15:18:13Z jarrod.millman $

é    N)Únormalize_axis_tuple)Úassert_warnsÚsuppress_warnings)Úassert_Úassert_array_equalÚassert_equalÚassert_almost_equal)ÚarrayÚarangeÚmaskedÚMaskedArrayÚmasked_arrayÚgetmaskarrayÚshapeÚnomaskÚonesÚzerosÚcount)"Ú
atleast_1dÚ
atleast_2dÚ
atleast_3dÚmr_ÚdotÚpolyfitÚcovÚcorrcoefÚmedianÚaverageÚuniqueÚsetxor1dÚ	setdiff1dÚunion1dÚintersect1dÚin1dÚediff1dÚapply_over_axesÚapply_along_axisÚcompress_ndÚcompress_rowcolsÚmask_rowcolsÚclump_maskedÚclump_unmaskedÚflatnotmasked_contiguousÚnotmasked_contiguousÚnotmasked_edgesÚ
masked_allÚmasked_all_likeÚisinÚdiagflatÚndenumerateÚstackÚvstackc                   @   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 )ÚTestGenericc                 C   sJ  t dtd�}tddgddgtd�}t||ƒ t ddgddgdœ¡}t d|d�}td	d	gd
d
g|d�}t||ƒ t d|d�}td	d	gd	d	ggd
d
gd
d
gg|d�}t||ƒ t ddddgfg¡}t d|d�}tddgddg|d�}t||ƒ t d|d�}tddgddg|d�}t||ƒ t d
|d�}tdggdgg|d�}t||ƒ d S )N©é   ©Údtypeé   ©Úmaskr:   ÚaÚbÚf©ÚnamesÚformats©r   r   ©r;   r;   ©r8   r8   ©r>   r@   ©Úbar@   ©Zbbr@   ©r;   rE   )r/   Úfloatr	   r   Únpr:   )ÚselfÚtestÚcontrolÚdt© rR   úY/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/numpy/ma/tests/test_extras.pyÚtest_masked_all&   s6    

þ
ÿ
ÿ
zTestGeneric.test_masked_allc                 C   s    t  ddtfgdffg¡}t j d|¡}tt|d ƒt jjjƒ tt|d d ƒt jjjƒ tt	|d d ƒdƒ t|d d j
dƒ t|d d jj
dƒ d S )Nr?   Úc©r;   r;   rE   rR   ©rM   r:   ÚobjectÚmar/   r   ÚtypeÚcorer   Úlenr   Z_fill_value©rN   Zmy_dtypeÚ
masked_arrrR   rR   rS   Ú"test_masked_all_with_object_nestedD   s    z.TestGeneric.test_masked_all_with_object_nestedc                 C   sr   t  dtdffg¡}t j d|¡}tt|d ƒt jjjƒ tt	|d ƒdƒ t|d j
dƒ t|d jj
dƒ d S )Nr?   rV   r;   rE   rR   rW   r]   rR   rR   rS   Útest_masked_all_with_objectP   s    z'TestGeneric.test_masked_all_with_objectc                 C   sÐ   t ddgtd�}t|ƒ}t ddgddgtd�}t||ƒ t ddgddgdœ¡}t d	d	gd
d
g|d�}t|ƒ}t ddgd
d
g|d�}t||ƒ t ddddgfg¡}t ddgddg|d�}t|ƒ}t||ƒ d S )Nr;   r8   r9   r<   r>   r?   r@   rA   rD   rE   )é
   ra   rG   rH   rJ   rK   )r	   rL   r0   r   rM   r:   )rN   ÚbaserO   rP   rQ   rR   rR   rS   Útest_masked_all_likeZ   s    

ÿz TestGeneric.test_masked_all_likec           	      C   s¾   t ddƒD ]®}t d| ƒD ]œ}tj|td�}tj||td�}td| ƒ}|d| @ dk|_d}||ƒD ]}||j|  ¡ 7 }qf|t	kršt
| ¡  ¡ |ƒ q|j |_t
| ¡  ¡ |ƒ qq
d S )Nr;   é   r8   r9   r   )ÚrangerM   r
   ÚintÚfullr   r=   ÚdataÚsumr+   r   Ú
compressed)	rN   r@   ÚiÚjÚkÚjar>   ÚsÚslrR   rR   rS   Úcheck_clumpn   s    
zTestGeneric.check_clumpc                 C   sV   t t d¡ƒ}t|g d¢< t|ƒ}tddƒtddƒtddƒg}t||ƒ |  t¡ d S )Nra   ©r   r;   r8   é   é   é	   r   é   rs   rd   rt   )r   rM   r
   r   r*   Úslicer   rq   ©rN   r>   rO   rP   rR   rR   rS   Útest_clump_masked~   s    
zTestGeneric.test_clump_maskedc                 C   sN   t t d¡ƒ}t|g d¢< t|ƒ}tddƒtddƒg}t||ƒ |  t¡ d S )Nra   rr   rv   rs   rd   rt   )r   rM   r
   r   r+   rw   r   rq   rx   rR   rR   rS   Útest_clump_unmasked‰   s    
zTestGeneric.test_clump_unmaskedc                 C   s¨   t dƒ}t|ƒ}t|td|jƒgƒ tjdtd�|_t|td|jƒgƒ t	||dk |dkB |dkB < t|ƒ}t|tddƒtddƒgƒ t	|d d …< t|ƒ}t|g ƒ d S )	Nra   r   r9   rv   rt   é   rs   ru   )
r
   r,   r   rw   ÚsizerM   r   Úboolr=   r   )rN   r>   rO   rR   rR   rS   Útest_flatnotmasked_contiguous“   s    z)TestGeneric.test_flatnotmasked_contiguousN)Ú__name__Ú
__module__Ú__qualname__rT   r_   r`   rc   rq   ry   rz   r~   rR   rR   rR   rS   r6   $   s   

r6   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	e
j dg d¢ddgg d¢dgdgfg d¢g d¢gdg d¢gddgg d¢gg d¢gfg¡dd„ ƒZd d!„ ZdS )"ÚTestAveragec                 C   s$  t g d¢g d¢d�}tdt|dd�ƒ tdt|g d¢d�ƒ t|g d¢d	d
�\}}td|ƒ t|dkƒ t|d d …< tt|dd�jd	gƒ t g d¢g d¢d�}| dd¡}t|d d …df< tt|dd�ddgƒ tt|dd�jd d	gƒ tddgt|dd�ƒ t|dd	d�\}}t|ddgƒ d S )N)ç        ç      ð?ç       @ç      @)TFFF©r=   r…   r   ©Úaxis)r„   r„   r…   r„   ©ÚweightsT©r‹   Úreturnedç      @r8   r;   rƒ   ©r‰   r�   r„   )r	   r   r   r   r   r=   Úreshape)rN   ZottÚresultÚwtsrR   rR   rS   Útest_testAverage1¨   s     
zTestAverage.test_testAverage1c                 C   sB  g d¢}g d¢g d¢g}t dtjd�}tt|dd�dƒ tt|d|d�dƒ tt dtjd�d	t dƒ gƒ}tt|d ƒtj t  d¡¡d
 d ƒ tt|dd�t  d¡d
 d	 ƒ tt|dd�t|dd�t|dd�d	 gƒ tt|d |d�dƒ tt|d|d�g d¢ƒ 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
||ƒdd�dƒ ttt
||ƒdd�dƒ ttt
||ƒdd�jdgƒ ttt
||	ƒdd�dƒ tttt
||ƒdd�ƒdƒ t
||ƒ}
tt|
d ƒdƒ tt|
dd�g d¢ƒ tt|
dd�ddgƒ tt|
d|d�g d¢ƒ d S )N©r   r;   r;   r;   r;   r   ©r;   r   r   r   r   r;   rs   r9   r   rˆ   ç      @©r‰   r‹   r…   r†   ç      (@r;   rŠ   g«ªªªªª
@)rƒ   r„   r…   r†   rŽ   ç      $@)r   r   r;   r;   r   r   )r   r;   r;   r;   r;   r;   Trƒ   )rƒ   r„   ç     ÀX@rš   rŽ   g      @ç      @)rƒ   r„   rš   rš   rŽ   r™   )r
   rM   Zfloat64r   r   r	   ÚaddÚreducer   r   r   r=   r   )rN   Úw1Úw2ÚxÚyÚm1Úm2Zm3Zm4Zm5ÚzrR   rR   rS   Útest_testAverage2»   sF    & ÿÿÿ
ÿzTestAverage.test_testAverage2c                 C   sf  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|ƒƒ tddgddggtƒ}t|ddgddggƒ}t|dd�}	t|	ddgƒ t|dd�}
t|
ddgƒ t|d d�}
t|
dƒ t|dd�}
t|
ddgƒ d S )Nrs   rv   r;   Tr�   ©r8   r8   rv   r   ©r‰   r‹   r�   )r�   rŒ   r8   é   Frˆ   ç      à?r†   r„   g«ªªªªª@ç      ø?rŽ   )r
   r   r   r   r   r	   rL   r   )rN   r>   r?   Úr1rž   Úr2rŸ   Za2dZa2dmZa2daZa2dmarR   rR   rS   Útest_testAverage3Ý   s*    
zTestAverage.test_testAverage3c                 C   sˆ   t  g d¢¡ dd¡}t jj|dgdgdggd�}t  g d¢¡ dd¡}t||ddd�}td	gd
gdggdgdgdggƒ}t||ƒ d S )N©r8   rv   r¨   rv   r;   FTr‡   )r¨   r{   rs   )r‹   r‰   Úkeepdimsr…   r†   rŽ   )rM   r	   r�   rY   r   r   r   )rN   r    r?   ÚwÚactualÚdesiredrR   rR   rS   Útest_testAverage4õ   s    "zTestAverage.test_testAverage4c           	      C   sú  t  d¡ ddd¡}t  g d¢¡ ddd¡}t  dd¡}t jj||d�}|d d …d d …df }t|d	|d
�}tg d¢g d¢d�}t||ƒ t  dd¡}d|d d …d d …df< d|d< t jj||d�}t|d	|d
�}tt j	ddgg d¢d�}t||ƒ t  dd¡}t jj||d�}|dd d …d d …f }t|d|d
�}tddgddgd�}t||ƒ t
jtdd�� t|d|d
� W d   ƒ n1 �s†0    Y  t
jtdd�� t|d	|d
� W d   ƒ n1 �sÄ0    Y  t|d|d
�}t|d	|jd
�}t||ƒ d S )Né   r8   rv   )rƒ   rƒ   r„   r©   r©   rƒ   rƒ   r©   r©   r„   rƒ   rƒ   r¦   Fr‡   r   ©r   r;   r—   )ç      @ç       @ç      "@)FFFT©r   r   r;   r·   r¸   )TFFr;   ©r;   r8   g      @g     € @zHShape of weights must be consistent with shape of a along specified axis)Úmatch©r   r;   r8   )r;   r   )rM   r
   r�   r	   rg   rY   r   r   r   ÚnanÚpytestZraisesÚ
ValueErrorÚT)	rN   r¡   r°   ÚmZymaZsubw0r±   r²   Zsubw1rR   rR   rS   Ú$test_weight_and_input_dims_differentþ   sN    ÿ

þ

þ.þ.z0TestAverage.test_weight_and_input_dims_differentc                 C   s@   t tddgƒƒ}t|dƒ t tg d¢g d¢d�ƒ}t|dƒ d S )Nr;   r8   rª   )r;   r8   rv   r¨   ©FFTTr‡   )r   r	   r   ©rN   r>   rR   rR   rS   Útest_onintegers_with_mask1  s    
z%TestAverage.test_onintegers_with_maskc                 C   sê  t jg d¢g d¢gtd�}tg d¢g d¢g|d�}t|ƒ}t  | ¡ ¡}t|j|jƒ t|j|jƒ t|dd�}t|jdd�t|jdd�d	  }t|j|jƒ t|j|jƒ t|d
d�}t|jd
d�t|jd
d�d	  }t|j|jƒ t|j|jƒ t  g d¢g d¢g¡}	t||	d�}
t j| ¡ |	|  d�}t|
j|jƒ t|
j|jƒ t||	dd�}t|j|	dd�t|j|	dd�d	  }t|j|jƒ t|j|jƒ t||	d
d�}t|j|	d
d�t|j|	d
d�d	  }t|j|jƒ t|j|jƒ d S )N)r   r   r   r;   r   ©r   r;   r   r   r   r9   )r   y      ð?       @y      @      @y      @      @y      @       @)y              "@ù              ð?y       @      @y      @      @y      @      @r‡   r   rˆ   rÇ   r;   )r©   r„   r…   r„   r©   )r„   r„   r„   r„   r„   rŠ   ©r‹   r‰   )	rM   r	   r}   r   r   rj   r   ÚrealÚimag)rN   r=   r>   ÚavÚexpectedZav0Z	expected0Zav1Z	expected1r’   ZwavZwav0Zwav1rR   rR   rS   Útest_complex8  sR    
ÿÿÿþ  
ÿÿÿzTestAverage.test_complexz<x, axis, expected_avg, weights, expected_wavg, expected_wsum©r;   r8   rv   Nr…   )rv   r¨   r;   g      ü?r·   )r;   r8   r{   )r;   rs   é   r   )r„   rŽ   r·   r;   rv   )r„   r›   g      #@)r¨   r¨   r¨   c           
      C   s¼   t jj||dd�}|jt  |¡ks&J ‚t||ƒ t jj|||dd�}|jt  |¡ksXJ ‚t||ƒ t jj|||ddd�\}}	|jt  |¡ks�J ‚t||ƒ |	jt  |¡ks®J ‚t|	|ƒ d S )NT)r‰   r¯   )r‰   r‹   r¯   )r‰   r‹   r�   r¯   )rM   rY   r   r   r   )
rN   r    r‰   Zexpected_avgr‹   Zexpected_wavgZexpected_wsumÚavgZwavgZwsumrR   rR   rS   Útest_basic_keepdimsd  s    

ÿ

zTestAverage.test_basic_keepdimsc           	      C   sf  t jjt  d¡ dd¡g d¢g d¢g d¢gd�}tg d¢dd�}tg d¢g d¢d�}t|d|dd	�}t  g d
¢¡}t||ƒ t|d|dd	�}t  g d¢¡}t||ƒ t jjg d¢g d¢d�}t|dddt jgd�}t|dƒ t jjg d¢g d¢g d¢gg d¢g d¢g d¢gd�}t jj|dt jdgdd�}t jjdt jt jdgg d¢d�}t||ƒ t	|j
|j
ƒ d S )Nru   rv   ©r;   r   r   ©r   r   r   r‡   )r{   é   é   Fr   r§   )ç      @g     à@g     à@)rÖ   g0�­N@g0�­N@)r„   r…   r†   rŽ   rÃ   r;   rŠ   rª   )r›   rÖ   r¶   r·   )r¸   r„   r…   r†   )FTTF)TFTT)TFTFrÈ   r„   ç      @)rM   rY   r	   r
   r�   r   r   r   r½   r   r=   )	rN   r>   Zweights_unmaskedZweights_maskedZavg_unmaskedZexpected_unmaskedZ
avg_maskedZexpected_maskedZavg_expectedrR   rR   rS   Útest_masked_weights{  sD    ÿÿ

ÿ
ýýü
ÿ
zTestAverage.test_masked_weights)r   r€   r�   r“   r¥   r­   r³   rÂ   rÅ   rÍ   r¾   ÚmarkÚparametrizerÑ   rØ   rR   rR   rR   rS   r‚   ¦   s"   "	3,ÿÿþ
r‚   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestConcatenatorc                 C   sz   t td tg d¢ƒƒ tdƒ}g d¢}t||d�}t|dd|f }tt|tƒƒ t |g d¢ƒ t |jt|dd|f ƒ d S )N©r;   r8   rv   r¨   r{   rs   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   Ú
isinstancer   r=   )rN   r?   rÁ   ÚdrU   rR   rR   rS   Útest_1dª  s    zTestConcatenator.test_1dc                 C   s0  t j dd¡}t j dd¡}t  t j dd¡d¡}t  t j dd¡d¡}t||d�}t||d�}td||f }t|jdkƒ t|d d …d d…f |ƒ t|d d …dd …f |ƒ t|j	t j
d||f ƒ t||f }t|jdkƒ t|d d…d d …f |ƒ t|dd …d d …f |ƒ t|j	t j
||f ƒ d S )Nr{   r   r‡   Ú1)r{   ra   )ra   r{   )rM   ÚrandomÚrandÚroundr   r   r   r   r   r=   Zr_)rN   Za_1Za_2Zm_1Zm_2Zb_1Zb_2rÞ   rR   rR   rS   Útest_2dµ  s     zTestConcatenator.test_2dc                 C   sp   t tjjdf }t|jddgƒ t|jd dƒ t ddgtjjf }t|jg d¢ƒ t|jd d… ddgƒ d S )Nr;   TFr8   )FFT)r   rM   rY   r   r   r=   rh   )rN   r±   rR   rR   rS   Útest_masked_constantÉ  s    z%TestConcatenator.test_masked_constantN)r   r€   r�   rß   rä   rå   rR   rR   rR   rS   rÛ   §  s   rÛ   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestNotMaskedc                 C   sŽ  t t d¡ dd¡g d¢g d¢g d¢g d¢g d¢gd�}t|d ƒ}t|d	d
gƒ t|d	ƒ}t|d	 ddgƒ t|d ddgƒ t|dƒ}t|d	 ddgƒ t|d ddgƒ t|jd ƒ}t|d	d
gƒ t|jd	ƒ}t|d	 ddgƒ t|d ddgƒ t|jdƒ}t|d	 ddgƒ t|d ddgƒ t|d< t|d	ƒ}t|d	 ddgƒ t|d ddgƒ t|dƒ}t|d	 ddgƒ t|d ddgƒ d S )Né   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;   r8   rv   r¨   r;   )rv   rv   rv   r¨   r¨   )r   r   r8   r   rv   )r¨   r8   r¨   r¨   r¨   )r¨   r¨   r¨   r¨   r¨   éÿÿÿÿéþÿÿÿ)r;   r;   r8   r¨   r¨   )r   r;   r8   r¨   )r   r   r8   rv   )r¨   r8   r¨   r¨   )r   rM   r
   r�   r.   r   rh   r   ©rN   rh   rO   rR   rR   rS   Ú
test_edgesÖ  s>    üÿ




zTestNotMasked.test_edgesc                 C   s,  t t d¡ dd¡g d¢g d¢g d¢gd�}t|d ƒ}t|tdd	d ƒtd
dd ƒtddd ƒgƒ t|dƒ}t|tddd ƒtddd ƒgtddd ƒtddd ƒgtddd ƒtddd ƒgtddd ƒtddd ƒgtddd ƒgtddd ƒgg tddd ƒggƒ t|dƒ}t|tdd	d ƒgg tddd ƒtddd ƒggƒ d S )Nrè   rv   rt   )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;   r8   rs   rd   )r   rM   r
   r�   r-   r   rw   )rN   r>   ÚtmprR   rR   rS   Útest_contiguousø  s:    þÿ



ý
ø
ýzTestNotMasked.test_contiguousN)r   r€   r�   rí   rò   rR   rR   rR   rS   ræ   Ó  s   "ræ   c                   @   s|   e Zd Zdd„ Zdd„ Zdd„ Zej dg d¢¡ej d	d
ge	j
jdfe	j
jdfg¡dd„ ƒƒZdd„ Zdd„ Zdd„ ZdS )ÚTestCompressFunctionsc              	   C   s(  t  ttdƒƒ¡ ddd¡}t  d¡ t¡}d|d< t||d�}t|ƒ}t	|g d	¢g d
¢g d¢gg d¢g d¢g d¢ggƒ t|dƒ}t	|g d¢g d¢g d¢g d¢gg d¢g d¢g d¢g d¢ggƒ t|dƒ}t	|g d¢g d¢g d¢gg d¢g d¢g d¢gg d¢g d¢g d¢ggƒ t|dƒ}t|dƒ}t|dƒ}t	||ƒ t	||ƒ t	||ƒ t|dƒ}t	|g d	¢g d ¢g d
¢g d¢gg d!¢g d"¢g d#¢g d$¢gg d¢g d%¢g d¢g d¢ggƒ t|d&ƒ}t|d'ƒ}t|d(ƒ}t	||ƒ t	||ƒ t	||ƒ t|d)ƒ}t	|g d¢g d¢g d¢gg d¢g d¢g d¢ggƒ t|d*ƒ}t	||ƒ t|d+ƒ}t	|g d	¢g d
¢g d¢gg d!¢g d#¢g d$¢gg d¢g d¢g d¢ggƒ t|d,ƒ}t|d-ƒ}t|d.ƒ}t	||ƒ t	||ƒ t	||ƒ t|d/ƒ}t	|g d	¢g d ¢g d
¢g d¢gg d¢g d%¢g d¢g d¢ggƒ t|d0ƒ}t	||ƒ d S )1Né<   rv   r¨   r{   ©rv   r¨   r{   T©r;   r;   r;   r‡   )r   r8   rv   r¨   )ra   r´   é   é   )é   é   é   é   )é(   é*   é+   é,   )é2   é4   é5   é6   )é7   é9   é:   é;   r   ré   )r{   rs   rd   rt   ru   )ra   rÏ   r´   r÷   rø   )rù   rî   rú   rû   rü   )rý   é)   rþ   rÿ   r   )é-   é.   é/   é0   é1   )r  é3   r  r  r  )r  é8   r  r  r  r;   )é   é   rï   rð   rè   )é   rÕ   é    é!   é"   )é#   é$   é%   é&   é'   rV   rë   )rë   r8   )r{   rd   rt   ru   )r  rï   rð   rè   )rç   é   rÔ   é   )r  r  r  r  )r  r  r  r  )r
  r  r  r  r7   rê   )rê   rµ   )r   rë   rº   )rë   r8   )r;   rê   )rë   rê   ©r   r8   )r   rê   )
rM   r	   Úlistre   r�   r   Úastyper}   r'   r   )rN   r    rÁ   r>   Úa2Úa3Za4rR   rR   rS   Útest_compress_nd  sæ    
þþý

ýýü


þþþú








ýýýø







þþý



þþþú








ýýü	
z&TestCompressFunctions.test_compress_ndc                 C   s¸  t t d¡ dd¡g d¢g d¢g d¢gd�}tt|ƒddgdd	ggƒ tt|d
ƒg d¢g d¢gƒ tt|dƒddgddgdd	ggƒ t |jg d¢g d¢g d¢gd�}tt|ƒd
dgdd	ggƒ tt|d
ƒg d¢g d¢gƒ tt|dƒd
dgddgdd	ggƒ t |jg d¢g d¢g d¢gd�}tt|ƒd	ggƒ tt|d
ƒg d¢gƒ tt|dƒdgdgd	ggƒ t |jg d¢g d¢g d¢gd�}tt|ƒjd
ƒ tt|d
ƒjd
ƒ tt|dƒjd
ƒ d S )Nru   rv   rÒ   rÓ   r‡   r¨   r{   rd   rt   r   rõ   )rs   rd   rt   r;   r8   ©r   r;   r   rs   r¼   r¹   )r	   rM   r
   r�   r   r(   Ú_datar|   ©rN   r    rR   rR   rS   Útest_compress_rowcols‹  s$    ÿ" "  z+TestCompressFunctions.test_compress_rowcolsc                 C   sH  t t d¡ dd¡g d¢g d¢g d¢gd�}tt|ƒjg d¢g d¢g d¢gƒ tt|dƒjg d¢g d¢g d¢gƒ tt|dƒjg d¢g d¢g d¢gƒ t |jg d¢g d	¢g d¢gd�}tt|ƒjg d	¢g d¢g d	¢gƒ tt|dƒjg d¢g d¢g d¢gƒ tt|dƒjg d	¢g d	¢g d	¢gƒ t |jg d¢g d	¢g d¢gd�}tt|ƒjg d¢g d¢g d
¢gƒ tt|dƒjg d¢g d¢g d¢gƒ tt|dƒjg d
¢g d
¢g d
¢gƒ t |jg d¢g d	¢g d¢gd�}tt|ƒ 	¡ t
u ƒ tt|dƒ 	¡ t
u ƒ tt|dƒ 	¡ t
u ƒ tt|ƒj 	¡ ƒ tt|dƒj 	¡ ƒ tt|dƒj 	¡ ƒ d S )Nru   rv   rÒ   rÓ   r‡   rö   r   r;   r$  )r;   r;   r   r¹   )r	   rM   r
   r�   r   r)   r=   r%  r   Úallr   r&  rR   rR   rS   Útest_mask_rowcolsŸ  sN    ÿ
ÿÿÿ 
ÿÿÿ 
ÿÿÿ z'TestCompressFunctions.test_mask_rowcolsr‰   )Nr   r;   ÚfuncÚrowcols_axisr   r;   c                 C   st   t t d¡ dd¡g d¢g d¢g d¢gd�}ttƒ�, |||d�}t|t||ƒƒ W d   ƒ n1 sf0    Y  d S )Nru   rv   rÒ   rÓ   r‡   rˆ   )r	   rM   r
   r�   r   ÚDeprecationWarningr   r)   )rN   r‰   r*  r+  r    ÚresrR   rR   rS   Ú#test_mask_row_cols_axis_deprecation¿  s    ÿ
z9TestCompressFunctions.test_mask_row_cols_axis_deprecationc                 C   s0  t  dd¡}g d¢}t||d� dd¡}t||d� dd¡}t||dd�}t|jddgdd	ggƒ t||dd�}t|jg d
¢g d¢g d¢gƒ t||dd�}t|t  | d	¡| d	¡¡ƒ t||dd�}t|t  | d	¡| d	¡¡ƒ g d¢}t||d� dd¡}t||d� dd¡}t||dd�}t|jd	dgddggƒ t||dd�}t|jg d¢g d¢g d
¢gƒ t||dd�}t|t  | d	¡| d	¡¡ƒ t|t||ƒƒ t||dd�}t|t  | d	¡| d	¡¡ƒ g d¢}t||d� dd¡}t||d� dd¡}t||ƒ}t|jtƒ t||ƒ}t|jtƒ t|g d¢d� dd¡}t|g d¢d� dd¡}t||dd�}t|jddgd	d	ggƒ t||dd�}t|t  | d	¡| d	¡¡ƒ t||dd�}t|jg d¢g d¢g d¢gƒ t||dd�}t|t  | d	¡| d	¡¡ƒ t|g d¢d� dd¡}t|g d¢d� dd¡}t||dd�}t|jd	d	gddggƒ t||ƒ}t|t  | d	¡| d	¡¡ƒ t||dd�}t|jg d¢g d¢g d¢gƒ t||dd�}t|t  | d	¡| d	¡¡ƒ t|g d¢d� dd¡}t|g d¢d� dd¡}t||dd�}t|jdd	gddggƒ t||dd�}t|t  | d	¡| d	¡¡ƒ t||dd�}t|jg d¢g d
¢g d¢gƒ t||dd�}t|t  | d	¡| d	¡¡ƒ tt  d¡ ddd¡dd	gd	d	ggd	d	gd	d	gggd�}tt  d¡ ddd¡d	d	gd	d	ggd	d	gd	dgggd�}t||dd�}t|jddgddggd	d	gd	dgggd	d	gd	dggd	d	gd	dggggƒ t||dd�}t|jd	d	gd	dggd	d	gd	d	gggd	d	gd	d	ggd	d	gd	d	ggggƒ t||dd�}t|jdd	gd	d	ggdd	gd	d	gggdd	gd	d	ggddgddggggƒ t||dd�}t|jd	d	gd	d	ggd	d	gd	d	gggd	d	gd	d	ggdd	gd	d	ggggƒ tt  d¡ ddd¡dd	gd	d	ggd	d	gd	d	gggd�}d}t||dd�}t|jdd	gd	d	ggd	d	gd	d	gggƒ t||dd�}t|jdd	gd	d	ggd	d	gd	d	gggƒ t||dd�}t|jdd	gd	d	ggd	d	gd	d	gggƒ t||dd�}t|jdd	gd	d	ggd	d	gd	d	gggƒ tt  d¡ ddd¡dd	gd	d	ggd	d	gd	d	gggd�}tt  d¡d	dgd�}t||dd�}t|jddgddggƒ t||dd�}t|jdd	gd	d	ggƒ d S )Nr;   rd   )r;   r   r   r   r   r   r‡   r8   rv   T)Ústrictr   rö   rÒ   F©r   r   r   r   r   r;   r¹   )r   r   r   r   r   r   )r   r   r;   r   r   r   rt   r›   )	rM   r
   r   r�   r   r   r=   Úfilledr   )rN   ÚnrÁ   r>   r?   rU   rR   rR   rS   Útest_dotË  sÞ    


ÿÿÿÿÿÿÿÿÿÿÿ((((ÿzTestCompressFunctions.test_dotc                 C   sn   t  d¡}t|ƒ}ttt||ƒƒtu ƒ ttt||ƒƒtu ƒ ttt||ƒƒtu ƒ ttt||ƒƒtu ƒ d S )Nrv   )rM   Úeyer	   r   rZ   r   r   ©rN   r>   r?   rR   rR   rS   Útest_dot_returns_maskedarray:  s    
z2TestCompressFunctions.test_dot_returns_maskedarrayc                 C   sD   t t d¡ƒ}t t d¡ƒ}t|||d�}t||u ƒ t||ƒ d S )Nrv   )rv   rv   ©Úout)r	   rM   r4  r   r   r   r   )rN   r>   r8  r-  rR   rR   rS   Útest_dot_outC  s
    z"TestCompressFunctions.test_dot_outN)r   r€   r�   r#  r'  r)  r¾   rÙ   rÚ   rM   rY   Z	mask_rowsZ	mask_colsr.  r3  r6  r9  rR   rR   rR   rS   ró     s   p ÿ	o	ró   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestApplyAlongAxisc                 C   s@   t dƒ ddd¡}dd„ }t|d|ƒ}t|ddgdd	ggƒ d S )
Nr˜   r8   rv   c                 S   s   | d S ©Nr;   rR   )r?   rR   rR   rS   ÚmyfuncP  s    z*TestApplyAlongAxis.test_3d.<locals>.myfuncr;   r¨   rd   ra   ©r
   r�   r&   r   ©rN   r>   r<  ZxarR   rR   rS   Útest_3dM  s    zTestApplyAlongAxis.test_3dc                 C   sF   t dƒ ddd¡}ddd„}t|d|dd�}t|dd	gd
dggƒ d S )Nr´   r8   rv   r   c                 S   s   | d|  S r;  rR   )r?   ÚoffsetrR   rR   rS   r<  Z  s    z1TestApplyAlongAxis.test_3d_kwargs.<locals>.myfuncr;   )r@  r{   rt   rÏ   )r   r=  r>  rR   rR   rS   Útest_3d_kwargsW  s    
z!TestApplyAlongAxis.test_3d_kwargsN)r   r€   r�   r?  rA  rR   rR   rR   rS   r:  K  s   
r:  c                   @   s   e Zd Zdd„ ZdS )ÚTestApplyOverAxesc                 C   s�   t dƒ ddd¡}ttj|ddgƒ}t dgdgdggg¡}t||ƒ t||d  t	¡< ttj|ddgƒ}t d	gd
gdggg¡}t||ƒ d S )Nrè   r8   rv   r¨   r   rô   é\   é|   rÔ   r   )
r
   r�   r%   rM   ri   r	   r   r   r   r}   )rN   r>   rO   ZctrlrR   rR   rS   Ú
test_basicc  s    
zTestApplyOverAxes.test_basicN)r   r€   r�   rE  rR   rR   rR   rS   rB  a  s   rB  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ejjdg d¢d�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d2S )3Ú
TestMedianc                 C   s4   t jjt jt jgt jt jggdd�}t|t jƒ d S )Nrê   rˆ   )rM   rY   r   Úinfr   ©rN   ÚrrR   rR   rS   Útest_pytypeo  s    $zTestMedian.test_pytypec                 C   sì   t jjt j t jt jgt jt jgg¡dd�}t|t jƒ t jjt j t jt jgt jt jgg¡d d�}t|t jƒ t jjt jjt jt jgt jt jggdd�dd�}t|jdƒ t jjt jjt jt jgt jt jggdd�d d�}t|jdƒ d S )Nrê   rˆ   Tr‡   )rM   rY   r   r   rG  r   r=   rH  rR   rR   rS   Útest_infs  s8    
ÿÿ
ÿÿ
ÿÿþ
ÿÿþzTestMedian.test_infc                 C   sl  t  d¡}tt j |¡dƒ ttt j |¡ƒtuƒ tdƒ}tt j |¡dƒ ttt j |¡ƒtuƒ d}tt j |¡dƒ ttt j |¡ƒtuƒ t  d¡ 	dd¡}tt jj|dd	�t j|dd	�ƒ tt jj|d
d	�t j|d
d	�ƒ tt jj|d
d	�tuƒ t  d¡ 	dd¡}tt jj|dd	�t j|dd	�ƒ tt jj|d
d	�t j|d
d	�ƒ tt jj|d
d	�tuƒ d S )Nru   rŽ   rt   r×   r{   r›   éH   r   rˆ   r;   g      R@)
rM   r
   r   rY   r   r   rZ   r   re   r�   r&  rR   rR   rS   Útest_non_masked…  s"    
    zTestMedian.test_non_maskedc                 C   s  t t d¡dgd dgd  d�}ttj |¡dƒ ttj |¡jddƒ tttj |¡ƒt	uƒ t t d	¡ 
d
d¡dgd dgd  d�}ttj |¡dƒ ttj |¡jddƒ tttj |¡ƒt	uƒ tjj|ddd�}t|ddgƒ t|jddƒ tt|ƒt	u ƒ dS )z5test the examples given in the docstring of ma.medianrt   r   r¨   r;   r‡   rª   rR   úshape mismatchra   r8   r{   rs   r–   rê   T©r‰   Zoverwrite_inputr…   r›   r7   N)r	   rM   r
   r   rY   r   r   r   rZ   r   r�   )rN   r    Zma_xrR   rR   rS   Útest_docstring_examplesš  s    "*z"TestMedian.test_docstring_examplesc                 C   sü   d}t dƒD ]ê}dD ]à}td||d�}t t | |ƒddg¡}|D ]F\}}ztjj|||d� W qB ty†   t|||||f ƒ‚Y qB0 qBt |d  |gddg¡}|D ]J\}}ztjj|||d� W n tj	j
yÜ   Y q¨0 t|||||f ƒ‚q¨qqd S )	Nz5mask = %s, ndim = %s, axis = %s, overwrite_input = %sr{   )FTr;   )Úndminr=   FTrO  )re   r	   Ú	itertoolsÚproductrM   rY   r   Ú	ExceptionÚAssertionErrorÚ
exceptionsZ	AxisError)rN   ÚmsgrQ  r=   r    Úargsr‰   ZoverrR   rR   rS   Útest_axis_argument_errors©  s"    z$TestMedian.test_axis_argument_errorsc                 C   sD   t ddd�}ttj |¡dƒ t ddd�}ttj |¡tjjƒ d S )Nr;   Fr‡   T)r	   r   rM   rY   r   r   r&  rR   rR   rS   Útest_masked_0dÁ  s    zTestMedian.test_masked_0dc                 C   s¶  t t d¡dd�}ttj |¡tjjƒ ttj |¡jddƒ tt	tj |¡ƒtjj
ju ƒ t t d¡dd�}ttj |¡dƒ ttj |¡jddƒ tt	tj |¡ƒtuƒ t t d¡g d¢d�}ttj |¡d	ƒ ttj |¡jddƒ tt	tj |¡ƒtuƒ t t d¡g d
¢d�}ttj |¡dƒ ttj |¡jddƒ tt	tj |¡ƒtuƒ t t d¡g d¢d�}ttj |¡dƒ ttj |¡jddƒ tt	tj |¡ƒtuƒ t t d¡g d¢d�}ttj |¡dƒ ttj |¡jddƒ tt	tj |¡ƒtuƒ t t d¡g d¢d�}ttj |¡d	ƒ ttj |¡jddƒ tt	tj |¡ƒtuƒ t t d¡g d¢d�}ttj |¡d	ƒ ttj |¡jddƒ tt	tj |¡ƒtuƒ d S )Nr{   Tr‡   rR   rN  Fr…   rÆ   r–   )r   r;   r;   r;   r;   rƒ   )r   r;   r;   r   r   r†   r›   rs   r”   rÖ   )r	   rM   r
   r   rY   r   r   r   r   rZ   r[   ZMaskedConstantr   r&  rR   rR   rS   Útest_masked_1dÈ  s@    zTestMedian.test_masked_1dc                 C   sB   t tj tg d¢g d¢d�¡jtj tg d¢g d¢d�¡jƒ d S )NrÎ   rÓ   r‡   r$  )r   rM   rY   r   r	   r   ©rN   rR   rR   rS   Útest_1d_shape_consistencyî  s    ÿz$TestMedian.test_1d_shape_consistencyc                 C   sü   d\}}t t dd|¡ƒ}t |d d…< |dd …< t tj||ftd�ƒ}|d d … |d d …df< t t|ƒ¡}td|ƒD ]$}tj	 
|¡ || |d d …|f< qxtt|d d …df ƒdƒ tt|ƒdƒ tt|dd	�t |¡ƒ tt|jdd	�t |¡ƒ d S )
N)ée   r  ç      ð¿r„   ra   éöÿÿÿr9   r   r;   rˆ   )r   rM   Zlinspacer   ÚemptyrL   r
   r\   re   rá   Úshuffler   r   r   rÀ   )rN   r2  Úpr    r¤   Úidxrk   rR   rR   rS   rä   ò  s    zTestMedian.test_2dc                 C   sÔ   t t d¡ dd¡ƒ}t |d d…< |dd …< tt|ƒdƒ tttj	 |¡ƒt
uƒ tt|dd�g d¢ƒ tttj	j|dd�ƒt
u ƒ tt|d	d�g d
¢ƒ tttj	j|d	d�ƒt
u ƒ tt|d	d�jg d¢ƒ d S )Nr  ra   rv   éýÿÿÿç      -@r   rˆ   )ç      +@rf  g      /@r;   )
r   r   r   ra   r÷   rî   rü   r   r   r   )
r;   r;   r;   r   r   r   r   r;   r;   r;   )r   rM   r
   r�   r   r   r   r   rZ   rY   r   r=   r&  rR   rR   rS   Útest_2d_waxis  s    zTestMedian.test_2d_waxisc                 C   sÂ   t j d¡ ddd¡}t||d dk< tt|dƒddgdd	gddgd
d	ggƒ d|_tt|dƒddgddgddggƒ t j d¡ ddd¡}t||d dk< tt|dƒddgddgddggƒ d S )Nrè   rv   r¨   r8   r   r´   ru   rs   rù   rû   )r¨   rv   r8   éc   ra   rÏ   r÷   rø   r{   rt   rî   rú   )rM   rY   r
   r�   r   r   r   r   r&  rR   rR   rS   r?    s    ("zTestMedian.test_3dc                 C   sL   t t d¡ dd¡ƒ}t |d d…< |dd …< tt|dd�t|dd�ƒ d S )Nr  ra   rv   re  rê   rˆ   r;   )r   rM   r
   r�   r   r   r   r&  rR   rR   rS   Útest_neg_axis  s    zTestMedian.test_neg_axisc                 C   sˆ   dD ]~}t t |¡ƒ}t |d d…< |dd …< t t d¡ƒ}t||d�}|dkr\t|dƒ n
t|dƒ t||u ƒ tt|ƒt	u ƒ qd S )	N)r  ç      >@rÕ   g      ?@rv   re  rR   r7  r  rf  g      .@)
r   rM   r
   r   r   r   r   r   rZ   r   )rN   Úvr    r8  rI  rR   rR   rS   Útest_out_1d  s    
zTestMedian.test_out_1dc                 C   s  dD ]ú}t t |¡ dd¡ƒ}t |d d…< |dd …< t t d¡ƒ}t|d|d�}|dkršt d	gd g d
¢ d	gd  dgd dgd  dgd  d�}n>t d	gd g d¢ d	gd  dgd dgd  dgd  d�}t||ƒ t||u ƒ tt	|ƒt
u ƒ qd S )N)rý   g      D@r  rk  ra   rê   rv   re  r;   )r‰   r8  r  rƒ   )ra   r÷   rî   rü   TFr¨   r‡   )rg  g     €1@g     €5@g     €9@)r   rM   r
   r�   r   r   r   r   r   rZ   r   )rN   rl  r    r8  rI  ÚerR   rR   rS   Útest_out,  s    ÿÿ
zTestMedian.test_outr‰   )Nr;   rV   rµ   )re  rê   )ÚargnamesZ	argvaluesc                    sØ   t jdtd�}t j d¡t  |j¡d d …d f  }| t j¡}t j|t	|ƒ< t
t  |j¡|d�‰|d u rtdˆj }n*t|ˆjƒ‰ t	‡ ‡fdd„tˆjƒD ƒƒ}t
t  |¡ƒ}tˆ|d|d	�}||u sÈJ ‚t|j|ƒ d S )
N)rv   r{   rd   rÏ   r9   )r¨   éÈ   r‡   rV   c                 3   s$   | ]}|ˆ v rd nˆj | V  qdS )r;   N)r   )Ú.0rk   ©Z	axis_normrÞ   rR   rS   Ú	<genexpr>R  s   z/TestMedian.test_keepdims_out.<locals>.<genexpr>T)r‰   r¯   r8  )rM   r   r}   rá   r	   r   r   Zintpr½   Útupler   r   Úndimr   re   ra  r   r   )rN   r‰   r=   r°   Z	shape_outr8  r‘   rR   rs  rS   Útest_keepdims_out=  s    $ÿzTestMedian.test_keepdims_outc                 C   sF   ddgddgddgg}t j |d¡}ddg}tt jj|dd�|ƒ d S )Nr„   rƒ   r†   r   rˆ   )rM   rY   Zmasked_equalr   r   )rN   rh   r^   rÌ   rR   rR   rS   Ú$test_single_non_masked_value_on_axisY  s    þÿz/TestMedian.test_single_non_masked_value_on_axisc                 C   s¦  dt jdtd�fD �]
}t j dt jdgg d¢g¡}||_t jj|d d�}tt  	|¡ƒ t
|t jƒ t jj| ¡ dd�}tt  	|¡ƒ t
|t jƒ t jj|dd�}tt|ƒtƒ t
|dt jdgƒ t jj|dd�}tt|ƒtƒ t
|t jd	gƒ t jj|d
d�}tt|ƒtƒ t
|t jd	gƒ qt j dt jdgg d¢g¡}t jj|d d …d	f< t
t jj|d d�t jƒ t
t jj|dd�dt jdgƒ t
t jj|dd�t jdgƒ d S )NFrs   r9   r;   rv   rÎ   rˆ   r   r8   rê   rª   )rM   r   r}   rY   r	   r½   r=   r   r   Úisscalarr   Zravelr   rZ   r   r   )rN   r=   ÚdmrI  rR   rR   rS   Útest_nanb  s.    zTestMedian.test_nanc                 C   s¨   t j t  d¡¡}t j t  d¡¡}t j|d< t jj|d< tt jj|d|d�|ƒ t j t  d¡¡}tt jj|d|d�|ƒ t j t  d	¡¡}tt jj||d�|ƒ d S )
N)r¨   ©rv   r¨   ©r8   r;   rF   r   r7  ©rv   r;   rR   )	rM   rY   r   r   r   r½   r   r   r   )rN   ÚorÞ   rR   rR   rS   Útest_out_nan  s    
zTestMedian.test_out_nanc                 C   s†  t j t jdtd�¡}t jj|d d d…< t j|d< tt j |¡t jƒ tt jj|dd�t jƒ t j t jdtd� 	ddd¡¡}t  |j
¡d dk|_| ¡ }t j|d	< t j|d
< tt j |¡t jƒ tt  t j |¡¡ƒ t jj|dd�}t j|d< t j|d< tt j |d¡|ƒ t jj|dd�}t j|d< t j|d< tt j |d¡|ƒ t jj|dd�}t j|d< t j|d< tt j |d¡|ƒ d S )Nrè   r9   rv   r8   r   rˆ   r¨   r;   rÎ   )r;   r;   r8   ©r8   rv   rº   ©r;   rv   r  )rM   rY   r   r
   rL   r   r½   r   r   r�   r|   r=   Úcopyr   ry  r   )rN   r>   Zaorigr?   rR   rR   rS   Útest_nan_behaviorŠ  s0    
 







zTestMedian.test_nan_behaviorc                 C   sŽ   t jg d¢g d¢gt jd�}t jj||dkd�}tt jj|dd�dƒ tt jj|dd�jdƒ tt jj|d	d�|d	 ƒ tt j |¡dƒ d S )
N)rv   rv   éÿ   r9   rv   r‡   r;   rˆ   r…  Fr   )rM   r	   Zuint8rY   r   r   r   r=   rÄ   rR   rR   rS   Útest_ambigous_fill­  s    zTestMedian.test_ambigous_fillc                 C   s  t jt j fD �]ì}t  |t jgt jt jgg¡}t jj|t  |¡d�}tt jj|dd�|t jgƒ tt jj|dd�|t jgƒ tt j |¡|ƒ t  t jt j|gt jt j|gg¡}t jj|t  |¡d�}t	t jj|dd�|ƒ t	t jj|dd�j
dƒ t	t jj|dd�|d ƒ t	t j |¡|ƒ t  ||g||gg¡}tt j |¡|ƒ tt jj|dd�|ƒ tt jj|dd�|ƒ t j|d| dgdt jt jd	gd
t jt j|ggt jd�}t jj|t  |¡d�}|dk�rtt jj|dd�dd| dgƒ tt j |¡dƒ n2tt jj|dd�dd| dgƒ tt j |¡dƒ tt jj|dd�dd|gƒ tddƒD ] }tddƒD ]Ž}t  t jg| |g|  gd ¡}t jj|t  |¡d�}tt j |¡|ƒ tt jj|dd�|ƒ tt jj|dd�t jg| |g|  ƒ �qh�qZqd S )Nr‡   r   rˆ   r;   Frd   i÷ÿÿÿr`  r{   r¨   r9   rŽ   r¶   r›   g      @g      $Àg      "Àg      Àr_  ra   r8   )rM   rG  r	   r½   rY   r   Úisnanr   r   r   r=   Zfloat32re   )rN   rG  r>   rk   rl   rR   rR   rS   Útest_special¶  sL    "þý
  "ÿzTestMedian.test_specialc                 C   s²  t j t jg td�¡}tƒ �B}| t¡ tt j 	|¡t j
ƒ t|jd jtu ƒ W d   ƒ n1 sd0    Y  t j t jg tdd�¡}tƒ �P}| t¡ t ddt¡ tt j 	|¡t j
ƒ t|jd jtu ƒ W d   ƒ n1 sâ0    Y  t j t jg tdd�¡}tt jj	|dd�|ƒ tt jj	|d	d�|ƒ t j t jt j
tdd�¡}tjd
d��F}t ddt¡ tt jj	|dd�|ƒ t|d jtu ƒ W d   ƒ n1 �s¤0    Y  d S )Nr9   r   rv   )r:   rQ  ÚalwaysÚ r8   rˆ   r;   T)Úrecord)rM   rY   r   r	   rL   r   r‹  ÚRuntimeWarningr   r   r½   r   ÚlogÚcategoryÚwarningsÚfilterwarningsr   Úcatch_warnings)rN   r>   r°   r?   rR   rR   rS   Ú
test_emptyá  s&    
2
2zTestMedian.test_emptyc                 C   sX   t j t  d¡¡}ttt j | t¡¡ƒt	ƒ t j
|d< ttt j | t¡¡ƒt	ƒ d S )Nr¶   r8   )rM   rY   r   r
   r   rZ   r   r   rX   rL   r½   )rN   r  rR   rR   rS   Útest_objectþ  s    
zTestMedian.test_objectN)r   r€   r�   rJ  rK  rM  rP  rY  rZ  r[  r]  rä   rh  r?  rj  rm  ro  r¾   rÙ   rÚ   rw  rx  r{  r€  r„  r†  rˆ  r’  r“  rR   rR   rR   rS   rF  n  s6   &þ

	#	+rF  c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestCovc                 C   s   t tj d¡ƒ| _d S ©Nr´   )r	   rM   rá   râ   rh   r\  rR   rR   rS   Úsetup_method  s    zTestCov.setup_methodc                 C   sZ   | j }tt |¡t|ƒƒ ttj|dd�t|dd�ƒ ttj|ddd�t|ddd�ƒ d S )NF©ÚrowvarT©r˜  Úbias)rh   r   rM   r   r&  rR   rR   rS   Útest_1d_without_missing
  s    ÿzTestCov.test_1d_without_missingc                 C   sb   | j  dd¡}tt |¡t|ƒƒ ttj|dd�t|dd�ƒ ttj|ddd�t|ddd�ƒ d S )Nrv   r¨   Fr—  Tr™  )rh   r�   r   rM   r   r&  rR   rR   rS   Útest_2d_without_missing  s    ÿzTestCov.test_2d_without_missingc                 C   s>  | j }t|d< || ¡ 8 }| ¡ }tt |¡t|ƒƒ ttj|dd�t|dd�ƒ ttj|ddd�t|ddd�ƒ zt|dd� W n ty”   Y n0 |dd… }tt ||d d d… ¡t||d d d… ƒƒ ttj||d d d… dd�t||d d d… dd�ƒ ttj||d d d… ddd�t||d d d… ddd�ƒ d S )Nrê   Fr—  Tr™  ©Zallow_maskedr;   )rh   r   Úmeanrj   r   rM   r   r¿   )rN   r    ÚnxrR   rR   rS   Útest_1d_with_missing  s*    ÿ,ÿÿzTestCov.test_1d_with_missingc                 C   s6  | j }t|d< | dd¡}t t|ƒ¡ t¡}t ||j	¡}|| 
d¡d d …d f   d¡}tt|ƒt |¡|jd d  |d  ƒ tt|dd�tj|dd�|jd  | ƒ t |j	|¡}|| 
d¡  d¡}tt|d	d
�tj|d	d
�|jd d  |d  ƒ tt|d	dd�tj|d	dd�|jd  | ƒ d S )Nrê   rv   r¨   r;   r   r„   T©rš  Fr—  r™  )rh   r   r�   rM   Zlogical_notr   r   rf   r   rÀ   rž  r1  r   r   r   )rN   r    ZvalidÚfracZxfrR   rR   rS   Útest_2d_with_missing2  s8     ÿÿÿÿÿÿÿÿzTestCov.test_2d_with_missingN)r   r€   r�   r–  r›  rœ  r   r£  rR   rR   rR   rS   r”    s
   r”  c                   @   sD   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S )ÚTestCorrcoefc                 C   s(   t tj d¡ƒ| _t tj d¡ƒ| _d S r•  )r	   rM   rá   râ   rh   Údata2r\  rR   rR   rS   r–  J  s    zTestCorrcoef.setup_methodc                 C   sÜ   | j | j }}t |¡}t ||¡}tƒ �ž}t d¡ ttt|dd� | 	td¡ t
tj|dd�t|dd�ƒ t
t|dd�|ƒ t
t||dd�|ƒ t
t|dd�|ƒ t
t||dd�|ƒ W d   ƒ n1 sÎ0    Y  d S )Nr‰  rê   ©Zddofúbias and ddof have no effectr   rv   ©rh   r¥  rM   r   r   r�  Úsimplefilterr   r,  Úfilterr   )rN   r    r¡   rÌ   Z	expected2ÚsuprR   rR   rS   Ú	test_ddofN  s    

zTestCorrcoef.test_ddofc                 C   sž   | j | j }}t |¡}tƒ �l}t d¡ ttt||ddƒ ttt||ddƒ ttt|dd� | 	td¡ t
t|dd�|ƒ W d   ƒ n1 s�0    Y  d S )Nr‰  TFr¡  r§  r;   r¨  )rN   r    r¡   rÌ   r«  rR   rR   rS   Ú	test_bias^  s    

zTestCorrcoef.test_biasc                 C   sŒ   | j }tt |¡t|ƒƒ ttj|dd�t|dd�ƒ tƒ �<}| td¡ ttj|ddd�t|ddd�ƒ W d   ƒ n1 s~0    Y  d S )NFr—  r§  Tr™  )rh   r   rM   r   r   rª  r,  ©rN   r    r«  rR   rR   rS   r›  k  s    
ÿÿz$TestCorrcoef.test_1d_without_missingc                 C   s”   | j  dd¡}tt |¡t|ƒƒ ttj|dd�t|dd�ƒ tƒ �<}| td¡ ttj|ddd�t|ddd�ƒ W d   ƒ n1 s†0    Y  d S )Nrv   r¨   Fr—  r§  Tr™  )rh   r�   r   rM   r   r   rª  r,  r®  rR   rR   rS   rœ  v  s    
ÿÿz$TestCorrcoef.test_2d_without_missingc              	   C   sÌ  | j }t|d< || ¡ 8 }| ¡ }tt |¡t|ƒƒ ttj|dd�t|dd�ƒ tƒ �<}| t	d¡ ttj|ddd�t|ddd�ƒ W d   ƒ n1 sš0    Y  zt|dd� W n t
yÆ   Y n0 |dd… }tt ||d d d… ¡t||d d d… ƒƒ ttj||d d d… dd�t||d d d… dd�ƒ tƒ �|}| t	d¡ tt ||d d d… ¡t||d d d… dd	�ƒ tt ||d d d… ¡t||d d d… d
d�ƒ W d   ƒ n1 �s¾0    Y  d S )Nrê   Fr—  r§  Tr™  r�  r;   r¡  r8   r¦  )rh   r   rž  rj   r   rM   r   r   rª  r,  r¿   )rN   r    rŸ  r«  rR   rR   rS   r   �  s<    
ÿÿ",ÿÿÿz!TestCorrcoef.test_1d_with_missingc                 C   s$  | j }t|d< | dd¡}t|ƒ}t |¡}t|d d…d d…f |d d…d d…f ƒ tƒ �²}| td¡ tt|dd�d d…d d…f |d d…d d…f ƒ tt|dd�d d…d d…f |d d…d d…f ƒ tt|dd�d d…d d…f |d d…d d…f ƒ W d   ƒ n1 �s0    Y  d S )	Nrê   rv   r¨   r§  rë   r¦  r;   r¡  )	rh   r   r�   r   rM   r   r   rª  r,  )rN   r    rO   rP   r«  rR   rR   rS   r£  Ÿ  s"    
*ÿÿÿz!TestCorrcoef.test_2d_with_missingN)
r   r€   r�   r–  r¬  r­  r›  rœ  r   r£  rR   rR   rR   rS   r¤  H  s   r¤  c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestPolynomialc                 C   s¸  t j d¡}t j d¡ dd¡}tt||dƒt  ||d¡ƒ | t¡}t|d< | t¡}t |d< |d< t||d d …df dd	d
�\}}}}}t j|dd … |dd …df  	¡ dd	d
�\}}	}
}}t
|||||f||	|
||fƒD ]\}}t||ƒ qàt||d d …df dd	d
�\}}}}}t j|dd… |dd…df dd	d
�\}}	}
}}t
|||||f||	|
||fƒD ]\}}t||ƒ �qht||dd	d
�\}}}}}t j|dd… |dd…d d …f dd	d
�\}}	}
}}t
|||||f||	|
||fƒD ]\}}t||ƒ �qêt j d¡d }| ¡ }|dd… }|dd… }|dd… }t||dd	|d�\}}}}}t j||dd	|d�\}}	}
}}t||ƒ t
|||||f||	|
||fƒD ]\}}t||ƒ �qžd S )Nra   r  rê   r8   rv   r   rD   ©rê   rê   T©rg   r;   )rg   r°   )rM   rá   râ   r�   r   r   Úviewr   r   rj   Úziprƒ  r   )rN   r    r¡   ÚCÚRÚKÚSÚDrU   rI  rm   ro   rÞ   r>   Úa_r°   ZwoÚxsZysÚwsrR   rR   rS   Útest_polyfitµ  s>    

&"ÿ&&0&4&
&zTestPolynomial.test_polyfitc                 C   sÜ   t j d¡}t j d¡ dd¡}t j|d< t j|d< | t¡}| t¡}t|d< t|d< t||ddd	�\}}}}}t j|d
d… |d
d…d d …f ddd	�\}}	}
}}t	|||||f||	|
||fƒD ]\}}t
||ƒ qÄd S )Nra   r  rê   r8   r   r°  rv   Tr±  r;   )rM   rá   râ   r�   r½   r²  r   r   r   r³  r   )rN   r    r¡   r´  rµ  r¶  r·  r¸  rU   rI  rm   ro   rÞ   r>   r¹  rR   rR   rS   Útest_polyfit_with_masked_NaNsÜ  s    



4&z,TestPolynomial.test_polyfit_with_masked_NaNsN)r   r€   r�   r¼  r½  rR   rR   rR   rS   r¯  ³  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!S )"ÚTestArraySetOpsc                 C   sn   g d¢}t |ddd�}tt|d tƒƒ t|d tg d¢g d¢d�ƒ t|d g d	¢ƒ t|d
 g d¢ƒ d S )N©r;   r;   r;   r8   r8   rv   T©Zreturn_indexZreturn_inverser   rÎ   rÓ   r‡   r;   )r   rv   r{   r8   )r   r   r   r;   r;   r8   )r   r   rÝ   r   r   r   rì   rR   rR   rS   Útest_unique_onlistï  s    z"TestArraySetOps.test_unique_onlistc                 C   sÔ   t g d¢g d¢d�}t|ddd�}t|d t g d¢g d¢d�ƒ t|d	 g d
¢ƒ t|d g d¢ƒ d|_t g d¢g d¢dd�}t|ddd�}t|d t g d¢g d¢d�ƒ t|d	 g d
¢ƒ t|d g d¢ƒ d S )Nr¿  )r   r   r;   r   r;   r   r‡   TrÀ  r   )r;   r8   rv   rê   ©r   r   r   r;   r;   )r   rv   r{   r8   r8   )r   r   rv   r;   rv   r8   rv   )rh   r=   Ú
fill_value)r   r   r   rÃ  rì   rR   rR   rS   Útest_unique_onmaskedarrayø  s    ÿz)TestArraySetOps.test_unique_onmaskedarrayc                 C   s¢   t g d¢dd�}t|ddd�}t|d t dgdgd�ƒ t|d dgƒ t|d g d¢ƒ t}t|ddd�}t|d t tƒƒ t|d dgƒ t|d dgƒ d S )	Nrö   Tr‡   rÀ  r   r;   r8   rÓ   )r   r   r   r   rì   rR   rR   rS   Útest_unique_allmasked  s    z%TestArraySetOps.test_unique_allmaskedc                 C   sd   t t d¡g d¢d�}tg d¢g d¢d�}t|ƒ}t||ƒ t| d¡| d¡ƒ t|j|jƒ d S )Nr{   ©r;   r   r   r   r;   r‡   )r;   r;   r;   r¨   )r;   r   r   r;   r   )r   rM   r
   r	   r$   r   r1  r=   )rN   r    rP   rO   rR   rR   rS   Útest_ediff1d  s    
zTestArraySetOps.test_ediff1dc                 C   sº   t t d¡g d¢d�}t|td�}tg d¢g d¢d�}t||ƒ t| d¡| d¡ƒ t|j|jƒ t|g d¢d�}tg d	¢g d
¢d�}t||ƒ t| d¡| d¡ƒ t|j|jƒ d S )Nr{   rÆ  r‡   )Úto_begin)r   r;   r;   r;   r¨   )r;   r;   r   r   r;   r   rÎ   )r;   r8   rv   r;   r;   r;   r¨   )r   r   r   r;   r   r   r;   ©	r   rM   r
   r$   r   r	   r   r1  r=   ©rN   r    rO   rP   rR   rR   rS   Útest_ediff1d_tobegin   s    

z$TestArraySetOps.test_ediff1d_tobeginc                 C   sº   t t d¡g d¢d�}t|td�}tg d¢g d¢d�}t||ƒ t| d¡| d¡ƒ t|j|jƒ t|g d¢d�}tg d	¢g d
¢d�}t||ƒ t| d¡| d¡ƒ t|j|jƒ d S )Nr{   rÆ  r‡   )Úto_end)r;   r;   r;   r¨   r   )r;   r   r   r;   r;   r   rÎ   )r;   r;   r;   r¨   r;   r8   rv   )r;   r   r   r;   r   r   r   rÉ  rÊ  rR   rR   rS   Útest_ediff1d_toend/  s    

z"TestArraySetOps.test_ediff1d_toendc                 C   s¾   t t d¡g d¢d�}t|ttd�}tg d¢g d¢d�}t||ƒ t| d¡| d¡ƒ t|j|jƒ t|g d¢td�}tg d	¢g d
¢d�}t||ƒ t| d¡| d¡ƒ t|j|jƒ d S )Nr{   rÆ  r‡   ©rÌ  rÈ  )r   r;   r;   r;   r¨   r   )r;   r;   r   r   r;   r;   r   rÎ   )r   r;   r;   r;   r¨   r;   r8   rv   )r;   r;   r   r   r;   r   r   r   rÉ  rÊ  rR   rR   rS   Útest_ediff1d_tobegin_toend>  s    
ÿ
z*TestArraySetOps.test_ediff1d_tobegin_toendc                 C   sº   t  d¡}t|ƒ}tg d¢g d¢d�}t||ƒ tt|tƒƒ t| d¡| d¡ƒ t|j	|j	ƒ t|t
t
d�}tg d¢g d¢d�}tt|tƒƒ t| d¡| d¡ƒ t|j	|j	ƒ d S )	Nr{   ©r;   r;   r;   r;   ©r   r   r   r   r‡   r   rÎ  r”   r•   )rM   r
   r$   r	   r   r   rÝ   r   r1  r=   r   rÊ  rR   rR   rS   Útest_ediff1d_ndarrayN  s    

z$TestArraySetOps.test_ediff1d_ndarrayc                 C   sT   t g d¢g d¢d�}t g d¢g d¢d�}t||ƒ}t g d¢g d¢d�}t||ƒ d S )N)r;   rv   rv   rv   rÂ  r‡   )rv   r;   r;   r;   )r;   rv   rê   r¹   )r	   r"   r   )rN   r    r¡   rO   rP   rR   rR   rS   Útest_intersect1d^  s
    
z TestArraySetOps.test_intersect1dc                 C   s$  t g d¢g d¢d�}t g d¢g d¢d�}t||ƒ}t|t g d¢ƒƒ t g d¢g d¢d�}g d¢}t||ƒ}t|t g d¢g d	¢d�ƒ t g d
¢ƒ}t g d¢ƒ}t||ƒ}tt|tƒƒ t|g d¢ƒ t g d¢g d¢d�}t g d¢g d	¢d�}t||ƒ}tt|tƒƒ t|g d¢ƒ tg tg g ƒƒ d S )N©r;   r8   r{   rd   rê   ©r   r   r   r   r;   r‡   ©r;   r8   rv   r¨   r{   rê   r0  )rv   r¨   rd   )r;   r8   rv   r¨   r{   )rv   r¨   rd   rê   rÂ  rÎ   )rs   r{   r¨   rÜ   )r;   rt   r8   rv   )r   r;   r   r   )rs   r{   r¨   rt   )r	   r   r   r   rÝ   r   r   ©rN   r>   r?   rO   rR   rR   rS   Útest_setxor1df  s&    



zTestArraySetOps.test_setxor1dc                 C   sº   t  d¡ g d¢¡}t  g d¢¡}d|d< t||d�}tg d¢g d¢d�}tdtd	�}d
|d< d
|d< d
|d< t||ƒ}tt|t	ƒƒ t
||ƒ t  |||j  ¡|j @ }t
||ƒ d S )Nrè   r®   r;   )r;   r8   r   r‡   )	r   ra   r  r  r;   rv   rÏ   rï   r  )	r   r;   r   r;   r   r;   r   r;   r   )rh   r=   r9   TrÓ   r¹   )r   r8   rv   )rM   r
   r�   r   r	   r}   r1   r   rÝ   r   r   r=   )rN   r>   r=   r?   ÚecrU   rÞ   rR   rR   rS   Ú	test_isin€  s     ÿ

zTestArraySetOps.test_isinc                 C   s”   t g d¢g d¢d�}t g d¢g d¢d�}t||ƒ}t|g d¢ƒ t g d¢g d¢d�}t g d¢g d	¢d�}t||ƒ}t|g d
¢ƒ tg tg g ƒƒ d S )NrÔ  rÕ  r‡   rÖ  r0  )TTTFT©r{   r{   r8   r;   rê   ©r;   r{   rê   r¹   )TTFTT)r	   r#   r   r   r×  rR   rR   rS   Ú	test_in1d•  s    

zTestArraySetOps.test_in1dc                 C   s¨   t g d¢g d¢d�}t g d¢g d¢d�}tt t||ƒ¡t||dd�ƒ t g d¢g d¢d�}t g d	¢g d
¢d�}tt t||ƒ¡t||dd�ƒ tg tg g dd�ƒ d S )NrÔ  rÕ  r‡   rÖ  r0  T)ÚinvertrÛ  rÜ  r¹   )r	   r   rM   rÞ  r#   r   r5  rR   rR   rS   Útest_in1d_invert£  s      z TestArraySetOps.test_in1d_invertc           	      C   sÄ   t g d¢g d¢d�}t g d¢g d¢d�}t||ƒ}t g d¢g d¢d�}t||ƒ t g d¢g d¢gg d	¢g d
¢gd�}t g d¢g d¢d�}t g d¢g d¢d�}t||ƒ}t||ƒ tg tg g ƒƒ d S )N)r;   r8   r{   rd   r{   rê   r0  r‡   rÖ  )r;   r8   rv   r¨   r{   rd   rê   )r   r   r   r   r   r   r;   r¼   rõ   rÓ   r¹   ré   rÕ  )r   r;   r8   rv   r¨   r{   )r	   r!   r   r   )	rN   r>   r?   rO   rP   r    r¡   Zezr¤   rR   rR   rS   Útest_union1d¯  s    

$

zTestArraySetOps.test_union1dc                 C   s”   t g d¢g d¢d�}t g d¢ƒ}t||ƒ}t|t g d¢g d¢d�ƒ tdƒ}tdƒ}tt||ƒt dd	gƒƒ t g tjg d�}tt|g ƒjtjƒ d S )
N)rs   r{   r¨   rd   rd   r;   r8   r;   )r   r   r   r   r   r   r   r;   r‡   )r8   r¨   rv   rv   r8   r;   r{   )rs   rd   rê   r¹   ra   rt   ru   )r	   r    r   r
   rM   Zuint32r:   r×  rR   rR   rS   Útest_setdiff1dÁ  s    
zTestArraySetOps.test_setdiff1dc                 C   s8   t  g d¢¡}t  g d¢¡}tt||ƒt  dg¡ƒ d S )N)r>   r?   rU   )r>   r?   ro   rU   )rM   r	   r   r    r5  rR   rR   rS   Útest_setdiff1d_char_arrayÎ  s    z)TestArraySetOps.test_setdiff1d_char_arrayN)r   r€   r�   rÁ  rÄ  rÅ  rÇ  rË  rÍ  rÏ  rÒ  rÓ  rØ  rÚ  rÝ  rß  rà  rá  râ  rR   rR   rR   rS   r¾  í  s    		r¾  c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestShapeBasec                 C   sn   t g d¢g d¢d�}t|ƒ}t|jdƒ t|jj|jjƒ t|jdƒ t|jj|jjƒ t|jj|jjƒ d S )Nr¼   r$  r‡   r‚  r~  )r   r   r   r   r=   rh   r5  rR   rR   rS   Útest_atleast_2d×  s    zTestShapeBase.test_atleast_2dc                 C   sˆ  t dƒ}t|jdƒ t|jj|jƒ t|jj|jƒ t ddƒ}|D ]0}t|jdƒ t|jj|jƒ t|jj|jƒ qBtdƒ}t|jdƒ t|jj|jƒ t|jj|jƒ tddƒ}|D ]0}t|jdƒ t|jj|jƒ t|jj|jƒ q¶tdƒ}t|jdƒ t|jj|jƒ t|jj|jƒ tddƒ}|D ]2}t|jdƒ t|jj|jƒ t|jj|jƒ �q*tdƒ}t|jdƒ t|jj|jjƒ d S )Nr„   rV   r…   rE   rö   )r   r   r   r=   rh   r   r   r2   )rN   r?   r>   rR   rR   rS   Útest_shape_scalará  s<    


zTestShapeBase.test_shape_scalarN)r   r€   r�   rä  rå  rR   rR   rR   rS   rã  Õ  s   
rã  c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestNDEnumeratec                 C   s‚   t  d¡ d¡}t j|td�}t||d�}ttt  |¡ƒtt|ƒƒƒ ttt|ƒƒtt|ƒƒƒ ttt|ƒƒtt|dd�ƒƒ d S )NrÖ   )r;   rv   r8   r9   r‡   F©rj   )	rM   r
   r�   Z
zeros_liker}   r   r   r  r3   )rN   ZordinaryZ
empty_maskZ	with_maskrR   rR   rS   Útest_ndenumerate_nomasked  s    
ÿ
ÿÿz)TestNDEnumerate.test_ndenumerate_nomaskedc                 C   sª   t dƒ}t dƒ}t dƒ}ttt|ƒƒg ƒ ttt|ƒƒg ƒ ttt|dd�ƒttt d¡dtg ƒƒƒ ttt|ƒƒg ƒ ttt|dd�ƒttt d¡dtg ƒƒƒ d S )NrR   )éd   r®   Frç  ré  rè   )r/   r   r  r3   r³  rM   Zndindexr   )rN   r>   r?   rU   rR   rR   rS   Útest_ndenumerate_allmasked  s    ÿÿz*TestNDEnumerate.test_ndenumerate_allmaskedc                 C   sˆ   t t d¡ d¡g d¢g d¢g d¢gd�}g d¢}ttt|ƒƒ|ƒ tttt|dd	�ƒƒ|jƒ t|dd	�D ]\}}t|| |ƒ qld S )
Nr´   r|  rÐ  )r;   r;   r   r;   rÑ  r‡   ))rº   rs   ))r8   r   rt   )r}  ru   )rF   ra   )r�  rÏ   Frç  )	r   rM   r
   r�   r   r  r3   r\   r|   )rN   r>   ÚitemsZ
coordinateÚvaluerR   rR   rS   Útest_ndenumerate_mixedmasked%  s    þÿz,TestNDEnumerate.test_ndenumerate_mixedmaskedN)r   r€   r�   rè  rê  rí  rR   rR   rR   rS   ræ    s   ræ  c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )Ú	TestStackc                 C   sä   t g d¢g d¢d�}t g d¢g d¢d�}t||gdd�}t|jdƒ t|j|d jƒ t|j|d	 jƒ t||gƒ}t|j|jƒ t|j|jƒ t||gd	d�}t|jd
ƒ t|j|d d …df jƒ t|j|d d …d	f jƒ d S )Nr¼   r$  r‡   ©ru   rt   rd   rÒ   r   rˆ   r�  r;   ©rv   r8   ©r   r4   r   r   r   r=   r5   rh   ©rN   r>   r?   rU   rÞ   rR   rR   rS   Útest_stack_1d4  s    zTestStack.test_stack_1dc                 C   sÜ   t g d¢dd�}t g d¢dd�}t||gdd�}t|jdƒ t|j|d jƒ t|j|d	 jƒ t||gƒ}t|j|jƒ t|j|jƒ t||gd	d�}t|jd
ƒ t|j|d d …df jƒ t|j|d d …d	f jƒ d S )Nr¼   Tr‡   rï  Fr   rˆ   r�  r;   rð  rñ  rò  rR   rR   rS   Útest_stack_masksF  s    zTestStack.test_stack_masksc           
      C   sô  d}t j dd|¡}t j dd|¡}t j dd|¡ t¡}t j dd|¡ t¡}t||d�}t||d�}t||gdd�}d| }	t|j|	ƒ t	|j
|d j
ƒ t	|j
|d j
ƒ t||gd	d�}|d }	t|j|	ƒ t	|j
|d
 j
ƒ t	|j
|d j
ƒ d}t j dd|¡}t j dd|¡}t j dd|¡ t¡}t j dd|¡ t¡}t||d�}t||d�}t||gdd�}d| }	t|j|	ƒ t	|j
|d j
ƒ t	|j
|d j
ƒ t||gd	d�}|d }	t|j|	ƒ t	|j
|d
 j
ƒ t	|j
|d j
ƒ d S )Nrð  r   ra   r8   r‡   rˆ   r7   r;   rê   ).r   ).r;   )rv   r8   r¨   r{   )rM   rá   Úrandintr   r}   r   r4   r   r   r   r=   )
rN   ZshpZd1Zd2r¢   r£   Za1r!  rU   Zc_shprR   rR   rS   Útest_stack_ndX  sD    zTestStack.test_stack_ndN)r   r€   r�   ró  rô  rö  rR   rR   rR   rS   rî  2  s   rî  )NÚ__doc__r�  rR  r¾   ÚnumpyrM   Znumpy._core.numericr   Znumpy.testingr   r   Znumpy.ma.testutilsr   r   r   r   Znumpy.ma.corer	   r
   r   r   r   r   r   r   r   r   r   Znumpy.ma.extrasr   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   r‚   rÛ   ræ   ró   r:  rB  rF  r”  r¤  r¯  r¾  rã  ræ  rî  rR   rR   rR   rS   Ú<module>   sB   4�
   ,F  4   Ck: i7&