mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-23 07:45:23 +00:00
tbitops: remove unavailable tests
This commit is contained in:
@@ -1,7 +1,3 @@
|
||||
discard """
|
||||
nimout: "OK"
|
||||
output: "OK"
|
||||
"""
|
||||
import bitops
|
||||
|
||||
proc main() =
|
||||
@@ -123,65 +119,6 @@ proc main() =
|
||||
doAssert( U64A.rotateLeftBits(64) == U64A)
|
||||
doAssert( U64A.rotateRightBits(64) == U64A)
|
||||
|
||||
block:
|
||||
# mask operations
|
||||
var v: uint8
|
||||
v.setMask(0b1100_0000)
|
||||
v.setMask(0b0000_1100)
|
||||
doAssert(v == 0b1100_1100)
|
||||
v.flipMask(0b0101_0101)
|
||||
doAssert(v == 0b1001_1001)
|
||||
v.clearMask(0b1000_1000)
|
||||
doAssert(v == 0b0001_0001)
|
||||
v.clearMask(0b0001_0001)
|
||||
doAssert(v == 0b0000_0000)
|
||||
block:
|
||||
# single bit operations
|
||||
var v: uint8
|
||||
v.setBit(0)
|
||||
doAssert v == 0x0000_0001
|
||||
v.setBit(1)
|
||||
doAssert v == 0b0000_0011
|
||||
v.flipBit(7)
|
||||
doAssert v == 0b1000_0011
|
||||
v.clearBit(0)
|
||||
doAssert v == 0b1000_0010
|
||||
v.flipBit(1)
|
||||
doAssert v == 0b1000_0000
|
||||
doAssert v.testbit(7)
|
||||
doAssert not v.testbit(6)
|
||||
block:
|
||||
# multi bit operations
|
||||
var v: uint8
|
||||
v.setBits(0, 1, 7)
|
||||
doAssert v == 0b1000_0011
|
||||
v.flipBits(2, 3)
|
||||
doAssert v == 0b1000_1111
|
||||
v.clearBits(7, 0, 1)
|
||||
doAssert v == 0b0000_1100
|
||||
block:
|
||||
# signed
|
||||
var v: int8
|
||||
v.setBit(7)
|
||||
doAssert v == -128
|
||||
block:
|
||||
var v: uint64
|
||||
v.setBit(63)
|
||||
doAssert v == 0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000'u64
|
||||
|
||||
echo "OK"
|
||||
|
||||
block: # not ready for vm because exception is compile error
|
||||
try:
|
||||
var v: uint32
|
||||
var i = 32
|
||||
v.setBit(i)
|
||||
doAssert false
|
||||
except RangeError:
|
||||
discard
|
||||
except:
|
||||
doAssert false
|
||||
|
||||
|
||||
main()
|
||||
static:
|
||||
|
||||
Reference in New Issue
Block a user