HACO / chumpy /ch.py
dqj5182's picture
Make chumpy shim array-like
eabb318
Raw
History Blame Contribute Delete
760 Bytes
import numpy as np
class Ch:
def __setstate__(self, state):
self.__dict__.update(state)
@property
def r(self):
if "x" in self.__dict__:
return self.__dict__["x"]
return np.asarray(self)
def __array__(self, dtype=None):
array = np.asarray(self.r)
if dtype is not None:
array = array.astype(dtype)
return array
@property
def shape(self):
return np.asarray(self).shape
@property
def ndim(self):
return np.asarray(self).ndim
def __len__(self):
return len(np.asarray(self))
def __getitem__(self, item):
return np.asarray(self)[item]
def reshape(self, *shape):
return np.asarray(self).reshape(*shape)