mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-07-01 15:00:38 +00:00
Update rotation test to include more cases
This commit is contained in:
parent
a2cd317d6a
commit
4d4692314e
|
@ -11,30 +11,113 @@ b = &B1111111100000000
|
|||
c = &B11111111111111110000000000000000
|
||||
d = &B1111111111111111111111111111111100000000000000000000000000000000
|
||||
|
||||
PRINT "*** Unsigned values ***"
|
||||
PRINT a; ":"; _BIN$(a)
|
||||
PRINT b; ":"; _BIN$(b)
|
||||
PRINT c; ":"; _BIN$(c)
|
||||
PRINT d; ":"; _BIN$(d)
|
||||
|
||||
PRINT _ROL(a, 1); ":"; _BIN$(_ROL(a, 1))
|
||||
PRINT _ROL(b, 1); ":"; _BIN$(_ROL(b, 1))
|
||||
PRINT _ROL(c, 1); ":"; _BIN$(_ROL(c, 1))
|
||||
PRINT _ROL(d, 1); ":"; _BIN$(_ROL(d, 1))
|
||||
PRINT "Rotating left by 5"
|
||||
PRINT _ROL(a, 1); ":"; _BIN$(_ROL(a, 5))
|
||||
PRINT _ROL(b, 1); ":"; _BIN$(_ROL(b, 5))
|
||||
PRINT _ROL(c, 1); ":"; _BIN$(_ROL(c, 5))
|
||||
PRINT _ROL(d, 1); ":"; _BIN$(_ROL(d, 5))
|
||||
|
||||
PRINT _ROR(a, 1); ":"; _BIN$(_ROR(a, 1))
|
||||
PRINT _ROR(b, 1); ":"; _BIN$(_ROR(b, 1))
|
||||
PRINT _ROR(c, 1); ":"; _BIN$(_ROR(c, 1))
|
||||
PRINT _ROR(d, 1); ":"; _BIN$(_ROR(d, 1))
|
||||
PRINT "Rotating right by 5"
|
||||
PRINT _ROR(a, 1); ":"; _BIN$(_ROR(a, 5))
|
||||
PRINT _ROR(b, 1); ":"; _BIN$(_ROR(b, 5))
|
||||
PRINT _ROR(c, 1); ":"; _BIN$(_ROR(c, 5))
|
||||
PRINT _ROR(d, 1); ":"; _BIN$(_ROR(d, 5))
|
||||
|
||||
PRINT a; ":"; _BIN$(_ROL(240~%%, 5))
|
||||
PRINT b; ":"; _BIN$(_ROL(65280~%, 5))
|
||||
PRINT c; ":"; _BIN$(_ROL(4294901760~&, 5))
|
||||
PRINT d; ":"; _BIN$(_ROL(18446744069414584320~&&, 5))
|
||||
PRINT "Rotating left past size"
|
||||
PRINT _ROL(a, 1); ":"; _BIN$(_ROL(a, 9))
|
||||
PRINT _ROL(b, 1); ":"; _BIN$(_ROL(b, 17))
|
||||
PRINT _ROL(c, 1); ":"; _BIN$(_ROL(c, 33))
|
||||
PRINT _ROL(d, 1); ":"; _BIN$(_ROL(d, 65))
|
||||
|
||||
PRINT a; ":"; _BIN$(_ROR(240~%%, 5))
|
||||
PRINT b; ":"; _BIN$(_ROR(65280~%, 5))
|
||||
PRINT c; ":"; _BIN$(_ROR(4294901760~&, 5))
|
||||
PRINT d; ":"; _BIN$(_ROR(18446744069414584320~&&, 5))
|
||||
PRINT "Rotating right past size"
|
||||
PRINT _ROR(a, 1); ":"; _BIN$(_ROR(a, 9))
|
||||
PRINT _ROR(b, 1); ":"; _BIN$(_ROR(b, 17))
|
||||
PRINT _ROR(c, 1); ":"; _BIN$(_ROR(c, 33))
|
||||
PRINT _ROR(d, 1); ":"; _BIN$(_ROR(d, 65))
|
||||
|
||||
PRINT "Rotating left by -5"
|
||||
PRINT _ROL(a, 1); ":"; _BIN$(_ROL(a, -5))
|
||||
PRINT _ROL(b, 1); ":"; _BIN$(_ROL(b, -5))
|
||||
PRINT _ROL(c, 1); ":"; _BIN$(_ROL(c, -5))
|
||||
PRINT _ROL(d, 1); ":"; _BIN$(_ROL(d, -5))
|
||||
|
||||
PRINT "Rotating right by -5"
|
||||
PRINT _ROR(a, 1); ":"; _BIN$(_ROR(a, -5))
|
||||
PRINT _ROR(b, 1); ":"; _BIN$(_ROR(b, -5))
|
||||
PRINT _ROR(c, 1); ":"; _BIN$(_ROR(c, -5))
|
||||
PRINT _ROR(d, 1); ":"; _BIN$(_ROR(d, -5))
|
||||
|
||||
|
||||
DIM e AS _BYTE
|
||||
DIM f AS INTEGER
|
||||
DIM g AS LONG
|
||||
DIM h AS _INTEGER64
|
||||
|
||||
e = -128
|
||||
f = -32768
|
||||
g = -2147483648
|
||||
h = -9223372036854775808
|
||||
|
||||
PRINT "*** Signed values ***"
|
||||
PRINT e; ":"; _BIN$(e)
|
||||
PRINT f; ":"; _BIN$(f)
|
||||
PRINT g; ":"; _BIN$(g)
|
||||
PRINT h; ":"; _BIN$(h)
|
||||
|
||||
PRINT "Rotating left by 5"
|
||||
PRINT _ROL(e, 1); ":"; _BIN$(_ROL(e, 5))
|
||||
PRINT _ROL(f, 1); ":"; _BIN$(_ROL(f, 5))
|
||||
PRINT _ROL(g, 1); ":"; _BIN$(_ROL(g, 5))
|
||||
PRINT _ROL(h, 1); ":"; _BIN$(_ROL(h, 5))
|
||||
|
||||
PRINT "Rotating right by 5"
|
||||
PRINT _ROR(e, 1); ":"; _BIN$(_ROR(e, 5))
|
||||
PRINT _ROR(f, 1); ":"; _BIN$(_ROR(f, 5))
|
||||
PRINT _ROR(g, 1); ":"; _BIN$(_ROR(g, 5))
|
||||
PRINT _ROR(h, 1); ":"; _BIN$(_ROR(h, 5))
|
||||
|
||||
PRINT "Rotating left past size"
|
||||
PRINT _ROL(e, 1); ":"; _BIN$(_ROL(e, 9))
|
||||
PRINT _ROL(f, 1); ":"; _BIN$(_ROL(f, 17))
|
||||
PRINT _ROL(g, 1); ":"; _BIN$(_ROL(g, 33))
|
||||
PRINT _ROL(h, 1); ":"; _BIN$(_ROL(h, 65))
|
||||
|
||||
PRINT "Rotating right past size"
|
||||
PRINT _ROR(e, 1); ":"; _BIN$(_ROR(e, 9))
|
||||
PRINT _ROR(f, 1); ":"; _BIN$(_ROR(f, 17))
|
||||
PRINT _ROR(g, 1); ":"; _BIN$(_ROR(g, 33))
|
||||
PRINT _ROR(h, 1); ":"; _BIN$(_ROR(h, 65))
|
||||
|
||||
PRINT "Rotating left by -5"
|
||||
PRINT _ROL(e, 1); ":"; _BIN$(_ROL(e, -5))
|
||||
PRINT _ROL(f, 1); ":"; _BIN$(_ROL(f, -5))
|
||||
PRINT _ROL(g, 1); ":"; _BIN$(_ROL(g, -5))
|
||||
PRINT _ROL(h, 1); ":"; _BIN$(_ROL(h, -5))
|
||||
|
||||
PRINT "Rotating right by -5"
|
||||
PRINT _ROR(e, 1); ":"; _BIN$(_ROR(e, -5))
|
||||
PRINT _ROR(f, 1); ":"; _BIN$(_ROR(f, -5))
|
||||
PRINT _ROR(g, 1); ":"; _BIN$(_ROR(g, -5))
|
||||
PRINT _ROR(h, 1); ":"; _BIN$(_ROR(h, -5))
|
||||
|
||||
|
||||
PRINT "*** Rotating some numeric literals left by 5 ***"
|
||||
PRINT 240~%%; ":"; _BIN$(_ROL(240~%%, 5))
|
||||
PRINT 65280~%; ":"; _BIN$(_ROL(65280~%, 5))
|
||||
PRINT 4294901760~&; ":"; _BIN$(_ROL(4294901760~&, 5))
|
||||
PRINT 18446744069414584320~&&; ":"; _BIN$(_ROL(18446744069414584320~&&, 5))
|
||||
|
||||
PRINT "*** Rotating some numeric literals right by 5 ***"
|
||||
PRINT 240~%%; ":"; _BIN$(_ROR(240~%%, 5))
|
||||
PRINT 65280~%; ":"; _BIN$(_ROR(65280~%, 5))
|
||||
PRINT 4294901760~&; ":"; _BIN$(_ROR(4294901760~&, 5))
|
||||
PRINT 18446744069414584320~&&; ":"; _BIN$(_ROR(18446744069414584320~&&, 5))
|
||||
|
||||
SYSTEM
|
||||
|
||||
|
|
|
@ -1,19 +1,79 @@
|
|||
*** Unsigned values ***
|
||||
240 :11110000
|
||||
65280 :1111111100000000
|
||||
4294901760 :11111111111111110000000000000000
|
||||
18446744069414584320 :1111111111111111111111111111111100000000000000000000000000000000
|
||||
Rotating left by 5
|
||||
225 :11110
|
||||
65025 :1110000000011111
|
||||
4294836225 :11111111111000000000000000011111
|
||||
18446744065119617025 :1111111111111111111111111110000000000000000000000000000000011111
|
||||
Rotating right by 5
|
||||
120 :10000111
|
||||
32640 :11111111000
|
||||
2147450880 :111111111111111100000000000
|
||||
9223372034707292160 :11111111111111111111111111111111000000000000000000000000000
|
||||
Rotating left past size
|
||||
225 :11100001
|
||||
65025 :1111111000000001
|
||||
4294836225 :11111111111111100000000000000001
|
||||
18446744065119617025 :1111111111111111111111111111111000000000000000000000000000000001
|
||||
Rotating right past size
|
||||
120 :1111000
|
||||
32640 :111111110000000
|
||||
2147450880 :1111111111111111000000000000000
|
||||
9223372034707292160 :111111111111111111111111111111110000000000000000000000000000000
|
||||
Rotating left by -5
|
||||
225 :10000111
|
||||
65025 :11111111000
|
||||
4294836225 :111111111111111100000000000
|
||||
18446744065119617025 :11111111111111111111111111111111000000000000000000000000000
|
||||
Rotating right by -5
|
||||
120 :11110
|
||||
32640 :1110000000011111
|
||||
2147450880 :11111111111000000000000000011111
|
||||
9223372034707292160 :1111111111111111111111111110000000000000000000000000000000011111
|
||||
*** Signed values ***
|
||||
-128 :10000000
|
||||
-32768 :1000000000000000
|
||||
-2147483648 :10000000000000000000000000000000
|
||||
-9223372036854775808 :1000000000000000000000000000000000000000000000000000000000000000
|
||||
Rotating left by 5
|
||||
1 :10000
|
||||
1 :10000
|
||||
1 :10000
|
||||
1 :10000
|
||||
Rotating right by 5
|
||||
64 :100
|
||||
16384 :10000000000
|
||||
1073741824 :100000000000000000000000000
|
||||
4611686018427387904 :10000000000000000000000000000000000000000000000000000000000
|
||||
Rotating left past size
|
||||
1 :1
|
||||
1 :1
|
||||
1 :1
|
||||
1 :1
|
||||
Rotating right past size
|
||||
64 :1000000
|
||||
16384 :100000000000000
|
||||
1073741824 :1000000000000000000000000000000
|
||||
4611686018427387904 :100000000000000000000000000000000000000000000000000000000000000
|
||||
Rotating left by -5
|
||||
1 :100
|
||||
1 :10000000000
|
||||
1 :100000000000000000000000000
|
||||
1 :10000000000000000000000000000000000000000000000000000000000
|
||||
Rotating right by -5
|
||||
64 :10000
|
||||
16384 :10000
|
||||
1073741824 :10000
|
||||
4611686018427387904 :10000
|
||||
*** Rotating some numeric literals left by 5 ***
|
||||
240 :11110
|
||||
65280 :1110000000011111
|
||||
4294901760 :11111111111000000000000000011111
|
||||
18446744069414584320 :1111111111111111111111111110000000000000000000000000000000011111
|
||||
*** Rotating some numeric literals right by 5 ***
|
||||
240 :10000111
|
||||
65280 :11111111000
|
||||
4294901760 :111111111111111100000000000
|
||||
|
|
Loading…
Reference in a new issue