Skip to content

Commit c8c14d3

Browse files
committed
fix tuple handling for manipulation funcs
1 parent 6d8630b commit c8c14d3

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/pint_array/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ def fun(*args, func_str=func_str, units=None, **kwargs):
240240
## Manipulation Functions ##
241241
first_arg_arrays = {"broadcast_arrays", "concat", "stack", "meshgrid"}
242242
output_arrays = {"broadcast_arrays", "unstack", "meshgrid"}
243+
arbitrary_num_arrays = {"broadcast_arrays", "meshgrid"}
243244

244245
def get_manip_fun(func_str):
245246
def manip_fun(x, *args, **kwargs):
@@ -249,15 +250,18 @@ def manip_fun(x, *args, **kwargs):
249250
x = asarray(x)
250251
magnitude = xp.asarray(x.magnitude, copy=True)
251252
units = x.units
252-
magnitude = xp_func(magnitude, *args, **kwargs)
253253

254254
else:
255255
x = [asarray(x_i) for x_i in x]
256256
units = x[0].units
257257
magnitude = [xp.asarray(x[0].magnitude, copy=True)]
258258
for x_i in x[1:]:
259259
magnitude.append(x_i.m_as(units))
260+
261+
if func_str in arbitrary_num_arrays:
260262
magnitude = xp_func(*magnitude, *args, **kwargs)
263+
else:
264+
magnitude = xp_func(magnitude, *args, **kwargs)
261265

262266
if name in output_arrays:
263267
return tuple(

0 commit comments

Comments
 (0)