o
    Ô­j¦  ã                   @   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                   @   s4   e Z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   ú[/var/www/html/CropPilot/venv/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   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_scalarS   s   





zTestUfunclike.test_scalarN)r<   r=   r>   r!   r$   r,   rH   rO   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
    