a
    ç´«j$  ã                   @   sJ   d dl Z d dlZd dlmZmZmZmZmZm	Z	 d dl
Z
G dd„ dƒZdS )é    N)Úassert_Úassert_equalÚassert_array_equalÚassert_array_almost_equalÚassert_raisesÚ_assert_valid_refcountc                   @   sÔ   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3S )4ÚTestRegressionc                 C   s.   t t dg¡t ddg¡ t ddg¡ƒ d S )Né   r   éÿÿÿÿ)r   ÚnpÚpoly1d©Úself© r   ú^/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/numpy/lib/tests/test_regression.pyÚtest_poly1d   s    ÿzTestRegression.test_poly1dc                 C   s>   t j d¡}| ¡ }t j|dd� t j|dd� t||ƒ d S )N)é   r   T)ZrowvarF)r   ÚrandomÚcopyZcovr   ©r   ÚxÚyr   r   r   Útest_cov_parameters   s
    z"TestRegression.test_cov_parametersc                 C   s:   t dƒD ],}t g d¢ddg¡ t g d¢ddg¡ qd S )Néd   )r	   é   r   é   r	   r   )r   r	   r   r   r   )Úranger   Zdigitize)r   Úir   r   r   Útest_mem_digitize   s    z TestRegression.test_mem_digitizec                 C   s   t g t t g ¡¡ƒ d S ©N)r   r   ÚuniqueÚarrayr   r   r   r   Útest_unique_zero_sized   s    z%TestRegression.test_unique_zero_sizedc                 C   sV   t  dd„ ¡}|t  d¡t  d¡t  d¡ƒ |t  d¡t  d¡t  d¡t  d¡ƒ d S )Nc                  W   s   | S r   r   )Úargsr   r   r   Ú<lambda>%   ó    z3TestRegression.test_mem_vectorise.<locals>.<lambda>)r	   r   r	   )r   r	   r	   )r	   r	   r   ©r   r   )r   Ú	vectorizeÚzeros)r   Úvtr   r   r   Útest_mem_vectorise#   s
    ÿz!TestRegression.test_mem_vectorisec                 C   s0   t tjddd… dgƒ t tjdd… g ƒ d S )Nr   y              ð?)r   r   Zmgridr   r   r   r   Útest_mgrid_single_element*   s    z(TestRegression.test_mgrid_single_elementc                 C   s   dd„ }t  |¡}t|ƒ d S )Nc                 S   s   dS )Né{   r   )r   r   r   r   r   Úp1   s    z1TestRegression.test_refcount_vectorize.<locals>.p)r   r'   r   )r   r-   Úvr   r   r   Útest_refcount_vectorize/   s    
z&TestRegression.test_refcount_vectorizec                 C   s.   t jt jt jdgdd�}tt jjt|dƒ d S )Nr	   F)Úrr0   )r   r   Únanr   ZlinalgZLinAlgErrorÚgetattr)r   r-   r   r   r   Útest_poly1d_nan_roots6   s    z$TestRegression.test_poly1d_nan_rootsc                 C   s   t  g dg¡ d S )Ng      ð?)r   Zpolymulr   r   r   r   Útest_mem_polymul;   s    zTestRegression.test_mem_polymulc                 C   s   t  g ¡}t  |d¡ d S )Nzasdasd	asdasd)r   r!   Úappend)r   r   r   r   r   Útest_mem_string_concat?   s    
z%TestRegression.test_mem_string_concatc                 C   sB   t  g d¢¡}t  g d¢¡}t  ||¡\}}t|| | |ƒ d S )N©r	   r   r   )r	   r   r   r   é   )r   r   Úpolydivr   )r   Úur.   Úqr0   r   r   r   Útest_poly_divD   s    zTestRegression.test_poly_divc                 C   s8   t  g d¢¡}t  ddg¡}t||kƒ t||kƒ d S )Nr7   r   r   )r   r   r   r   r   r   r   Útest_poly_eqK   s    zTestRegression.test_poly_eqc                 C   s4   g d¢}g d¢}g d¢}t  ||d¡}t||ƒ d S )N)g1$¡½ûÍ±¾g½HPò´B?gÜ{p#½¿gáp“Iè#@g
K< l¨sÀ)QéZ   é[   é\   é]   é^   é_   é`   éa   éb   éc   r   ée   éf   ég   éh   éi   éj   ék   él   ém   én   éo   ép   éq   ér   és   ét   éu   év   éw   éx   éy   éz   r,   é|   é}   é~   é�   é‚   éƒ   é„   é…   é†   é‡   éˆ   é‰   éŠ   é‹   éŒ   é�   é’   é“   é”   é•   é–   é—   é˜   é™   éš   é›   éœ   é�   éž   éŸ   é    é¡   é¢   é£   é¤   é¥   é¦   é§   é¨   é©   éª   é«   é¬   é­   é®   é¯   é°   )Qç      "@ç      @ç      @ç      @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–   r�   r‘   r‘   r‘   r’   r�   r�   r�   r”   r�   r   )r   Zpolyfitr   )r   Úrefr   r   Ztestedr   r   r   Útest_polyfit_buildR   s
    z!TestRegression.test_polyfit_buildc                 C   sh   d}t jdtd�}t  ||¡\}}t|jtk|ƒ d}t jdtd�}t  ||¡\}}t|jtk|ƒ d S ©NzWrong type, should be complexr   ©ÚdtypezWrong type, should be float)r   ÚonesÚcomplexr9   r   r›   ÚintÚfloat)r   Úmsgr   r;   r0   r   r   r   Útest_polydiv_typeg   s    z TestRegression.test_polydiv_typec                 C   s   t ttjt d¡dd� d S )N)r	   é
   i   )Zbins)r   Ú
ValueErrorr   Zhistogramddrœ   r   r   r   r   Útest_histogramdd_too_many_binsr   s    z-TestRegression.test_histogramdd_too_many_binsc                 C   sT   d}t jdtd�}tt  |¡jtk|ƒ d}t jdtd�}tt  |¡jtk|ƒ d S r™   )r   rœ   r�   r   Zpolyintr›   rž   rŸ   )r   r    r   r   r   r   Útest_polyint_typev   s    z TestRegression.test_polyint_typec                 C   s   t t t g g¡¡ƒ d S r   )Úlistr   Zndenumerater!   r   r   r   r   Útest_ndenumerate_crash   s    z%TestRegression.test_ndenumerate_crashc                    sV   t  t j¡jd }td| d d ƒ‰ ‡ fdd„}‡ fdd„}tt|ƒ tt|ƒ d S )	Né   r   gš™™™™™É?r	   c               	      s@   d} t  | fd ¡}t jjd| ˆ d�}d|t  |||||¡< d S ©Nr   r8   r   )Úsize©r   rœ   r   ÚrandintZix_©ÚnÚar   ©Zthesizer   r   Údp‰   s    z4TestRegression.test_large_fancy_indexing.<locals>.dpc                     s@   d} t  | fd ¡}t jjd| ˆ d�}|t  |||||¡  d S r©   r«   r­   r°   r   r   Údp2�   s    z5TestRegression.test_large_fancy_indexing.<locals>.dp2)r   r›   ZintpÚitemsizerž   r   r£   )r   Únbitsr±   r²   r   r°   r   Útest_large_fancy_indexing„   s    
z(TestRegression.test_large_fancy_indexingc                 C   s6   t  ddg¡}t  d|¡}tt j||f j|kƒ d S )N)r¯   Zf4)ÚbÚi4)r	   )r   r›   r(   r   Zr_)r   Údtr   r   r   r   Útest_void_coercion˜   s    z!TestRegression.test_void_coercionc                 C   s2   t  ¡ g}|D ]}tt|tƒƒ t|dkƒ qd S )NÚ )r   Zget_includer   Ú
isinstanceÚstr)r   Úinclude_dirsÚpathr   r   r   Útest_include_dirs�   s    
z TestRegression.test_include_dirsc                 C   sx   t tt t dg¡d¡tjƒƒ t tt dgd¡tjƒƒ t tt t dg¡d¡tjƒƒ t tt dgd¡tjƒƒ d S )Nr	   r   )r   r»   r   Zpolyderr   Zndarrayr   r   r   r   Útest_polyder_return_type¦   s      z'TestRegression.test_polyder_return_typec                 C   sz   ddl m} tjg d¢tjd�}g d¢}t d¡ tj¡}tjtjtjg}z|||||ƒ W n tyt   t	ƒ ‚Y n0 d S )Nr   )Úappend_fieldsr7   rš   )r¯   r¶   Úcr   )
Znumpy.lib.recfunctionsrÁ   r   r!   Zint32ÚeyeZastypeZfloat64Ú	ExceptionÚAssertionError)r   rÁ   ÚbaseÚnamesÚdataZdlistr   r   r   Útest_append_fields_dtype_list­   s    z,TestRegression.test_append_fields_dtype_listc                 C   sÖ   ddl m} ddg}tj|dƒ|d�}t|tjdg|d�ƒ dd	d
gfg}tj|dƒ|d�}t|tjdg|d�ƒ dg}tj|dƒ|d�}t|tjdg|d�ƒ dg}tj|dƒ|d�}dg}t|tj||d�ƒ d S )Nr   )ÚStringIO)r¯   Úu1r   )r¶   rË   r   z0 1 2 3rš   ©©r   r	   ©r   r   r¯   )r¯   rË   )r	   r   )r¶   rË   )))r   r	   r   r   )r¯   rË   r&   )rÌ   )r¯   rË   )r   r   r   z0 1 2 3 4 5 6 7 8 9 10 11)))rÍ   rÎ   )r   r8   ))é   é   )r¨   é	   )r¢   é   )ÚiorÊ   r   Zloadtxtr   r!   )r   rÊ   r¸   r   rÈ   r   r   r   Útest_loadtxt_fields_subarraysº   s    z,TestRegression.test_loadtxt_fields_subarraysc                 C   s:   t jdtd�}zt  |¡ W n ty4   tƒ ‚Y n0 d S )Nr   rš   )r   r(   ÚboolZnansumrÄ   rÅ   )r   r¯   r   r   r   Útest_nansum_with_booleanÏ   s
    z'TestRegression.test_nansum_with_booleanc                 C   sd   G dd„ dƒ}t tjdƒ}z:ztj|ƒ |d� W n tyH   tƒ ‚Y n0 W | ¡  n
| ¡  0 d S )Nc                   @   s   e Zd ZdZdS )z)TestRegression.test_py3_compat.<locals>.Cz3Old-style class in python2, normal class in python3N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   ÚCÚ   s   rÛ   Úw)Úoutput)ÚopenÚosÚdevnullr   ÚinfoÚAttributeErrorrÅ   Úclose)r   rÛ   Úoutr   r   r   Útest_py3_compat×   s    zTestRegression.test_py3_compatN)r×   rØ   rÙ   r   r   r   r"   r*   r+   r/   r3   r4   r6   r<   r=   r˜   r¡   r¤   r¥   r§   rµ   r¹   r¿   rÀ   rÉ   rÔ   rÖ   rå   r   r   r   r   r      s2   		r   )rß   Únumpyr   Znumpy.testingr   r   r   r   r   r   Zpytestr   r   r   r   r   Ú<module>   s    