o
    0Zc                     @   sT   d dl Zd dlmZ d dlm  m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      t t jt j t jdddg}t |jt}t g d}t|}t	|| t||}t	|| t	|| |
tj}tt t| W d    d S 1 sRw   Y  d S )N              @      )TFFFFF)nxarrayinfnanzerosshapebooluflisposinfr   astypenpcomplex_r   	TypeErrorselfaouttgtres r   T/var/www/chikooza/env/lib/python3.10/site-packages/numpy/lib/tests/test_ufunclike.pytest_isposinf      




"zTestUfunclike.test_isposinfc                 C   r   )Nr	   r
   r   )FTFFFF)r   r   r   r   r   r   r   r   isneginfr   r   r   r   r   r   r   r   r   r    test_isneginf   r"   zTestUfunclike.test_isneginfc                 C   s   t g dg dg}t |jt}t g dg dg}t|}t|| t||}t|| t|| ttdd d S )N)      ?皙?g      ?g?)      皙g      g)r%   r%   r%   r%   )r'   r'   r'   r'   gQ	@   )r   r   r   r   floatr   fixr   r   r   r   r    test_fix)   s   



zTestUfunclike.test_fixc                    s   G  fdddt j t ddg} |dd}t|}t|t ddg tt|  t|j	d |d	 }d
|_	t|}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| }||_|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   r5   r   r   r    __array_finalize__A   s   zHTestUfunclike.test_fix_with_subclass.<locals>.MyArray.__array_finalize__r3   )__name__
__module____qualname__r2   r9   r;   r   r7   r   r    r8   6   s    
r8   r&   r(   foo)r/      )r   .bar)
r   ndarrayr   r   r+   r   r   r4   r   r/   )r   r   mfm0df0dr   r7   r    test_fix_with_subclass5   s   

z$TestUfunclike.test_fix_with_subclassc                 C   sX   t ttjddgtdd t ttjddgtdd t ttjddgtdd d S )Nr@      )y)r   DeprecationWarningr   r+   r   emptyr   r#   )r   r   r   r    test_deprecatedS   s    zTestUfunclike.test_deprecatedc                 C   s   t j}t |}t j}t|| tt|t| d}t |}t d}t|| tt|t| t d}t j||d}t	||u  d S )Ng333333r   r	   )r   )
r   r   r   True_r   typer+   float64r   r   )r   xactualexpectedr   r   r   r    test_scalarY   s   





zTestUfunclike.test_scalarN)	r<   r=   r>   r!   r$   r,   rH   rM   rT   r   r   r   r    r   	   s    r   )numpyr   
numpy.corecorer   numpy.lib.ufunclikelib	ufuncliker   numpy.testingr   r   r   r   r   r   r   r   r   r    <module>   s
    