Skip to content
Snippets Groups Projects
Commit e3f57b79 authored by Ronan Hamon's avatar Ronan Hamon
Browse files

simplify __array_ufunc__ and remove __array_ufunc__ in MadArray

parent df5fa127
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -293,11 +293,10 @@ class MadArray(np.ndarray): ...@@ -293,11 +293,10 @@ class MadArray(np.ndarray):
self._complex_masking = getattr(obj, '_complex_masking', None) self._complex_masking = getattr(obj, '_complex_masking', None)
self._masked_indexing = getattr(obj, '_masked_indexing', 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): def __array_ufunc__(self, ufunc, method, *inputs, **kwargs):
print(method)
args = [] args = []
is_mad = [] is_mad = []
for input_ in inputs: for input_ in inputs:
...@@ -333,24 +332,12 @@ class MadArray(np.ndarray): ...@@ -333,24 +332,12 @@ class MadArray(np.ndarray):
if outputs: if outputs:
out_args = [] out_args = []
for output in outputs: for output in outputs:
if isinstance(output, MadArray):
out_args.append(output.view(np.ndarray)) out_args.append(output.view(np.ndarray))
else:
out_args.append(output)
kwargs['out'] = tuple(out_args) kwargs['out'] = tuple(out_args)
else: else:
outputs = (None,) * ufunc.nout outputs = (None,) * ufunc.nout
results = super().__array_ufunc__(ufunc, method, *args, **kwargs) results = (super().__array_ufunc__(ufunc, method, *args, **kwargs), )
if results is NotImplemented:
return NotImplemented
if method == 'at':
return
if ufunc.nout == 1:
results = (results,)
new_results = [] new_results = []
for result, output in zip(results, outputs): for result, output in zip(results, outputs):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment