class_docstr: Wrapper around cupy.ndarray
  Supports cupy.ndarray.__init__ as well as,
  gets initialized with a cupy ndarray.
docstr: If `_initial_array` and `_supports_cupy` are arguments,
  initialize cls(ndarray).
  Else get cupy.ndarray from provided arguments,
  then initialize cls(ndarray).
docstr_tok: ["If","`","_initial_array","`","and","`","_supports_cupy","`","are","arguments",",","initialize","cls","(","ndarray",")",".","Else","get","cupy.ndarray","from","provided","arguments",",","then","initialize","cls","(","ndarray",")","."]
code: def __new__(cls, *args, **kwargs):
      """
      If `_initial_array` and `_supports_cupy` are arguments,
      initialize cls(ndarray).
      Else get cupy.ndarray from provided arguments,
      then initialize cls(ndarray).
      """
      _initial_array = kwargs.get("_initial_array", None)
      if _initial_array is not None:
          return object.__new__(cls)
  
      cupy_ndarray_init = cp.ndarray(*args, **kwargs)
      return cls(_initial_array=cupy_ndarray_init, _supports_cupy=True)
  
imports: import types
  import numpy
  import cupy
  from cupyx.fallback_mode import notification
label_desc: Use image node_id 1 for calling the ndarray obj's underlying member method code with example usage: obj.__new__(cls) and returns: cls, object