Skip to content

Commit 6e5d0cd

Browse files
committed
Make sure to change numpy arrays too
1 parent 71967b6 commit 6e5d0cd

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

src/blosc2/lazyexpr.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3421,21 +3421,29 @@ def save(self, **kwargs):
34213421

34223422

34233423
def _numpy_eval_expr(expression, operands, prefer_blosc=False):
3424-
ops = (
3425-
{
3424+
if prefer_blosc:
3425+
# convert blosc arrays to small dummies
3426+
ops = {
34263427
key: blosc2.ones((1,) * len(value.shape), dtype=value.dtype)
34273428
if hasattr(value, "chunks")
3428-
else value
3429+
else value # some of these could be numpy arrays
34293430
for key, value in operands.items()
34303431
}
3431-
if prefer_blosc
3432-
else {
3432+
# change numpy arrays
3433+
ops = {
3434+
key: np.ones((1,) * len(value.shape), dtype=value.dtype)
3435+
if isinstance(value, np.ndarray)
3436+
else value
3437+
for key, value in ops.items()
3438+
}
3439+
else:
3440+
ops = {
34333441
key: np.ones(np.ones(len(value.shape), dtype=int), dtype=value.dtype)
34343442
if hasattr(value, "shape")
34353443
else value
34363444
for key, value in operands.items()
34373445
}
3438-
)
3446+
34393447
if "contains" in expression:
34403448
_out = ne_evaluate(expression, local_dict=ops)
34413449
else:

0 commit comments

Comments
 (0)