Binary bitwise operators ^
, &
, |
should be invalid on Bools.
#8596
Labels
dev_meeting
Topic to be discussed at the next dev meeting
enhancement
New user-visible features or improvements to existing features.
python
Issues related to Halide/Python interop
Instead,
!=
,&&
, and||
should be used.I tried adding user_asserts for
type.bits() > 1
, however that breaks the Python bindings as they rely on&
and|
instead ofand
andor
(as it seems you cannot overloadand
andor
in Python).I ran into this issue because I had used a
^
on a bool arguments (uint1
) which caused the WebGPU backend to complain that^
is only valid on int datatypes, which is correct. This made me realize I should have used!=
. So, trying to prevent bugs like this in the future, I added asserts (like mentioned before) in IROperator.cpp on all those bitwise operators to make sure you're not using them on booleans. However, that breaks the Python bindings as described.The text was updated successfully, but these errors were encountered: