o
    i                     @   sR   d dl mZ d dl Z dd ZeddZeddZed	d
ZdddZdddZdS )    )_coreNc                 C   s   t jd|  dd|  |dS )Ncupy_)ze->?zf->?zd->?zF->?zD->?zout0 = %s(in0))doc)r   create_ufunc)namer    r   P/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/cupy/_logic/content.py_create_float_test_ufunc   s   r	   isfinitezTests finiteness elementwise.

    Each element of returned array is ``True`` only if the corresponding
    element of the input is finite (i.e. not an infinity nor NaN).

    .. seealso:: :data:`numpy.isfinite`

    isinfzgTests if each element is the positive or negative infinity.

    .. seealso:: :data:`numpy.isinf`

    isnanzKTests if each element is a NaN.

    .. seealso:: :data:`numpy.isnan`

    c              
   C   sX   t | }zt| }W n ty# } z| j}td| d|d}~ww tj|||dS )a  Test element-wise for negative infinity, return result as bool array.

    Parameters
    ----------
    x : cupy.ndarray
        Input array.
    out : cupy.ndarray, optional
        A location into which the result is stored. If provided,
        it should have a shape that input broadcasts to.
        By default, None, a freshly- allocated boolean array,
        is returned.

    Returns
    -------
    y : cupy.ndarray
        Boolean array of same shape as ``x``.

    Examples
    --------
    >>> cupy.isneginf(0)
    array(False)
    >>> cupy.isneginf(-cupy.inf)
    array(True)
    >>> cupy.isneginf(cupy.array([-cupy.inf, -4, cupy.nan, 0, 4, cupy.inf]))
    array([ True, False, False, False, False, False])

    See Also
    --------
    numpy.isneginf

    $This operation is not supported for & values because it would be ambiguous.Noutr   cupysignbit	TypeErrordtypelogical_andxr   is_infr   er   r   r   r   isneginf,   s   !r   c              
   C   sZ   t | }zt|  }W n ty$ } z| j}td| d|d}~ww tj|||dS )a  Test element-wise for positive infinity, return result as bool array.

    Parameters
    ----------
    x : cupy.ndarray
        Input array.
    out : cupy.ndarray
        A location into which the result is stored. If provided,
        it should have a shape that input broadcasts to.
        By default, None, a freshly- allocated boolean array,
        is returned.

    Returns
    -------
    y : cupy.ndarray
        Boolean array of same shape as ``x``.

    Examples
    --------
    >>> cupy.isposinf(0)
    array(False)
    >>> cupy.isposinf(cupy.inf)
    array(True)
    >>> cupy.isposinf(cupy.array([-cupy.inf, -4, cupy.nan, 0, 4, cupy.inf]))
    array([False, False, False, False, False,  True])

    See Also
    --------
    numpy.isposinf

    r   r   Nr   r   r   r   r   r   isposinfY   s   !r   )N)r   r   r	   r
   r   r   r   r   r   r   r   r   <module>   s"    	
	-