|
* std/bitops: Add explicit type masking for the JS target
Typecasts on the JavaScript backend do not function the same way as they
do on C and C++ backends, so for bitwise operations we may need to mask them
back down into their allowed range when they get shifted outside it.
Since they do work as expected on the other backends, a default bitmask
of all 1's is casted down into the target type as an easily optimizable
"& 0xFF" operation for these backends.
* Fixup: this should still be a func
* Run test case on js target
* Adapt testcase to contributor guide and best practices
* Simplify constrain logic and turn into actual no-op for the C side
|