a
    ç´«j™I  ã                   @   sH  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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ÚvanderNc                 C   s   t | ƒ}t ||¡}|S ©N)r   r	   Úouter)ÚnÚdata© r   ú_/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/numpy/lib/tests/test_twodim_base.pyÚget_mat   s    r   c                   @   sT   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S )ÚTestEyec                 C   sx   t tdƒtg d¢g d¢g d¢g d¢gƒƒ t tddd�tg d¢g d¢g d¢g d¢gdƒƒ t tdƒd	ktdtd�ƒ d S )
Né   ©é   r   r   r   ©r   r#   r   r   ©r   r   r#   r   ©r   r   r   r#   Úf©Údtypeé   r#   )r   r   r   Úbool©Úselfr   r   r   Ú
test_basic   s&    ýÿýýÿ
ÿzTestEye.test_basicc                 C   sb   t tt d¡td�tddgddggƒƒ t tt d¡t d¡t d¡d�tg d¢g d¢gƒƒ d S )	Né   r(   r#   r   r!   )ÚMÚkr$   r%   )r   r   ÚnpZuint64Úintr   r,   r   r   r   Útest_uint64)   s    ( ÿzTestEye.test_uint64c                 C   s`   t tddd�tg d¢g d¢g d¢g d¢gƒƒ t tddd�tg d¢g d	¢g d¢g d¢gƒƒ d S )
Nr!   r#   ©r1   r$   r%   r&   ©r   r   r   r   éÿÿÿÿr"   ©r   r   r   r,   r   r   r   Ú	test_diag/   s    ýÿýÿzTestEye.test_diagc                 C   sV   t tddƒtg d¢g d¢g d¢g d¢gƒƒ t tddƒtg d¢g d¢g d	¢gƒƒ d S )
Nr!   r*   ©r#   r   r   ©r   r#   r   )r   r   r#   ©r   r   r   r"   r$   r%   r8   r,   r   r   r   Útest_2d<   s    
ýÿ
þÿzTestEye.test_2dc                 C   s^   t tdddd�tg d¢g d¢g d¢gƒƒ t tdddd�tg d	¢g d	¢g d
¢g d¢gƒƒ d S )Nr*   r!   r/   r5   r%   r&   r6   éþÿÿÿr<   r:   r;   r8   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 )Nr/   r#   r   r7   r>   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 )Nr/   ZS3r(   ó   1ó    rA   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 )Nr/   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s4J ‚|jjr@J ‚|jjrLJ ‚|jjsXJ ‚d S )Nr!   r*   r7   r5   ÚF)r1   Úorder)r   r   ÚflagsÚc_contiguousÚf_contiguous)r-   Zmat_cZmat_fr   r   r   Ú
test_orderf   s    
zTestEye.test_orderN)Ú__name__Ú
__module__Ú__qualname__r.   r4   r9   r=   r?   rB   rE   rF   rL   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)rR   rR   )é   rT   r/   r5   r>   )r   Úastyper   Úranger   r   Úcopy)r-   ÚvalsÚbr1   Úcr   r   r   Útest_vectorq   s    zTestDiag.test_vectorNc                 C   sÒ   |d u 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 )
NrQ   rR   r#   rS   )rR   r   r*   r/   r>   )r   rU   r   rV   r   r   )r-   rX   rY   r1   r   r   r   Útest_matrix   s    zTestDiag.test_matrixc                 C   s(   t dtdƒ d ddd�}|  |¡ d S )NrQ   rR   r#   rG   rS   )rH   r)   )r   r   r\   )r-   rX   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#   r/   r*   r!   rR   é   r5   r   r7   r>   r@   )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)rM   rN   rO   r[   r\   r]   r`   rb   r   r   r   r   rP   p   s
   
	rP   c                   @   s   e Zd Zdd„ ZdS )Ú
TestFliplrc                 C   sn   t tttdƒƒ tdƒ}|d d …d d d…f }tt|ƒ|ƒ g d¢g d¢g}g d¢g d¢g}tt|ƒ|ƒ d S )Nr!   r7   ©r   r#   r/   ©r*   r!   rR   )r/   r#   r   )rR   r!   r*   )r   ra   r
   r   r   r   ©r-   ÚarY   r   r   r   r.       s    ÿÿzTestFliplr.test_basicN©rM   rN   rO   r.   r   r   r   r   rc   Ÿ   s   rc   c                   @   s   e Zd Zdd„ ZdS )Ú
TestFlipudc                 C   s^   t dƒ}|d d d…d d …f }tt|ƒ|ƒ g d¢g d¢g}g d¢g d¢g}tt|ƒ|ƒ d S )Nr!   r7   rd   re   )r   r   r   rf   r   r   r   r.   ­   s    ÿÿzTestFlipud.test_basicNrh   r   r   r   r   ri   ¬   s   ri   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ddg¡dd„ ƒZdS )ÚTestHistogram2dc                 C   s
  t g d¢ƒ}t g d¢ƒ}t ddd¡}t ddd¡}t||||fƒd }t g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢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 )N)gÌ™í
}°Ú?g%Úáñåç?g�$F�û?gí;c¸jYÓ?gI�+¤åÈÂ?)gÐp5x€£·?gó?ã_×Ç?gÒpˆÀªÖ?gúñb£dÙ?gºg<•ü=á?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   r   r   r   r   r   r   é	   é   )	r   r2   Úlinspacer   r   ÚTÚlistrV   r   )r-   ÚxÚyZxedgesZyedgesÚHÚanswerr   r   r   Útest_simple¹   s8    ÿÿøÿ
 zTestHistogram2d.test_simplec                 C   s¤   t g d¢ƒ}t g d¢ƒ}t||dddgddggdd�\}}}t g d	¢g d
¢g d¢g d¢g d¢g d¢gƒ}t||d dƒ t|t ddd¡ƒ t|t ddd¡ƒ d S )N)r#   r#   r/   r*   r!   r!   r!   rR   )r#   r*   r/   r   r#   r/   r*   r!   )r^   rR   r   r^   rR   T)rV   Údensity)ç        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#   g       @r*   rT   )r   r   r   r   r2   rn   ©r-   rq   rr   rs   ÚxedÚyedrt   r   r   r   Ú	test_asymÓ   s"    ÿûÿzTestHistogram2d.test_asymc                 C   sh   t g d¢ƒ}t g d¢ƒ}t||g d¢g d¢gdd�\}}}t g d¢g d¢g d¢gƒd }t||d	ƒ d S )
N)	r#   r/   r*   r#   r/   r*   r#   r/   r*   )	r#   r#   r#   r/   r/   r/   r*   r*   r*   )r#   r/   r*   rR   T)rv   )r#   r#   ç      à?)r}   r}   ç      Ð?g      "@r*   )r   r   r   ry   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 )NrQ   ç      ð?g    €„.A)r!   rR   r   r#   )rV   )r2   ÚrandomZrandr   r   )r-   Úrrs   rz   r{   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binsrw   r!   )r!   r!   )r   r   r   r2   r   )r-   rg   Zedge1Zedge2r   r   r   Ú
test_emptyò   s     zTestHistogram2d.test_emptyc                 C   sè   t g d¢ƒ}t g d¢ƒ}d}t|||dfƒ\}}}t g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g
ƒ}t||ƒ t|t g d
¢ƒƒ t||d|fƒ\}}}t g d¢g d¢g d¢g d¢gƒ}t||ƒ t|t g d
¢ƒƒ d S )N)r   g<DŠžç‘·?gô±³Ï ªä?g!,ø§3{À?g˜lÊyTÞ?g¥f“ì¦.ã?r#   )r   g(@TT\Â?g±ÁÂIZß?gYöN»ŽÓ?gK?~Â›Ü?g&W-À©UÄ?r#   )r   gš™™™™™¹?gš™™™™™É?g333333Ó?gš™™™™™Ù?r}   g333333ã?gffffffæ?gš™™™™™é?gÍÌÌÌÌÌì?r#   r!   )g       @rw   rw   rw   )rw   r€   rw   rw   )rw   rw   rw   rw   )r€   rw   rw   rw   )rw   rw   rw   r€   )rw   r~   r}   g      è?r#   )
r€   r€   rw   r€   rw   rw   rw   rw   rw   rw   )
rw   rw   rw   rw   r€   rw   rw   rw   rw   rw   )
rw   r€   rw   rw   r€   rw   rw   rw   rw   rw   )
rw   rw   rw   rw   rw   rw   rw   rw   rw   r€   )r   r   r   )r-   rq   rr   Úedgesrs   ZxeZyert   r   r   r   Útest_binparameter_combinationù   sB    ÿÿ÷ÿ
ýÿ
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)rM   rN   rO   rŒ   r   r   r   r   ÚShouldDispatch  s   r�   r#   r/   r„   rR   )Úweights)r   r   Údictr   Ú	Exception)r-   r�   ZxyZs_dr‚   r   r   r   Útest_dispatch  s    

 zTestHistogram2d.test_dispatch)Úx_lenÚy_len)rk   rm   )é   é   c                 C   sR   t  |¡t  |¡ }}tjtdd�� t||ƒ W d   ƒ n1 sD0    Y  d S )Nz"x and y must have the same length.)Úmatch)r2   r   ÚpytestZraisesra   r   )r-   r’   r“   rq   rr   r   r   r   Útest_bad_length,  s
    ÿzTestHistogram2d.test_bad_lengthN)rM   rN   rO   ru   r|   r   rƒ   r…   r‡   r‘   r—   ÚmarkZparametrizer˜   r   r   r   r   rj   ¸   s   
rj   c                   @   s   e Zd Zdd„ ZdS )ÚTestTric                 C   sD   t g d¢g d¢g d¢gƒ}ttdƒ|ƒ ttdtd�| t¡ƒ d S )Nr:   ©r#   r#   r   ©r#   r#   r#   r*   r(   )r   r   r   r+   rU   )r-   Úoutr   r   r   Ú
test_dtype5  s    þzTestTri.test_dtypeN)rM   rN   rO   rž   r   r   r   r   rš   4  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)r/   r/   r(   r#   r   )	r2   Ú	typecodesr   ÚtrilÚtriur   ro   r   r)   )r)   rg   rY   rZ   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(   )r2   r¡   r   r£   r¢   r   r   r)   )r)   rg   Za_tril_desiredZa_triu_desiredZa_triu_observedZa_tril_observedr   r   r   Útest_tril_triu_ndim3I  s8    ýüýüýü



r¥   c                  C   sn   t  ddt jgg d¢t jddgg¡} t  g d¢g d¢t jddgg¡}|j}tt  | ¡|ƒ tt  | ¡|ƒ d S )Nr#   rœ   r:   r›   )r2   r   Úinfro   r   r£   r¢   )ÚarrZout_trilZout_triur   r   r   Útest_tril_triu_with_infb  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)r2   r¡   r   r   r£   r)   r¢   r   )rZ   r§   r   r   r   Útest_tril_triu_dtypeo  s     
ÿþrª   c                  C   s\   t dtjƒ} t d¡ dd¡}t||  tg d¢ƒƒ t dtjdƒ}t|| tg d¢ƒƒ d S )Nr*   rl   )r   r#   r/   r!   rR   é   r#   )r#   r/   rR   )r   r2   r£   r   Úreshaper   r   )Úiurg   Úiu1r   r   r   Útest_mask_indices…  s
    r¯   c                  C   sL  t dƒ} t ddd�}t ddd�}t dddd�}t g d¢g d¢g d	¢g d
¢g¡}t dd¡ dd¡}t||  tg d¢ƒƒ t|| tg d¢ƒƒ d|| < t|tg d¢g d¢g d¢g d¢gƒƒ d||< t|tg d¢g d¢g d¢g d¢gƒƒ d||< t|tg d¢g d¢g d¢g d¢gƒƒ d||< t|tg d¢g d¢g d¢g d¢gƒƒ d S )Nr!   r/   r5   rR   ©Úm©r1   r±   ©r#   r/   r*   r!   ©rR   r^   rT   r«   ©rl   rk   rm   é   ©é   é   é   é   r#   é   )
r#   rR   r^   rl   rk   rm   r¸   r¹   rº   r»   )
r#   r^   rT   rm   r¶   r¸   r»   é   é   r•   r7   )r7   r/   r*   r!   )r7   r7   rT   r«   )r7   r7   r7   r¶   ©r7   r7   r7   r7   )r7   r/   r*   r!   rR   )r7   r7   r«   rl   rk   )r7   r7   r7   r¹   rº   )r7   r7   r7   r7   r”   éöÿÿÿ)rÀ   rÀ   rÀ   r!   )rÀ   rÀ   rÀ   rÀ   )rÀ   rÀ   rÀ   r!   rR   )rÀ   rÀ   rÀ   rÀ   rk   )rÀ   rÀ   rÀ   rÀ   rÀ   )r   r2   r   r   r¬   r   )Zil1Zil2Zil3Zil4rg   rY   r   r   r   Útest_tril_indices�  s`    
ý
ÿ
ÿýÿýÿýÿýÿrÁ   c                   @   s   e Zd Zdd„ ZdS )ÚTestTriuIndicesc                 C   sL  t dƒ}t ddd�}t ddd�}t dddd�}t g d¢g d¢g d	¢g d
¢g¡}t dd¡ dd¡}t|| tg d¢ƒƒ t|| tg d¢ƒƒ d||< t|tg d¢g d¢g d¢g d¢gƒƒ d||< t|tg d¢g d¢g d¢g d¢gƒƒ d||< t|tg d¢g d¢g d¢g d¢gƒƒ d||< t|tg d¢g d¢g d¢g d¢gƒƒ d S )Nr!   r/   r5   rR   r°   r²   r³   r´   rµ   r·   r#   r¼   )
r#   r/   r*   r!   r^   rT   r«   rm   r¶   r»   )r#   r/   r*   r!   rR   rT   r«   rl   rk   r¸   r¹   rº   r•   r”   r7   r¿   )rR   r7   r7   r7   )rl   rk   r7   r7   )r¸   r¹   rº   r7   )r7   r7   r7   r7   r7   )r^   r7   r7   r7   r7   )rm   r¶   r7   r7   r7   )r»   r½   r¾   r7   r7   rÀ   )r7   r7   rÀ   rÀ   )rR   r7   r7   rÀ   )r7   r7   rÀ   rÀ   rÀ   )r^   r7   r7   rÀ   rÀ   )rm   r¶   r7   r7   rÀ   )r   r2   r   r   r¬   r   )r-   r®   Ziu2Ziu3Ziu4rg   rY   r   r   r   Útest_triu_indices¿  s`    
ý
ÿ
ÿýÿýÿýÿýÿz!TestTriuIndices.test_triu_indicesN)rM   rN   rO   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)r/   )r/   r/   r/   )r   ra   r   r2   r   r,   r   r   r   Útest_exceptionsñ  s    z#TestTrilIndicesFrom.test_exceptionsN©rM   rN   rO   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   ra   r   r2   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  g d¢¡}t|ƒ}t  g d¢g d¢g d¢g d¢g¡}t||d d …dd …f ƒ |jd }tdƒD ].}t||d�}t||d d …|| |…f ƒ qdd S )	N)r   r#   r>   r*   rx   )r#   r#   r#   r#   r#   )r»   iøÿÿÿr!   r>   r#   )éQ   é   rl   r*   r#   r#   r^   ©ÚN)r2   r   r   r   ÚshaperV   )r-   rZ   ÚvZpowersr±   r   r   r   r   r.   ÿ  s    
ý
zTestVander.test_basicc                 C   s|   t g d¢tjd�}t|ƒ}t  g d¢g d¢g d¢g¡}t||ƒ t ddgƒ}t|dd	�}t  g d
¢g d¢g¡}t||ƒ d S )N)rm   éôÿÿÿr¸   r(   )éy   rm   r#   )é�   rÐ   r#   )é©   r¸   r#   ù      ð?      ð?ù      ð?      ð¿r*   rÌ   )y               @rÔ   r#   )y       €       ÀrÕ   r#   )r   r2   Zint8r   r   )r-   rZ   rÏ   Úexpectedr   r   r   Útest_dtypes  s    
þ

ÿzTestVander.test_dtypesN)rM   rN   rO   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   r2   r—   r   r    rP   rc   ri   rj   rš   r¤   r¥   r¨   rª   r¯   rÁ   rÂ   rÄ   rÈ   rÉ   r   r   r   r   Ú<module>   s*    LX/|	
/2