3
KdA                  @   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jdgtjddg tjddg d S )N   r   )r   nppoly1d)self r   S/var/www/html/virt/lib64/python3.6/site-packages/numpy/lib/tests/test_regression.pytest_poly1d   s    zTestRegression.test_poly1dc             C   s>   t jjd}|j }t j|dd t j|dd t|| d S )N   T)ZrowvarF)r   r   )r   randomcopyZcovr   )r   xyr   r   r   test_cov_parameters   s
    z"TestRegression.test_cov_parametersc             C   sH   xBt dD ]6}tjddddgddg tjdddddgddg q
W d S )Nd   r	      r      r   )ranger   Zdigitize)r   ir   r   r   test_mem_digitize   s    z TestRegression.test_mem_digitizec             C   s   t g tjtjg  d S )N)r   r   uniquearray)r   r   r   r   test_unique_zero_sized   s    z%TestRegression.test_unique_zero_sizedc             C   sV   t jdd }|t jdt jdt jd |t jdt jd	t jd
t jd d S )Nc              W   s   | S )Nr   )argsr   r   r   <lambda>$   s    z3TestRegression.test_mem_vectorise.<locals>.<lambda>r	   r   )r	   r   r	   )r   r	   r	   )r	   r	   r   )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mgrid)r   r   r   r   test_mgrid_single_element)   s    z(TestRegression.test_mgrid_single_elementc             C   s   dd }t j|}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 jg dg d S )Ng      ?)r   Zpolymul)r   r   r   r   test_mem_polymul:   s    zTestRegression.test_mem_polymulc             C   s   t jg }t j|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   sJ   t jdddg}t jdddddg}t j||\}}t|| | | d S )Nr	   r   r   r      )r   r   polydivr   )r   ur(   qr*   r   r   r   test_poly_divC   s    zTestRegression.test_poly_divc             C   s:   t jdddg}t jddg}t||k t||k d S )Nr	   r   r   r   )r   r   r   )r   r   r   r   r   r   test_poly_eqJ   s    zTestRegression.test_poly_eqc          Q   C   sv  dcdddddeg}dddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVgQ}dWdXdYdZdZd[d\d]dWd[d]d^d\d^dWd[d\d_d\d_dYd\d\d\d`dZdWd]dZd^d[d^dYdYd\dadYdYdWdZdad\d\dZdXdWd[d[d\dYdWd_d\d[dZdYdYd_d[d[d\dXd[dZd^dYd[d\d\dZdadWd[d[d[d\dYdZdZd^dYgQ}t j||db}t|| d S )fNg1$ͱ>gHPB?g{p#?gpI#@g
K<ls@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&   |   }   ~                                                                                                                                       g      "@g      @g      @g      @g       @g      @g      &@g      @g      $@g      *@g      (@r   g1$ͱg{p#g
K<ls)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 j||\}}t|jtk| d}t jdtd}t j||\}}t|jtk| d S )NzWrong type, should be complexr   )dtypezWrong type, should be float)r   onescomplexr2   r   r   intfloat)r   msgr   r4   r*   r   r   r   test_polydiv_typef   s    z TestRegression.test_polydiv_typec             C   s   t ttjtjddd d S )Nr	   
   r   )Zbins)r	   r   i   )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|jtk| d}t jdtd}tt j|jtk| d S )NzWrong type, should be complexr   )r   zWrong type, should be float)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jtjg g d S )N)listr   Zndenumerater   )r   r   r   r   test_ndenumerate_crash~   s    z%TestRegression.test_ndenumerate_crashc             C   s    t tjtjgtjd g d S )N)r   r   r   r+   Zasfarray)r   r   r   r   test_asfarray_none   s    z!TestRegression.test_asfarray_nonec                sV   t jt jjd }td| d
 d   fdd} fdd	}tt| tt| d S )N   r   g      ?g      @r	   c                 s@   d} t j| fd }t jjd|  d}d|t j|||||< d S )Nr   r1   r   )size)r   r   r   randintix_)nar   )thesizer   r   dp   s    z4TestRegression.test_large_fancy_indexing.<locals>.dpc                 s@   d} t j| fd }t jjd|  d}|t j|||||  d S )Nr   r1   r   )r   )r   r   r   r   r   )r   r   r   )r   r   r   dp2   s    z5TestRegression.test_large_fancy_indexing.<locals>.dp2g?)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 jddg}t jd|}tt j||f j|k d S )	Nr   f4bi4r	   )r   r   )r   r   )r	   )r   r   r#   r   Zr_)r   dtr   r   r   r   test_void_coercion   s    z!TestRegression.test_void_coercionc             C   sv   dd l }dd l}|j}t|jd|_z:ytjdtjdi W n tk
rZ   t	dY nX W d |jj
  ||_X 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   s6   t j g}x&|D ]}tt|t t|dk qW 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jtjdgdtj t ttjdgdtj t ttjtjdgdtj t ttjdgdtj d S )Nr	   r   )r   r   r   Zpolyderr   Zndarray)r   r   r   r   test_polyder_return_type   s      z'TestRegression.test_polyder_return_typec             C   s   ddl m} tjdddgtjd}ddd	g}tjdjtj}tjtjtjg}y||||| W n tk
rz   t	 Y nX d S )
Nr   )append_fieldsr	   r   r   )r   r   r   c)
Znumpy.lib.recfunctionsr   r   r   Zint32ZeyeZastypeZ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}d0g}t|tj||d d S )1Nr   )StringIOr   u1r   r   z0 1 2 3)r   r	   r   z0 1 2 3 4 5 6 7 8 9 10 11r   r1         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   r1   r   r   r   r   r   r   r   r   r   r   r   r   r   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}yt j| W n tk
r6   t Y nX 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   s^   G dd d}t tjd}z4ytj| |d W n tk
rJ   t Y nX W d |j  X 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)   r-   r.   r0   r5   r6   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
   s6   		r   )r   Znumpyr   Znumpy.testingr   r   r   r   r   r   r   r   r   r   r   <module>   s    