parameters: (arr, original)
return_statement: return arr.base is None
docstring: Strict check for `arr` not sharing any data with `original`,
      under the assumption that arr = asarray(original)
docstring_summary: Strict check for `arr` not sharing any data with `original`,
      under the assumption that arr = asarray(original)
docstring_tokens: Strict check for arr not sharing any data with original under the assumption that arr = asarray ( original )
function: def _datacopied(arr, original):
      """
      Strict check for `arr` not sharing any data with `original`,
      under the assumption that arr = asarray(original)
  
      """
      if arr is original:
          return False
      if not isinstance(original, np.ndarray) and hasattr(original, '__array__'):
          return False
      return arr.base is None
function_tokens: def _datacopied ( arr , original ) : if arr is original : return False if not isinstance ( original , np . ndarray ) and hasattr ( original , '__array__' ) : return False return arr . base is None