o
    Ô­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/CropPilot/venv/lib/python3.10/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   ÚnpÚ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%   r9   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/   r6   r%   r&   r7   éþÿÿÿr=   r;   r<   r9   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   r8   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/   ÚS3r(   ó   1ó    rB   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sJ ‚|jjr J ‚|jjr&J ‚|jjs,J ‚d S )Nr!   r*   r8   r6   ÚF)r1   Úorder)r   r   ÚflagsÚc_contiguousÚf_contiguous)r-   Úmat_cÚmat_fr   r   r   Ú
test_orderf   s   
zTestEye.test_orderN)Ú__name__Ú
__module__Ú__qualname__r.   r5   r:   r>   r@   rC   rG   rH   rP   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)rV   rV   )é   rX   r/   r6   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 ||< q1tt|dƒ|d d… ƒ tdƒD ]}||d |f ||< qNtt|d	ƒ|d d… ƒ d S )
NrU   rV   r#   rW   )rV   r   r*   r/   r?   )r   rY   r   rZ   r   r   )r-   r\   r]   r1   r   r   r   Útest_matrix   s   zTestDiag.test_matrixc                 C   s(   t dtdƒ d ddd�}|  |¡ d S )NrU   rV   r#   rI   rW   )rJ   r)   )r   r   r`   )r-   r\   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!   rV   é   r6   r   r8   r?   rA   )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_failurer   )rQ   rR   rS   r_   r`   ra   rd   rf   r   r   r   r   rT   p   s    
	rT   c                   @   ó   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!   r8   ©r   r#   r/   ©r*   r!   rV   )r/   r#   r   )rV   r!   r*   )r   re   r
   r   r   r   ©r-   Úar]   r   r   r   r.       s   ÿÿzTestFliplr.test_basicN©rQ   rR   rS   r.   r   r   r   r   rh   Ÿ   ó    rh   c                   @   rg   )Ú
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!   r8   ri   rj   )r   r   r   rk   r   r   r   r.   ­   s   ÿÿzTestFlipud.test_basicNrm   r   r   r   r   ro   ¬   rn   ro   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ÚlistrZ   r   )r-   ÚxÚyÚxedgesÚ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!   rV   )r#   r*   r/   r   r#   r/   r*   r!   )rb   rV   r   rb   rV   T)rZ   Ú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*   rX   )r   r   r   r   r2   rt   ©r-   rw   rx   r{   ÚxedÚyedr|   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*   rV   T)r~   )r#   r#   ç      à?)r…   r…   ç      Ð?g      "@r*   )r   r   r   r�   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 )NrU   ç      ð?g    €„.A)r!   rV   r   r#   )rZ   )r2   ÚrandomÚrandr   r   )r-   Úrr{   r‚   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#   ©Úbinsr   r!   )r!   r!   )r   r   r   r2   r   )r-   rl   Úedge1Ú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       @r   r   r   )r   rˆ   r   r   )r   r   r   r   )rˆ   r   r   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   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-   rw   rx   Úedgesr{   ÚxeÚyer|   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                   @   rg   )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)rQ   rR   rS   rš   r   r   r   r   ÚShouldDispatch  rn   r›   r#   r/   r�   rV   )Úweights)r   r   Údictr   Ú	Exception)r-   r›   ÚxyÚs_dr‹   r   r   r   Útest_dispatch  s   

  zTestHistogram2d.test_dispatch)Úx_lenÚy_len)rq   rs   )é   é   c                 C   sT   t  |¡t  |¡}}tjtdd�� t||ƒ W d   ƒ d S 1 s#w   Y  d S )Nz"x and y must have the same length.)Úmatch)r2   r   ÚpytestÚraisesre   r   )r-   r¢   r£   rw   rx   r   r   r   Útest_bad_length,  s   ÿ"þzTestHistogram2d.test_bad_lengthN)rQ   rR   rS   r}   r„   r‡   rŒ   r‘   r•   r¡   r§   ÚmarkÚparametrizer©   r   r   r   r   rp   ¸   s    
rp   c                   @   rg   )Ú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+   rY   )r-   Úoutr   r   r   Ú
test_dtype5  s   þzTestTri.test_dtypeN)rQ   rR   rS   r°   r   r   r   r   r¬   4  rn   r¬   c                  C   s~   t jd t jd  D ]2} 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   ru   r   r)   )r)   rl   r]   r^   r   r   r   Útest_tril_triu_ndim2=  s   

ør¶   c                  C   s
  t jd t jd  D ]x} 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)   rl   Úa_tril_desiredÚa_triu_desiredÚa_triu_observedÚa_tril_observedr   r   r   Útest_tril_triu_ndim3I  s:   ýüýüýü



ë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   Úinfru   r   rµ   r´   )ÚarrÚout_trilÚout_triur   r   r   Útest_tril_triu_with_infb  s   
þ

þrÀ   c                  C   sÌ   t j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 )NÚAllÚV)r*   r*   r(   z2001-01-01T12:00z2002-02-03T13:56z2004-01-01T12:00z2003-01-03T13:45Ú
datetime64zf4,f4)r2   r³   r   r   rµ   r)   r´   r   )r^   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*   rr   )r   r#   r/   r!   rV   é   r#   )r#   r/   rV   )r   r2   rµ   r   Úreshaper   r   )Úiurl   Ú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/   r6   rV   ©Úm©r1   rË   ©r#   r/   r*   r!   ©rV   rb   rX   rÅ   ©rr   rq   rs   é   ©é   é   é   é   r#   é   )
r#   rV   rb   rr   rq   rs   rÒ   rÓ   rÔ   rÕ   )
r#   rb   rX   rs   rÐ   rÒ   rÕ   é   é   r¥   r8   )r8   r/   r*   r!   )r8   r8   rX   rÅ   )r8   r8   r8   rÐ   ©r8   r8   r8   r8   )r8   r/   r*   r!   rV   )r8   r8   rÅ   rr   rq   )r8   r8   r8   rÓ   rÔ   )r8   r8   r8   r8   r¤   éöÿÿÿ)rÚ   rÚ   rÚ   r!   )rÚ   rÚ   rÚ   rÚ   )rÚ   rÚ   rÚ   r!   rV   )rÚ   rÚ   rÚ   rÚ   rq   )rÚ   rÚ   rÚ   rÚ   rÚ   )r   r2   r   r   rÆ   r   )Úil1Úil2Úil3Úil4rl   r]   r   r   r   Útest_tril_indices�  s`   
ý
ÿ
ÿýÿýÿýÿýÿrß   c                   @   rg   )Ú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/   r6   rV   rÊ   rÌ   rÍ   rÎ   rÏ   rÑ   r#   rÖ   )
r#   r/   r*   r!   rb   rX   rÅ   rs   rÐ   rÕ   )r#   r/   r*   r!   rV   rX   rÅ   rr   rq   rÒ   rÓ   rÔ   r¥   r¤   r8   rÙ   )rV   r8   r8   r8   )rr   rq   r8   r8   )rÒ   rÓ   rÔ   r8   )r8   r8   r8   r8   r8   )rb   r8   r8   r8   r8   )rs   rÐ   r8   r8   r8   )rÕ   r×   rØ   r8   r8   rÚ   )r8   r8   rÚ   rÚ   )rV   r8   r8   rÚ   )r8   r8   rÚ   rÚ   rÚ   )rb   r8   r8   rÚ   rÚ   )rs   rÐ   r8   r8   rÚ   )r   r2   r   r   rÆ   r   )r-   rÈ   Úiu2Úiu3Úiu4rl   r]   r   r   r   Útest_triu_indices¿  s`   
ý
ÿ
ÿýÿýÿýÿýÿz!TestTriuIndices.test_triu_indicesN)rQ   rR   rS   rä   r   r   r   r   rà   ¾  rn   rà   c                   @   rg   )ÚTestTrilIndicesFromc                 C   ó(   t ttt d¡ƒ t ttt d¡ƒ d S ©N)r/   )r/   r/   r/   )r   re   r   r2   r   r,   r   r   r   Útest_exceptionsñ  ó   z#TestTrilIndicesFrom.test_exceptionsN©rQ   rR   rS   rè   r   r   r   r   rå   ð  rn   rå   c                   @   rg   )ÚTestTriuIndicesFromc                 C   ræ   rç   )r   re   r   r2   r   r,   r   r   r   rè   ø  ré   z#TestTriuIndicesFrom.test_exceptionsNrê   r   r   r   r   rë   ÷  rn   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 ƒ q2d S )	N)r   r#   r?   r*   r€   )r#   r#   r#   r#   r#   )rÕ   iøÿÿÿr!   r?   r#   )éQ   é   rr   r*   r#   r#   rb   ©ÚN)r2   r   r   r   ÚshaperZ   )r-   r^   ÚvÚ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)rs   éôÿÿÿrÒ   r(   )éy   rs   r#   )é�   rô   r#   )é©   rÒ   r#   ù      ð?      ð?ù      ð?      ð¿r*   rï   )y               @rø   r#   )y       €       Àrù   r#   )r   r2   Úint8r   r   )r-   r^   rò   Úexpectedr   r   r   Útest_dtypes  s   
þ

ÿzTestVander.test_dtypesN)rQ   rR   rS   r.   rü   r   r   r   r   rì   þ  s    rì   )-Ú__doc__Ú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    rT   rh   ro   rp   r¬   r¶   r»   rÀ   rÄ   rÉ   rß   rà   rå   rë   rì   r   r   r   r   Ú<module>   s,     LX/|	
/2