makes more tests green

This commit is contained in:
Andreas Rumpf
2019-09-02 22:03:06 +02:00
parent 18ca1788f0
commit d70e292571
4 changed files with 11 additions and 19 deletions

View File

@@ -16,13 +16,6 @@ template sdata(arg: Int128, idx: int): int32 =
# encoding least significant int first (like LittleEndian)
type
InvalidArgument = object of Exception
template require(cond: bool) =
if unlikely(not cond):
raise newException(InvalidArgument, "")
const
Zero* = Int128(udata: [0'u32,0,0,0])
One* = Int128(udata: [1'u32,0,0,0])
@@ -378,7 +371,6 @@ proc `*`*(lhs,rhs: Int128): Int128 =
result = result + toInt128(a00 * b32) shl 32
if isNegative != isNegative(result):
echo result
assert(false, "overflow")
proc `*=`*(a: var Int128, b: Int128) =

View File

@@ -396,13 +396,13 @@ proc leValueConv*(a, b: PNode): bool =
case a.kind
of nkCharLit..nkUInt64Lit:
case b.kind
of nkCharLit..nkUInt64Lit: result = a.intVal <= b.intVal
of nkCharLit..nkUInt64Lit: result = a.getInt <= b.getInt
of nkFloatLit..nkFloat128Lit: result = a.intVal <= round(b.floatVal).int
else: result = false #internalError(a.info, "leValueConv")
of nkFloatLit..nkFloat128Lit:
case b.kind
of nkFloatLit..nkFloat128Lit: result = a.floatVal <= b.floatVal
of nkCharLit..nkUInt64Lit: result = a.floatVal <= toFloat(int(b.intVal))
of nkCharLit..nkUInt64Lit: result = a.floatVal <= toFloat64(b.getInt)
else: result = false # internalError(a.info, "leValueConv")
else: result = false # internalError(a.info, "leValueConv")

View File

@@ -211,15 +211,15 @@ proc main() =
proc testReverseBitsPerType(x, reversed: uint64) =
doAssert reverseBits(x) == reversed
doAssert reverseBits(uint32(x)) == uint32(reversed shr 32)
doAssert reverseBits(uint32(x shr 16)) == uint32(reversed shr 16)
doAssert reverseBits(uint16(x)) == uint16(reversed shr 48)
doAssert reverseBits(uint8(x)) == uint8(reversed shr 56)
doAssert reverseBits(cast[uint32](x)) == cast[uint32](reversed shr 32)
doAssert reverseBits(cast[uint32](x shr 16)) == cast[uint32](reversed shr 16)
doAssert reverseBits(cast[uint16](x)) == cast[uint16](reversed shr 48)
doAssert reverseBits(cast[uint8](x)) == cast[uint8](reversed shr 56)
testReverseBitsInvo(x)
testReverseBitsInvo(uint32(x))
testReverseBitsInvo(uint16(x))
testReverseBitsInvo(uint8(x))
testReverseBitsInvo(cast[uint32](x))
testReverseBitsInvo(cast[uint16](x))
testReverseBitsInvo(cast[uint8](x))
proc testReverseBitsRefl(x, reversed: uint64) =
testReverseBitsPerType(x, reversed)

View File

@@ -69,8 +69,8 @@ macro foo2() =
echo zz
var ww = -9
var vv = ww.uint
var kk = vv.uint32
var vv = cast[uint](ww)
var kk = cast[uint32](vv)
echo kk
foo()