a
    Lf                     @   sF   d dl Zd dl mZmZmZ d dlmZmZmZm	Z	 G dd dZ
dS )    N)fixisposinfisneginf)assert_assert_equalassert_array_equalassert_raisesc                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestUfunclikec                 C   s   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    n1 s0    Y  d S )N              @      )TFFFFF)nparrayinfnanzerosshapeboolr   r   astype
complex128r   	TypeErrorselfaoutZtgtres r   W/var/www/ai-form-bot/venv/lib/python3.9/site-packages/numpy/lib/tests/test_ufunclike.pytest_isposinf   s    




zTestUfunclike.test_isposinfc                 C   s   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    n1 s0    Y  d S )Nr
   r   r   )FTFFFF)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   test_isneginf   s    




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   r   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__Fc                    s*   t | s| }|jd u r&| j|_|S )N)
isinstancer(   r)   )r   objcontextZreturn_scalar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__C   s    zHTestUfunclike.test_fix_with_subclass.<locals>.MyArray.__array_finalize__)N)NF)__name__
__module____qualname__r,   r2   r4   r   r0   r   r   r1   6   s   
r1   r!   r#   Zfoo)r)      )r   .bar)	r   Zndarrayr   r   r   r   r-   r   r)   )r   r   mfZm0dZf0dr   r0   r   test_fix_with_subclass5   s    z$TestUfunclike.test_fix_with_subclassc                 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   ZTrue_r   typer   Zfloat64r   r   )r   xactualexpectedr   r   r   r   test_scalarU   s    





zTestUfunclike.test_scalarN)r5   r6   r7   r   r   r&   r=   rB   r   r   r   r   r	   	   s
    r	   )numpyr   r   r   r   Znumpy.testingr   r   r   r   r	   r   r   r   r   <module>   s   