a
    Lf$                     @   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   X/var/www/ai-form-bot/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 )Nd   )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$ͱgHPB?g{p#gpI#@g
K<ls)QZ   [   \   ]   ^   _   `   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    