
    `i`                        d dl mZ d dlmZ ej        Z ej        dddd          Zej        Zej        Zej	        Z	 ej        dd	d
d          Z
 ej        dddd          Zd!dZd Zd Zej        Zej        Zej        Zej        Zej        Zej        Zej        Z ej        dddd          Z ej        dddd          Z ej        dddd          Zej        Zd S )"    )_core)fusioncupy_reciprocal)bBhHiIlLqQ)eout0 = 1 / in0)fr   )dr   )Fout0 = in0_type(1) / in0)Dr   zout0 = in0 == 0 ? 0 : (1 / in0)zPComputes ``1 / x`` elementwise.

    .. seealso:: :data:`numpy.reciprocal`

    )doc	cupy_real)?->?b->bB->Bh->hH->Hi->iI->Il->lL->Lq->qQ->Qe->ef->fd->d)F->fout0 = in0.real())D->dr(   z
out0 = in0^Returns the real part of the elements of the array.

    .. seealso:: :func:`numpy.real`

    	cupy_imag)r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   )r'   out0 = in0.imag())r)   r,   zout0 = 0cReturns the imaginary part of the elements of the array.

    .. seealso:: :func:`numpy.imag`

    Fc                 V    |rt          j        |           S t          j        |           S )zVReturns the angle of the complex argument.

    .. seealso:: :func:`numpy.angle`

    )r   	angle_degangle)zdegs     i/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/cupy/_math/arithmetic.pyr0   r0   A   s*      "q!!!;q>>    c                     t          j                    rt          j        t          |           S t	          | t
          j                  st          j        |           } | j        S )r*   )	r   
_is_fusing_call_ufunc_real_ufunc
isinstancer   ndarrayarrayrealvals    r3   r<   r<   L   R      4!+s333c5=)) k#8Or4   c                     t          j                    rt          j        t          |           S t	          | t
          j                  st          j        |           } | j        S )r-   )	r   r6   r7   _imag_ufuncr9   r   r:   r;   imagr=   s    r3   rB   rB   Y   r?   r4   cupy_float_power)dd->dzFF->D)zDD->Dz6out0 = in1 == in1_type(0) ? in1_type(1): pow(in0, in1)zout0 = pow(in0, in1)zxFirst array elements raised to powers from second array, element-wise.

    .. seealso:: :data:`numpy.float_power`

    	cupy_fmod)zbb->bzBB->Bzhh->hzHH->Hzii->izII->Izll->lzLL->Lzqq->qzQQ->Q)zee->eout0 = fmodf(in0, in1))zff->frF   )rD   zout0 = fmod(in0, in1)z4out0 = in1 == 0 ? 0 : fmod((double)in0, (double)in1)z\Computes the remainder of C division elementwise.

    .. seealso:: :data:`numpy.fmod`

    	cupy_modf)ze->eezf->ff)zd->ddz1double iptr; out0 = modf(in0, &iptr); out1 = iptrz1float iptr; out0 = modff(in0, &iptr); out1 = iptrzExtracts the fractional and integral parts of an array elementwise.

    This ufunc returns two arrays.

    .. seealso:: :data:`numpy.modf`

    N)F)cupyr   
cupy._corer   addcreate_ufunc
reciprocalpositivenegative	conjugater8   rA   r0   r<   rB   multiplydividedivmodpowersubtracttrue_dividefloor_dividefloat_powerfmodmodf	remainder r4   r3   <module>r\      s               i  U( &		 	 	
  > > O	
 !e $ 		 	 	  !e $ 		 	 	   
 
 

 
 
 > 
 
 	 >  ! e J	
 
 
 u)
 ;		 	 	 uE7		 	 	 O			r4   