
    Ng                     b    d dl Zd dlmZ d dlmc mZ d dl	m
Z
mZmZmZmZ  G d d          ZdS )    N)assert_assert_equalassert_array_equalassert_warnsassert_raisesc                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestUfunclikec                 T   t          j        t           j        t           j         t           j        dddg          }t          j        |j        t                    }t          j        g d          }t          j        |          }t          ||           t          j        ||          }t          ||           t          ||           |
                    t          j                  }t          t                    5  t          j        |           d d d            d S # 1 swxY w Y   d S )N              @      )TFFFFF)nxarrayinfnanzerosshapebooluflisposinfr   astypenpcomplex_r   	TypeErrorselfaouttgtress        Z/var/www/html/ai-engine/env/lib/python3.11/site-packages/numpy/lib/tests/test_ufunclike.pytest_isposinfzTestUfunclike.test_isposinf   /   HbfrvgrvsC>??hqw%%h@@@AAl1ooS#l1c""S#S#HHR[!!9%% 	 	LOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	   ;DD!$D!c                 T   t          j        t           j        t           j         t           j        dddg          }t          j        |j        t                    }t          j        g d          }t          j        |          }t          ||           t          j        ||          }t          ||           t          ||           |
                    t          j                  }t          t                    5  t          j        |           d d d            d S # 1 swxY w Y   d S )Nr   r   r   )FTFFFF)r   r   r   r   r   r   r   r   isneginfr   r   r   r   r   r   r   s        r!   test_isneginfzTestUfunclike.test_isneginf   r#   r$   c                    t          j        g dg dg          }t          j        |j        t                    }t          j        g dg dg          }t          j        |          }t          ||           t          j        ||          }t          ||           t          ||           t          t          j        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   s        r!   test_fixzTestUfunclike.test_fix)   s    H***,D,D,DEFFhqw&&h(((*>*>*>?@@gajjS#gaooS#S#SWT]]A&&&&&    c                      G fddt           j                  t          j        ddg          } |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                   *    e Zd ZddZd fd	Zd ZdS )5TestUfunclike.test_fix_with_subclass.<locals>.MyArrayNc                 f    t          j        |d                              |           }||_        |S )NT)copy)r   r   viewmetadata)clsdatar8   r    s       r!   __new__z=TestUfunclike.test_fix_with_subclass.<locals>.MyArray.__new__7   s0    ht$///44S99'
r1   c                 @    t          |          r| j        |_        |S N)
isinstancer8   )r   objcontextMyArrays      r!   __array_wrap__zDTestUfunclike.test_fix_with_subclass.<locals>.MyArray.__array_wrap__<   s#    c7++ 1#'=CL
r1   c                 2    t          |dd           | _        | S )Nr8   )getattrr8   )r   r?   s     r!   __array_finalize__zHTestUfunclike.test_fix_with_subclass.<locals>.MyArray.__array_finalize__A   s     'Z > >r1   r=   )__name__
__module____qualname__r;   rB   rE   )rA   s   r!   rA   r4   6   sV           
     
    r1   rA   r*   r,   foo)r8      )r   .bar)
r   ndarrayr   r   r/   r   r   r>   r   r8   )r   r   mfm0df0drA   s         @r!   test_fix_with_subclassz$TestUfunclike.test_fix_with_subclass5   s   	 	 	 	 	 	 	bj 	 	 	 Hc4[!!GA&&&GAJJ1bh2w//000
1g&&'''QZ''' hgcll
3(()))S\5)))))r1   c                    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        ||          }t          ||u            d S )Ng333333r   r   )r   )
r   r   r   True_r   typer/   float64r   r   )r   xactualexpectedr   s        r!   test_scalarzTestUfunclike.test_scalarS   s    FQ8VX&&&T&\\4>>222:d##VX&&&T&\\4>>222hsmms####r1   N)rF   rG   rH   r"   r'   r0   rR   rZ    r1   r!   r	   r	   	   s_            
' 
' 
'* * *<    r1   r	   )numpyr   
numpy.corecorer   numpy.lib.ufunclikelib	ufuncliker   numpy.testingr   r   r   r   r   r	   r[   r1   r!   <module>rc      s              ! ! ! ! ! ! ! ! !             
Y Y Y Y Y Y Y Y Y Yr1   