o
    ÔÁgA   ã                   @   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   ú]/home/ubuntu/cloudmapper/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                 C   s    t t tjg¡t d g¡ƒ d S r"   )r   r   r$   r4   Ú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   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   s~   dd l }dd l}|j}t|jdƒ|_z#zt dt d¡i¡ W n ty*   t	dƒ‚w W |j 
¡  ||_d S |j 
¡  ||_w )Nr   ÚwÚfoor	   zticket #1243)ÚosÚsysÚstdoutÚopenÚdevnullr   Úwhor$   Ú	ExceptionÚAssertionErrorÚclose)r   rÐ   rÑ   Ú	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   Ú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   st   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y9   t	ƒ ‚w )Nr   )Úappend_fieldsr=   r¢   )r¾   rÉ   Úcr   )
Únumpy.lib.recfunctionsrå   r   r$   Úint32ÚeyeÚastypeÚfloat64rÖ   r×   )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   s4   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  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.   r2   r8   r:   r<   rB   rC   r    r©   r®   r°   r³   rµ   rÇ   rÍ   rÚ   rá   rä   rð   rü   rÿ   r	  r   r   r   r   r   
   s8    		r   )rÐ   Únumpyr   Únumpy.testingr   r   r   r   r   r   r   r   r   r   r   Ú<module>   s     