It is an undefined behavior in C when the right operand of a shift operation exceeds the bit-width of the left operand. We define the shift operation to be `x << (y % B)` where `B` is the bit-width of the left operand.
64 lines
339 B
Text
64 lines
339 B
Text
"Nat"
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
"UInt8"
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
"UInt16"
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
"UInt32"
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
"UInt64"
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
"USize"
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|