
    ,|h                     Z    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y)    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y)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        ||       |j                  t        j                        }t        t              5  t        j                  |       d d d        y # 1 sw Y   y xY w)N              @      )TFFFFF)nxarrayinfnanzerosshapebooluflisposinfr   astypenpcomplex_r   	TypeErrorselfaouttgtress        ]/var/www/html/test/engine/venv/lib/python3.12/site-packages/numpy/lib/tests/test_ufunclike.pytest_isposinfzTestUfunclike.test_isposinf       HHbffrvvgrvvsC>?hhqww%hh@All1oS#ll1c"S#S#HHR[[!9% 	LLO	 	 	   ?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        ||       |j                  t        j                        }t        t              5  t        j                  |       d d d        y # 1 sw Y   y xY w)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       y )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    HH*,DEFhhqww&hh(*>?@ggajS#ggaoS#S#SWWT]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
       y )Nc                   (    e Zd ZddZd fd	Zd Zy)5TestUfunclike.test_fix_with_subclass.<locals>.MyArrayNc                 `    t        j                  |d      j                  |       }||_        |S )NT)copy)r   r   viewmetadata)clsdatar8   r    s       r!   __new__z=TestUfunclike.test_fix_with_subclass.<locals>.MyArray.__new__7   s)    hht$/44S9'
r1   c                 B    t        |      r| j                  |_        |S N)
isinstancer8   )r   objcontextMyArrays      r!   __array_wrap__zDTestUfunclike.test_fix_with_subclass.<locals>.MyArray.__array_wrap__<   s    c7+#'==CL
r1   c                 *    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   s    

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    	bjj 	 HHc4[!A&GGAJ1bhh2w/0
1g&'QZZ' hggcl
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        y )Ng333333r   r   )r   )
r   r   r   True_r   typer/   float64r   r   )r   xactualexpectedr   s        r!   test_scalarzTestUfunclike.test_scalarS   s    FFQ88VX&T&\4>2::d#VX&T&\4>2hhsm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r1   