'Reshape the array without changing its contents, similarly to
:meth:`numpy.ndarray.reshape`. Example::
d_arr = d_arr.reshape(20, 50, order=\'F\')'

def reshape(self, *newshape, **kws):

    if ((len(newshape) == 1) and isinstance(newshape[0], (tuple, list))):
        newshape = newshape[0]
    cls = type(self)
    if (newshape == self.shape):
        return cls(shape=self.shape, strides=self.strides, dtype=self.dtype, gpu_data=self.gpu_data)
    (newarr, extents) = self._dummy.reshape(*newshape, **kws)
    if (extents == [self._dummy.extent]):
        return cls(shape=newarr.shape, strides=newarr.strides, dtype=self.dtype, gpu_data=self.gpu_data)
    else:
        raise NotImplementedError('operation    requires    copying')
