I am trying to make a subclass that never propagates so that when interacted with another ndarray, or even itself so that the return type is always ndarray. Is this possible?
I got pretty far with def __array_wrap__(self, out_arr, context=None): if out_arr.shape == (): return out_arr.item() # if ufunc output is scalar, return it else: out = super(ArrayLike, self).__array_wrap__(out_arr, context) # Never return ArrayLike if isinstance(out, ArrayLike): out = out.view(np.ndarray) return out Which works well for ufuncs. However, when I try other functions like `dot` I get my subclass type returned. If there a reasonable way to ensure that my subclass doesn't propagate? I think I would need some way to override the behavior when .view(MySubClass) is called. Thanks, Kevin
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion