o
    ðT·j  ã                   @   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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   úb/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/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)ÚrowvarF)r   ÚrandomÚcopyÚ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   Ú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>$   s    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   Ú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   r0   Ú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)Úrr3   )r   r   Únanr   ÚlinalgÚLinAlgErrorÚgetattr)r   r0   r   r   r   Útest_poly1d_nan_roots5   s   z$TestRegression.test_poly1d_nan_rootsc                 C   s   t  g dg¡ d S )Ng      ð?)r   Ú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   Úur1   Úqr3   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 )Nr=   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   Úpolyfitr   )r   Úrefr   r   Ú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Úcomplexr?   r   r£   ÚintÚfloat)r   Úmsgr   rA   r3   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   )Úbins)r   Ú
ValueErrorr   Ú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   Ú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   Ú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   r>   r   )Úsize©r   r¤   r   ÚrandintÚix_©ÚnÚar    ©Úthesizer   r   Údpˆ   ó   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Ž   rÀ   z5TestRegression.test_large_fancy_indexing.<locals>.dp2)r   r£   Ú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¼   Úf4)ÚbÚi4)r	   )r   r£   r*   r   Ú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   Ú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   Úpolyderr   Úndarrayr   r   r   r   Útest_polyder_return_type¥   s     z'TestRegression.test_polyder_return_typec                 C   sr   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 d S  ty8   t	‚w )Nr   )Úappend_fieldsr=   r¢   )r¼   rÇ   Úcr   )
Únumpy.lib.recfunctionsrÖ   r   r$   Úint32ÚeyeÚastypeÚfloat64Ú	ExceptionÚAssertionError)r   rÖ   ÚbaseÚnamesÚdataÚ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   r>   ))é   é   )r´   é	   )rª   é   )Úiorä   r   Úloadtxtr   r$   )r   rä   rÊ   r   rá   r   r   r   Útest_loadtxt_fields_subarrays¹   s   z,TestRegression.test_loadtxt_fields_subarraysc                 C   s2   t jdtd�}zt  |¡ W d S  ty   t‚w )Nr   r¢   )r   r*   ÚboolÚnansumrÝ   rÞ   )r   r¼   r   r   r   Útest_nansum_with_booleanÎ   s   ÿz'TestRegression.test_nansum_with_booleanc                 C   s\   G dd„ dƒ}t tjdƒ}zz
tj|ƒ |d� W n	 ty!   t‚w W | ¡  d S | ¡  w )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.   r2   r8   r:   r<   rB   rC   r    r©   r®   r°   r³   rÅ   rË   rÒ   rÕ   rã   rï   rò   r  r   r   r   r   r   
   s4    		r   )rû   Únumpyr   Únumpy.testingr   r   r   r   r   r   r   r   r   r   r   Ú<module>   s     