o
    0 iQ                     @   s   d dl mZ d dlmZ d dlmZ ejdddddZed	d
ddZ	ejdddddZ
ejdddejr7dndddZedd
ddZdS )    )_core)ufunc)runtimeZ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   Zcupy_copysignzvReturns the first argument with the sign bit of the second elementwise.

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

    Z
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`

    Z
cupy_frexp)ze->eizf->fizd->diz,int nptr; out0 = {}(in0, &nptr); out1 = nptrZ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`

    	nextafterZ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)Zcupyr   Z
cupy._mathr   Zcupy_backends.cuda.apir   Zcreate_ufuncZsignbitZcreate_math_ufuncr   ldexpformatZis_hipr   r	    r   r   _/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/cupy/_math/floating.py<module>   s>    	