3
Kd                 @   sL   d dl Zd dljZd dljjZd dl	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_warnsassert_raisesc               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )TestUfunclikec          	   C   s   t jt jt j t jdddg}t j|jt}t jddddddg}tj|}t	|| tj||}t	|| t	|| |j
tj}tt tj| W d Q R X d S )Ng        g      @TFg      )nxarrayinfnanzerosshapebooluflisposinfr   astypenpcomplex_r   	TypeError)selfaouttgtres r   R/var/www/html/virt/lib64/python3.6/site-packages/numpy/lib/tests/test_ufunclike.pytest_isposinf   s    




zTestUfunclike.test_isposinfc          	   C   s   t jt jt j t jdddg}t j|jt}t jddddddg}tj|}t	|| tj||}t	|| t	|| |j
tj}tt tj| W d Q R X d S )Ng        g      @FTg      )r   r	   r
   r   r   r   r   r   isneginfr   r   r   r   r   r   )r   r   r   r   r   r   r   r   test_isneginf   s    




zTestUfunclike.test_isneginfc             C   s   t jddddgddd	d
gg}t j|jt}t jddddgddddgg}tj|}t|| tj||}t|| t|| ttjdd d S )Ng      ?g?g      ?g?gQ	@   g      gg      gg      g      g      g      )r   r	   r   r   floatr   fixr   )r   r   r   r   r   r   r   r   test_fix)   s    



zTestUfunclike.test_fixc                s   G  fdddt j t jdd
g} |dd}tj|}t|t jddg tt|  t|j	d |d }d	|_	tj|}tt|  t|j	d	 d S )Nc                   s,   e Zd ZdddZd	 fdd	Zdd ZdS )
z5TestUfunclike.test_fix_with_subclass.<locals>.MyArrayNc             S   s   t j|ddj| }||_|S )NT)copy)r   r	   viewmetadata)clsdatar%   r   r   r   r   __new__7   s    z=TestUfunclike.test_fix_with_subclass.<locals>.MyArray.__new__c                s   t | r| j|_|S )N)
isinstancer%   )r   objcontext)MyArrayr   r   __array_wrap__<   s    
zDTestUfunclike.test_fix_with_subclass.<locals>.MyArray.__array_wrap__c             S   s   t |dd | _| S )Nr%   )getattrr%   )r   r*   r   r   r   __array_finalize__A   s    zHTestUfunclike.test_fix_with_subclass.<locals>.MyArray.__array_finalize__)N)N)__name__
__module____qualname__r(   r-   r/   r   )r,   r   r   r,   6   s   
r,   g?Zfoo)r%      r   .barg)r   .)
r   Zndarrayr	   r   r!   r   r   r)   r   r%   )r   r   mfZm0dZf0dr   )r,   r   test_fix_with_subclass5   s    

z$TestUfunclike.test_fix_with_subclassc             C   sX   t ttjddgtjdd t ttjddgtjdd t ttjddgtjdd d S )Nr3      )y)r   DeprecationWarningr   r!   r   emptyr   r   )r   r   r   r   test_deprecatedS   s    zTestUfunclike.test_deprecatedc             C   s   t j}t j|}t j}t|| tt|t| d}t j|}t jd}t|| tt|t| t jd}t j||d}t	||k d S )Ng333333@g      @g        )r   g333333g      )
r   r
   r   ZTrue_r   typer!   Zfloat64r	   r   )r   xactualexpectedr   r   r   r   test_scalarY   s    





zTestUfunclike.test_scalarN)	r0   r1   r2   r   r   r"   r8   r=   rB   r   r   r   r   r   	   s   r   )Znumpyr   Z
numpy.corecorer   Znumpy.lib.ufunclikelibZ	ufuncliker   Znumpy.testingr   r   r   r   r   r   r   r   r   r   <module>   s   
