diff --git a/madarrays/mad_array.py b/madarrays/mad_array.py index 573c729d6e880c3a8f313820b06c988ec2802c59..f6762e8936f1a627bcd70662225022e316dd2a65 100644 --- a/madarrays/mad_array.py +++ b/madarrays/mad_array.py @@ -293,11 +293,10 @@ class MadArray(np.ndarray): self._complex_masking = getattr(obj, '_complex_masking', None) self._masked_indexing = getattr(obj, '_masked_indexing', None) - def __array_wrap__(self, obj, context=None): - return obj[()] if obj.shape == () else obj - def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): + print(method) + args = [] is_mad = [] for input_ in inputs: @@ -333,24 +332,12 @@ class MadArray(np.ndarray): if outputs: out_args = [] for output in outputs: - if isinstance(output, MadArray): - out_args.append(output.view(np.ndarray)) - else: - out_args.append(output) + out_args.append(output.view(np.ndarray)) kwargs['out'] = tuple(out_args) else: outputs = (None,) * ufunc.nout - results = super().__array_ufunc__(ufunc, method, *args, **kwargs) - - if results is NotImplemented: - return NotImplemented - - if method == 'at': - return - - if ufunc.nout == 1: - results = (results,) + results = (super().__array_ufunc__(ufunc, method, *args, **kwargs), ) new_results = [] for result, output in zip(results, outputs):