a
    ç´«jÏ  ã                   @   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 sœ0    Y  d S )Nç        ç      @ç      À)TFFFFF)ÚnpÚarrayÚinfÚnanÚzerosÚshapeÚboolr   r   ÚastypeÚ
complex128r   Ú	TypeError©ÚselfÚaÚoutZtgtÚres© r   ú]/var/www/html/laksyashrimp/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 sœ0    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   