From 7b57511a967c29351c3645c239c8bf0acbdc3a89 Mon Sep 17 00:00:00 2001 From: Alexandru Fikl Date: Tue, 19 Oct 2021 22:36:15 -0500 Subject: [PATCH] simplify new_like allocation --- arraycontext/fake_numpy.py | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/arraycontext/fake_numpy.py b/arraycontext/fake_numpy.py index da72b7d..fec1463 100644 --- a/arraycontext/fake_numpy.py +++ b/arraycontext/fake_numpy.py @@ -24,7 +24,7 @@ THE SOFTWARE. import numpy as np -from arraycontext.container import serialize_container, deserialize_container +from arraycontext.container import serialize_container from arraycontext.container.traversal import ( rec_map_array_container, multimapped_over_array_containers) from pytools import memoize_in @@ -187,17 +187,7 @@ class BaseFakeNumpyNamespace: # FIXME: what about object arrays nested in an ArrayContainer? raise NotImplementedError("operation not implemented for object arrays") - def _new_like_container(_ary): - try: - iterable = serialize_container(_ary) - except TypeError: - return alloc_like(_ary) - else: - return deserialize_container(_ary, [ - (key, alloc_like(subary)) for key, subary in iterable - ]) - - return _new_like_container(ary) + return rec_map_array_container(alloc_like, ary) def empty_like(self, ary): return self._new_like(ary, self._array_context.empty_like) -- GitLab