a
    ³ÐOcA   ã                   @   sB   d dl Z d dlZd dlmZmZmZmZmZm	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d3d4„ Zd5d6„ Zd7S )8ÚTestRegressionc                 C   s.   t t dg¡t ddg¡ t ddg¡ƒ d S )Né   r   éÿÿÿÿ)r   ÚnpÚpoly1d©Úself© r   úV/var/www/html/gsl.tools/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   Z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   Úp0   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)Úrr/   )r   r   Únanr   ZlinalgZLinAlgErrorÚgetattr)r   r,   r   r   r   Útest_poly1d_nan_roots5   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-   Úqr/   r   r   r   Útest_poly_divC   s    zTestRegression.test_poly_divc                 C   s8   t  g d¢¡}t  ddg¡}t||kƒ t||kƒ d S )Nr6   r   r   )r   r   r   r   r   r   r   Útest_poly_eqJ   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_buildQ   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Úcomplexr8   r   rš   ÚintÚfloat)r   Úmsgr   r:   r/   r   r   r   Útest_polydiv_typef   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_binsq   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_typeu   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                 C   s    t t tjg¡t d g¡ƒ d S r   )r   r   r!   r0   Zasfarrayr   r   r   r   Útest_asfarray_noneƒ   s    z!TestRegression.test_asfarray_nonec                    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   r7   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   s„   dd l }dd l}|j}t|jdƒ|_zHzt dt d¡i¡ W n tyX   t	dƒ‚Y n0 W |j 
¡  ||_n|j 
¡  ||_0 d S )Nr   ÚwZfoor	   zticket #1243)ÚosÚsysÚstdoutÚopenÚdevnullr   Zwhor!   Ú	ExceptionÚAssertionErrorÚclose)r   r»   r¼   Z	oldstdoutr   r   r   Útest_who_with_0dim_array    s    
ÿ
z'TestRegression.test_who_with_0dim_arrayc                 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_fieldsr6   r™   )r¯   r¶   Úcr   )
Znumpy.lib.recfunctionsrË   r   r!   Úint32ZeyeZastypeÚfloat64rÀ   rÁ   )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   r7   ))é   é   )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ä   rº   )Úoutput)r¾   r»   r¿   r   ÚinfoÚAttributeErrorrÁ   rÂ   )r   rä   Úoutr   r   r   Útest_py3_compatê   s    zTestRegression.test_py3_compatN)rà   rá   râ   r   r   r   r"   r)   r*   r.   r2   r3   r5   r;   r<   r—   r    r£   r¤   r¦   r§   rµ   r¹   rÃ   rÉ   rÊ   rÒ   rÝ   rß   ré   r   r   r   r   r   
   s6   		r   )r»   Únumpyr   Znumpy.testingr   r   r   r   r   r   r   r   r   r   r   Ú<module>   s    