inducer / loopy

A code generator for array-based code on CPUs and GPUs
http://mathema.tician.de/software/loopy
MIT License
573 stars 70 forks source link

TypeInferenceMapper: allow np.bool in map_type_cast #856

Closed matthiasdiener closed 1 month ago

matthiasdiener commented 1 month ago

9f2e8ce2a13835e7e6d8529b500a7076a9b9f415 broke some mirgecom runs:


[...]
  File "/home/runner/work/mirgecom/mirgecom/src/loopy/loopy/type_inference.py", line 329, in map_sum
    dtype_set = self.rec(child)
                ^^^^^^^^^^^^^^^
  File "/home/runner/work/mirgecom/mirgecom/src/pymbolic/pymbolic/mapper/__init__.py", line 271, in __call__
    result = method(expr, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/mirgecom/mirgecom/src/loopy/loopy/type_inference.py", line 400, in map_type_cast
    raise LoopyError(f"Can't cast a '{subtype}' to '{expr.type}'")
loopy.diagnostic.LoopyError: Can't cast a 'np:dtype('bool')' to 'np:dtype('float64')'
inducer commented 1 month ago

I would much rather allow casting bool to float than revert this change.

matthiasdiener commented 1 month ago

I would much rather allow casting bool to float than revert this change.

What do you think of 22361dc?

inducer commented 1 month ago

Sure, I could live with that.