def iscomplex(x: ndarray | npt.NDArray[Any]) -> ndarray:
    """

    Returns a bool array, where True if input element is complex.

    What is tested is whether the input has a non-zero imaginary part, not if
    the input type is complex.

    Parameters
    ----------
    x : array_like
        Input array.

    Returns
    -------
    out : ndarray[bool]
        Output array.

    See Also
    --------
    numpy.iscomplex

    Availability
    --------
    Multiple GPUs, Multiple CPUs

    """
    x = convert_to_cupynumeric_ndarray(x)
    if x.dtype.kind != "c":
        return full(x.shape, False, dtype=bool)
    else:
        return x.imag != 0


    Returns a bool array, where True if input element is complex.

    What is tested is whether the input has a non-zero imaginary part, not if
    the input type is complex.

    Parameters
    ----------
    x : array_like
        Input array.

    Returns
    -------
    out : ndarray[bool]
        Output array.

    See Also
    --------
    numpy.iscomplex

    Availability
    --------
    Multiple GPUs, Multiple CPUs

    
cupynumeric/_module/logic_array_type.py