
    `iQ                     &   d dl mZ d dlmZ d dlmZ  ej        dddd          Z ej        d	d
dd          Z	 ej        dddd          Z
 ej        ddd                    ej        rdnd          d          Z ej        dd
dd          ZdS )    )_core)ufunc)runtimecupy_signbit)ze->?zf->?zd->?zout0 = signbit(in0)zmTests elementwise if the sign bit is set (i.e. less than zero).

    .. seealso:: :data:`numpy.signbit`

    )doccopysign   cupy_copysignzvReturns the first argument with the sign bit of the second elementwise.

    .. seealso:: :data:`numpy.copysign`

    
cupy_ldexp)zei->ezfi->fzel->ezfl->fzdi->dzdq->dzout0 = ldexp(in0, in1)zRComputes ``x1 * 2 ** x2`` elementwise.

    .. seealso:: :data:`numpy.ldexp`

    
cupy_frexp)ze->eizf->fizd->diz,int nptr; out0 = {}(in0, &nptr); out1 = nptrfrexpffrexpzDecomposes each element to mantissa and two's exponent.

    This ufunc outputs two arrays of the input dtype and the ``int`` dtype.

    .. seealso:: :data:`numpy.frexp`

    	nextaftercupy_nextafteraR  Computes the nearest neighbor float values towards the second argument.

    .. note::
        For values that are close to zero (or denormal numbers),
        results of :func:`cupy.nextafter` may be different from those of
        :func:`numpy.nextafter`, because CuPy sets ``-ftz=true``.

    .. seealso:: :data:`numpy.nextafter`

    N)cupyr   
cupy._mathr   cupy_backends.cuda.apir   create_ufuncsignbitcreate_math_ufuncr   ldexpformatis_hipr   r        g/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/cupy/_math/floating.py<module>r      s               * * * * * * %
			 	 	 #5"?	 	 	:				 		 		 	299N/1 1			 		 		 $E#$		 				r   