o
    h                     @   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   s/var/www/html/construction_image-detection-poc/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 )Nd   )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$ͱ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   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     