Implemented bit shifts
This commit is contained in:
parent
a7d8d6ae20
commit
f0a1b97f2d
7 changed files with 101 additions and 2 deletions
57
tests/programs/shift.q
Normal file
57
tests/programs/shift.q
Normal file
|
@ -0,0 +1,57 @@
|
|||
import sys
|
||||
|
||||
main() {
|
||||
if 0 << 0 != 0 {
|
||||
sys.exit(1)
|
||||
}
|
||||
|
||||
if 0 >> 0 != 0 {
|
||||
sys.exit(2)
|
||||
}
|
||||
|
||||
if 1 << 0 != 1 {
|
||||
sys.exit(3)
|
||||
}
|
||||
|
||||
if 1 >> 0 != 1 {
|
||||
sys.exit(4)
|
||||
}
|
||||
|
||||
if 1 >> 1 != 0 {
|
||||
sys.exit(5)
|
||||
}
|
||||
|
||||
if 1 << 1 != 2 {
|
||||
sys.exit(6)
|
||||
}
|
||||
|
||||
if 1 << 2 != 4 {
|
||||
sys.exit(7)
|
||||
}
|
||||
|
||||
if 1 << 3 != 8 {
|
||||
sys.exit(8)
|
||||
}
|
||||
|
||||
if 1 << 4 != 16 {
|
||||
sys.exit(9)
|
||||
}
|
||||
|
||||
if 16 >> 1 != 8 {
|
||||
sys.exit(10)
|
||||
}
|
||||
|
||||
if 16 >> 2 != 4 {
|
||||
sys.exit(11)
|
||||
}
|
||||
|
||||
if 16 >> 3 != 2 {
|
||||
sys.exit(12)
|
||||
}
|
||||
|
||||
if 16 >> 4 != 1 {
|
||||
sys.exit(13)
|
||||
}
|
||||
|
||||
sys.exit(0)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue