U
    M»{jöH  ã                   @   sT  d Z ddl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 ddlZddlmZ ddlZdd„ ZG dd	„ d	ƒZG d
d„ dƒZ G dd„ dƒZ!G dd„ dƒZ"G dd„ dƒZ#G dd„ dƒZ$dd„ Z%dd„ Z&dd„ Z'dd„ Z(dd„ Z)dd„ Z*G d d!„ d!ƒZ+G d"d#„ d#ƒZ,G d$d%„ d%ƒZ-G d&d'„ d'ƒZ.dS )(z"Test functions for matrix module

é    )Úassert_equalÚassert_array_equalÚassert_array_max_ulpÚassert_array_almost_equalÚassert_raisesÚassert_)ÚarangeÚaddÚfliplrÚflipudÚzerosÚonesÚeyeÚarrayÚdiagÚhistogram2dÚtriÚmask_indicesÚtriu_indicesÚtriu_indices_fromÚtril_indicesÚtril_indices_fromÚvanderN)Úrequires_array_functionc                 C   s   t | ƒ}t ||¡}|S ©N)r   r	   Úouter)ÚnÚdata© r   ú_/var/www/html/bwave/python/venv/lib/python3.8/site-packages/numpy/lib/tests/test_twodim_base.pyÚget_mat   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 )ÚTestEyec              
   C   s˜   t tdƒtddddgddddgddddgddddggƒƒ t tddd�tddddgddddgddddgddddggdƒƒ t tdƒdktdtd�ƒ d S )Né   é   r   Úf©Údtypeé   )r   r   r   Úbool©Úselfr   r   r   Ú
test_basic   s&    


ýÿ


ýýÿ
ÿzTestEye.test_basicc              
   C   s€   t tddd�tddddgddddgddddgddddggƒƒ t tddd�tddddgddddgddddgddddggƒƒ d S )Nr"   r#   ©Úkr   éÿÿÿÿ©r   r   r   r)   r   r   r   Ú	test_diag/   s    


ýÿ


ýÿzTestEye.test_diagc              	   C   sj   t tddƒtdddgdddgdddgdddggƒƒ t tddƒtddddgddddgddddggƒƒ d S )Nr"   r'   r#   r   r/   r)   r   r   r   Útest_2d<   s    

ýÿ


þÿzTestEye.test_2dc              	   C   sr   t tdddd�tddddgddddgddddggƒƒ t tdddd�tdddgdddgdddgdddggƒƒ d S )Nr'   r"   é   r,   r   r#   éþÿÿÿr/   r)   r   r   r   Útest_diag2dH   s    

þÿ
ýÿzTestEye.test_diag2dc                 C   s0  t tdddƒddgddggƒ t tdddƒddgddggƒ t tdddƒddgddggƒ t tdddƒddgddggƒ t tdddƒddgddgddggƒ t tdddƒddgddgddggƒ t tdddƒddgddgddggƒ t tdddƒddgddgddggƒ t tdddƒddgddgddggƒ d S )Nr2   r#   r   r.   r3   r'   éýÿÿÿ©r   r   r)   r   r   r   Útest_eye_boundsT   s    $$$$zTestEye.test_eye_boundsc                 C   s$   t tdddd�ddgddggƒ d S )Nr2   ZS3r%   ó   1ó    r6   r)   r   r   r   Útest_strings_   s    ÿzTestEye.test_stringsc                 C   s$   t tddtd�ddgddggƒ d S )Nr2   r%   TF)r   r   r(   r)   r   r   r   Ú	test_boolc   s    zTestEye.test_boolc                 C   s\   t dddd�}t ddddd�}t||ƒ |jjs4t‚|jjr@t‚|jjrLt‚|jjsXt‚d S )Nr"   r'   r.   r,   ÚF)r-   Úorder)r   r   ÚflagsÚc_contiguousÚAssertionErrorÚf_contiguous)r*   Zmat_cZmat_fr   r   r   Ú
test_orderf   s    
zTestEye.test_orderN)Ú__name__Ú
__module__Ú__qualname__r+   r0   r1   r4   r7   r:   r;   rB   r   r   r   r   r!      s   r!   c                   @   s6   e Zd Zdd„ Zddd„Zdd„ Zdd	„ Zd
d„ ZdS )ÚTestDiagc                 C   s´   dt dƒ  d¡}tdƒ}tdƒD ]}|| |||f< q"tt|ƒ|ƒ tdƒ}| ¡ }tdƒD ],}|| |||d f< || ||d |f< q^tt|dd�|ƒ tt|dd�|ƒ d S )	Néd   é   Úl)rH   rH   )é   rJ   r2   r,   r3   )r   Úastyper   Úranger   r   Úcopy)r*   ÚvalsÚbr-   Úcr   r   r   Útest_vectorq   s    zTestDiag.test_vectorNc                 C   sÒ   |d krdt dƒ d  d¡}tdƒ}tdƒD ]}|||f ||< q.tt|ƒ|ƒ |d }tdƒD ]}|||d f ||< qbtt|dƒ|d d… ƒ tdƒD ]}||d |f ||< qœtt|d	ƒ|d d… ƒ d S )
NrG   rH   r#   rI   )rH   r   r'   r2   r3   )r    rK   r   rL   r   r   )r*   rN   rO   r-   r   r   r   Útest_matrix   s    zTestDiag.test_matrixc                 C   s(   t dtdƒ d ddd�}|  |¡ d S )NrG   rH   r#   r<   rI   )r=   r&   )r   r    rR   )r*   rN   r   r   r   Útest_fortran_orderŽ   s    zTestDiag.test_fortran_orderc                 C   s’   ddgddgddgg}t t|dd�g ƒ t t|dd�dgƒ t t|dd�ddgƒ t t|d	d�ddgƒ t t|d
d�dgƒ t t|dd�g ƒ d S )Nr#   r2   r'   r"   rH   é   r,   r   r.   r3   r5   )r   r   )r*   ÚAr   r   r   Útest_diag_bounds’   s    zTestDiag.test_diag_boundsc                 C   s   t ttdgggƒ d S )Nr#   )r   Ú
ValueErrorr   r)   r   r   r   Útest_failure›   s    zTestDiag.test_failure)N)rC   rD   rE   rQ   rR   rS   rV   rX   r   r   r   r   rF   p   s
   
	rF   c                   @   s   e Zd Zdd„ ZdS )Ú
TestFliplrc                 C   sv   t tttdƒƒ tdƒ}|d d …d d d…f }tt|ƒ|ƒ dddgdddgg}dddgdddgg}tt|ƒ|ƒ d S ©Nr"   r.   r   r#   r2   r'   rH   )r   rW   r
   r   r    r   ©r*   ÚarO   r   r   r   r+       s    ÿÿzTestFliplr.test_basicN©rC   rD   rE   r+   r   r   r   r   rY   Ÿ   s   rY   c                   @   s   e Zd Zdd„ ZdS )Ú
TestFlipudc                 C   sf   t dƒ}|d d d…d d …f }tt|ƒ|ƒ dddgdddgg}dddgdddgg}tt|ƒ|ƒ d S rZ   )r    r   r   r[   r   r   r   r+   ­   s    ÿÿzTestFlipud.test_basicNr]   r   r   r   r   r^   ¬   s   r^   c                   @   sb   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Ze	dd„ ƒZ
ej dddg¡dd„ ƒZdS )ÚTestHistogram2dc                 C   s”  t dddddgƒ}t dddd	d
gƒ}t ddd¡}t ddd¡}t||||fƒd }t dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	g	ƒ}t|j|ƒ t|||ƒd }t|j|ƒ tttdƒƒttdƒƒƒ\}}}t|tddƒƒ t|t ddd¡ƒ t|t ddd¡ƒ d S )NgÌ™í
}°Ú?g%Úáñåç?g�$F�û?gí;c¸jYÓ?gI�+¤åÈÂ?gÐp5x€£·?gó?ã_×Ç?gÒpˆÀªÖ?gúñb£dÙ?gºg<•ü=á?r   r#   é
   é	   é   )	r   ÚnpÚlinspacer   r   ÚTÚlistrL   r   )r*   ÚxÚyZxedgesZyedgesÚHÚanswerr   r   r   Útest_simple¹   s8    ÿÿøÿ
 zTestHistogram2d.test_simplec                 C   sà   t ddddddddgƒ}t ddddddddgƒ}t||dddgddggd	d
�\}}}t dddddgdddddgdddddgdddddgdddddgdddddggƒ}t||d dƒ t|t ddd¡ƒ t|t ddd¡ƒ d S )Nr#   r2   r'   r"   rH   r   )rT   rH   rT   T)rL   Údensityç        g       @rJ   )r   r   r   r   rc   rd   ©r*   rg   rh   ri   ÚxedÚyedrj   r   r   r   Ú	test_asymÓ   s*        ÿûÿzTestHistogram2d.test_asymc              
   C   s’   t dddddddddg	ƒ}t dddddddddg	ƒ}t||ddddgddddggdd�\}}}t dddgdddgdddggƒd	 }t||dƒ d S )
Nr#   r2   r'   rH   T)rl   ç      à?ç      Ð?g      "@)r   r   r   rn   r   r   r   Útest_densityã   s       ÿ
þþzTestHistogram2d.test_densityc                 C   sD   t j d¡d d }t||dddgddgfd�\}}}t|dƒ d S )NrG   ç      ð?g    €„.A)r"   rH   r   r#   )rL   )rc   ÚrandomZrandr   r   )r*   Úrri   ro   rp   r   r   r   Útest_all_outliersí   s    "z!TestHistogram2d.test_all_outliersc                 C   sZ   t g g ddgddgfd�\}}}t|tdggƒƒ t g g dd�\}}}t|t d¡ƒ d S )Nr   r#   ©Zbinsrm   r"   )r"   r"   )r   r   r   rc   r   )r*   r\   Zedge1Zedge2r   r   r   Ú
test_emptyò   s     zTestHistogram2d.test_emptyc                 C   sp  t dddddddgƒ}t ddd	d
dddgƒ}d}t|||dfƒ\}}}t ddddgddddgddddgddddgddddgddddgddddgddddgddddgddddgg
ƒ}t||ƒ t|t dddddgƒƒ t||d|fƒ\}}}t ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
gƒ}t||ƒ t|t dddddgƒƒ d S )Nr   g<DŠžç‘·?gô±³Ï ªä?g!,ø§3{À?g˜lÊyTÞ?g¥f“ì¦.ã?r#   g(@TT\Â?g±ÁÂIZß?gYöN»ŽÓ?gK?~Â›Ü?g&W-À©UÄ?)r   gš™™™™™¹?gš™™™™™É?g333333Ó?gš™™™™™Ù?rr   g333333ã?gffffffæ?gš™™™™™é?gÍÌÌÌÌÌì?r#   r"   g       @rm   ru   rs   rr   g      è?)r   r   r   )r*   rg   rh   Úedgesri   ZxeZyerj   r   r   r   Útest_binparameter_combinationù   sN    
 ÿÿ
 ÿÿ









÷ÿ
ýÿ
z-TestHistogram2d.test_binparameter_combinationc                 C   sþ   G dd„ dƒ}ddg}|ƒ }t ||ƒ}t||f||fi fkƒ t ||ƒ}t||f||fi fkƒ t |||d�}t||f||ft|d�fƒ t |||dgd�}t||f||ft|dgd�fƒ ttt |||gd� t |||d�}t||f||ft|d�fƒ d S )Nc                   @   s   e Zd Zdd„ ZdS )z5TestHistogram2d.test_dispatch.<locals>.ShouldDispatchc                 S   s
   |||fS r   r   )r*   ÚfunctionÚtypesÚargsÚkwargsr   r   r   Ú__array_function__  s    zHTestHistogram2d.test_dispatch.<locals>.ShouldDispatch.__array_function__N)rC   rD   rE   r�   r   r   r   r   ÚShouldDispatch  s   r‚   r#   r2   ry   rH   )Úweights)r   r   Údictr   Ú	Exception)r*   r‚   ZxyZs_drw   r   r   r   Útest_dispatch  s    

 zTestHistogram2d.test_dispatch)Úx_lenÚy_len)r`   rb   )é   é   c              	   C   s>   t  |¡t  |¡ }}tjtdd�� t||ƒ W 5 Q R X d S )Nz"x and y must have the same length.)Úmatch)rc   r   ÚpytestZraisesrW   r   )r*   r‡   rˆ   rg   rh   r   r   r   Útest_bad_length-  s
    ÿzTestHistogram2d.test_bad_lengthN)rC   rD   rE   rk   rq   rt   rx   rz   r|   r   r†   rŒ   ÚmarkZparametrizer�   r   r   r   r   r_   ¸   s   

r_   c                   @   s   e Zd Zdd„ ZdS )ÚTestTric                 C   sJ   t dddgdddgdddggƒ}ttdƒ|ƒ ttdtd�| t¡ƒ d S )Nr#   r   r'   r%   )r   r   r   r(   rK   )r*   Úoutr   r   r   Ú
test_dtype6  s    
þzTestTri.test_dtypeN)rC   rD   rE   r‘   r   r   r   r   r�   5  s   r�   c                  C   s~   t jd t jd  D ]d} t jd| d�}t  |¡}t  |¡}t|ddgddggƒ t||jƒ t|j|jƒ t|j|jƒ qd S )NÚAllFloatÚ
AllInteger)r2   r2   r%   r#   r   )	rc   Ú	typecodesr   ÚtrilÚtriur   re   r   r&   )r&   r\   rO   rP   r   r   r   Útest_tril_triu_ndim2>  s    

r—   c                  C   s
  t jd t jd  D ]ð} t jddgddggddgddggddgddggg| d�}t jddgddggddgddggddgddggg| d�}t jddgddggddgddggddgddggg| d�}t  |¡}t  |¡}t||ƒ t||ƒ t|j|jƒ t|j|jƒ qd S )Nr’   r“   r#   r   r%   )rc   r”   r   r–   r•   r   r   r&   )r&   r\   Za_tril_desiredZa_triu_desiredZa_triu_observedZa_tril_observedr   r   r   Útest_tril_triu_ndim3J  s8    ýüýüýü



r˜   c                  C   st   t  ddt jgdddgt jddgg¡} t  dddgdddgt jddgg¡}|j}tt  | ¡|ƒ tt  | ¡|ƒ d S )Nr#   r   )rc   r   Úinfre   r   r–   r•   )ÚarrZout_trilZout_triur   r   r   Útest_tril_triu_with_infc  s    
þ
þr›   c                  C   sÌ   t jd D ]D} | dkrq
t jd| d�}tt  |¡j|jƒ tt  |¡j|jƒ q
t jddgddggd	d�}tt  |¡j|jƒ tt  |¡j|jƒ t jdd
d�}tt  |¡j|jƒ tt  |¡j|jƒ d S )NZAllÚV)r'   r'   r%   z2001-01-01T12:00z2002-02-03T13:56z2004-01-01T12:00z2003-01-03T13:45Z
datetime64zf4,f4)rc   r”   r   r   r–   r&   r•   r   )rP   rš   r   r   r   Útest_tril_triu_dtypep  s     
ÿþr�   c               	   C   sf   t dtjƒ} t d¡ dd¡}t||  tddddddgƒƒ t dtjdƒ}t|| tdddgƒƒ d S )	Nr'   ra   r   r#   r2   r"   rH   é   )r   rc   r–   r   Úreshaper   r   )Úiur\   Úiu1r   r   r   Útest_mask_indices†  s
    r¢   c                  C   sÌ  t dƒ} t ddd�}t ddd�}t dddd�}t ddddgdd	d
dgddddgddddgg¡}t dd¡ dd¡}t||  tddd	dddddddg
ƒƒ t|| tdd	d
dddddddg
ƒƒ d|| < t|tddddgddd
dgddddgddddggƒƒ d||< t|tdddddgdddddgdddddgdddddggƒƒ d||< t|tddddgddddgddddgddddggƒƒ d||< t|tdddddgdddddgdddddgdddddggƒƒ d S )Nr"   r2   r,   rH   ©Úm©r-   r¤   r#   r'   rT   rJ   rž   ra   r`   rb   é   é   é   é   é   é   é   é   rŠ   r.   r‰   éöÿÿÿ)r   rc   r   r   rŸ   r   )Zil1Zil2Zil3Zil4r\   rO   r   r   r   Útest_tril_indices�  s`    


ýÿÿ


ýÿýÿ


ýÿýÿr¯   c                   @   s   e Zd Zdd„ ZdS )ÚTestTriuIndicesc                 C   sÔ  t dƒ}t ddd�}t ddd�}t dddd�}t ddddgdd	d
dgddddgddddgg¡}t dd¡ dd¡}t|| tddddd	d
ddddg
ƒƒ t|| tdddddd
ddddddddgƒƒ d||< t|tddddgddddgddddgddddggƒƒ d||< t|tdddddgd	ddddgdddddgdddddggƒƒ d||< t|tddddgddddgddddgddddggƒƒ d||< t|tdddddgd	ddddgdddddgdddddggƒƒ d S )Nr"   r2   r,   rH   r£   r¥   r#   r'   rT   rJ   rž   ra   r`   rb   r¦   r§   r¨   r©   rª   r«   rŠ   r‰   r.   r¬   r­   r®   )r   rc   r   r   rŸ   r   )r*   r¡   Ziu2Ziu3Ziu4r\   rO   r   r   r   Útest_triu_indicesÀ  sn    


ýÿ     ÿÿ


ýÿýÿ


ýÿýÿz!TestTriuIndices.test_triu_indicesN)rC   rD   rE   r±   r   r   r   r   r°   ¿  s   r°   c                   @   s   e Zd Zdd„ ZdS )ÚTestTrilIndicesFromc                 C   s(   t ttt d¡ƒ t ttt d¡ƒ d S ©N)r2   )r2   r2   r2   )r   rW   r   rc   r   r)   r   r   r   Útest_exceptionsò  s    z#TestTrilIndicesFrom.test_exceptionsN©rC   rD   rE   r´   r   r   r   r   r²   ñ  s   r²   c                   @   s   e Zd Zdd„ ZdS )ÚTestTriuIndicesFromc                 C   s(   t ttt d¡ƒ t ttt d¡ƒ d S r³   )r   rW   r   rc   r   r)   r   r   r   r´   ù  s    z#TestTriuIndicesFrom.test_exceptionsNrµ   r   r   r   r   r¶   ø  s   r¶   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú
TestVanderc              
   C   s´   t  ddddg¡}t|ƒ}t  dddddgdddddgdddddgdd	d
ddgg¡}t||d d …dd …f ƒ |jd }tdƒD ].}t||d�}t||d d …|| |…f ƒ q€d S )Nr   r#   r3   r'   rª   iøÿÿÿr"   éQ   é   ra   rT   ©ÚN)rc   r   r   r   ÚshaperL   )r*   rP   ÚvZpowersr¤   r   r   r   r   r+      s    ý
zTestVander.test_basicc                 C   sˆ   t dddgtjd�}t|ƒ}t  dddgdddgdddgg¡}t||ƒ t d	d
gƒ}t|dd�}t  dd	dgdd
dgg¡}t||ƒ d S )Nrb   iôÿÿÿr§   r%   éy   r#   é�   é©   y      ð?      ð?y      ð?      ð¿r'   rº   y               @y       €       À)r   rc   Zint8r   r   )r*   rP   r½   Úexpectedr   r   r   Útest_dtypes  s    þ
ÿzTestVander.test_dtypesN)rC   rD   rE   r+   rÂ   r   r   r   r   r·   ÿ  s   r·   )/Ú__doc__Znumpy.testingr   r   r   r   r   r   Únumpyr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rc   Znumpy.core.tests.test_overridesr   rŒ   r    r!   rF   rY   r^   r_   r�   r—   r˜   r›   r�   r¢   r¯   r°   r²   r¶   r·   r   r   r   r   Ú<module>   s,    LR/}	
/2