code: def _default_out_of_place(func, x, **kwargs):
      
      if is_valid_input_array(x, func.domain.ndim):
          scalar_out_shape = out_shape_from_array(x)
      elif is_valid_input_meshgrid(x, func.domain.ndim):
          scalar_out_shape = out_shape_from_meshgrid(x)
      else:
          raise TypeError('cannot use in-place method to implement '
                          'out-of-place non-vectorized evaluation')
  
      dtype = func.space.scalar_out_dtype
      if dtype is None:
          dtype = np.result_type(*x)
  
      out_shape = func.out_shape + scalar_out_shape
      out = np.empty(out_shape, dtype=dtype)
      func._call_in_place(x, out=out, **kwargs)
      return out
docs: Default in-place evaluation method.