diff --git a/boxtree/tools.py b/boxtree/tools.py index 9c74d960aac4e3c696a9d2e8ade6d3ed8aa13e3f..b1d223e40a22bec0c44d4387502eb5ff5c35d57d 100644 --- a/boxtree/tools.py +++ b/boxtree/tools.py @@ -276,8 +276,8 @@ class DeviceDataRecord(Record): def transform_val(val): from pyopencl.algorithm import BuiltList if isinstance(val, np.ndarray) and val.dtype == object: - from pytools.obj_array import with_object_array_or_scalar - return with_object_array_or_scalar(f, val) + from pytools.obj_array import obj_array_vectorize + return obj_array_vectorize(f, val) elif isinstance(val, list): return [transform_val(i) for i in val] elif isinstance(val, BuiltList): diff --git a/boxtree/tree_build.py b/boxtree/tree_build.py index 38c69b7e38e0011d5652a01c9c7856678b2df70b..cf4e80b077e53e0eb4a3797b274556a255bc3334 100644 --- a/boxtree/tree_build.py +++ b/boxtree/tree_build.py @@ -247,10 +247,10 @@ class TreeBuilder(object): # Targets weren't specified. Sources are also targets. Let's # call them "srcntgts". - from pytools.obj_array import is_obj_array, make_obj_array - if is_obj_array(particles): + if isinstance(particles, np.ndarray) and particles.dtype.char == "O": srcntgts = particles else: + from pytools.obj_array import make_obj_array srcntgts = make_obj_array([ p.with_queue(queue).copy() for p in particles ])