From 8b2a9401a147bd0b26cd2976ae71a1022fbde8cc Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Sun, 16 Nov 2008 22:08:15 +0100 Subject: version 0.7.0 --- tests/tvarnums.nim | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'tests/tvarnums.nim') diff --git a/tests/tvarnums.nim b/tests/tvarnums.nim index f57eeef41..5079e0e16 100644 --- a/tests/tvarnums.nim +++ b/tests/tvarnums.nim @@ -6,7 +6,7 @@ import type TBuffer = array [0..10, int8] -proc toVarNum(x: int32, b: out TBuffer) = +proc toVarNum(x: int32, b: var TBuffer) = # encoding: first bit indicates end of number (0 if at end) # second bit of the first byte denotes the sign (1 --> negative) var a = x @@ -18,15 +18,15 @@ proc toVarNum(x: int32, b: out TBuffer) = # anyway a = abs(x) # first 6 bits: - b[0] = toU8(ord(a >% 63) shl 7 or (ord(x < 0) shl 6) or (a and 63)) - a = a shr 6 # skip first 6 bits + b[0] = toU8(ord(a >% 63'i32) shl 7 or (ord(x < 0'i32) shl 6) or (int(a) and 63)) + a = a shr 6'i32 # skip first 6 bits var i = 1 - while a != 0: - b[i] = toU8(ord(a >% 127) shl 7 or (a and 127)) + while a != 0'i32: + b[i] = toU8(ord(a >% 127'i32) shl 7 or (int(a) and 127)) inc(i) - a = a shr 7 + a = a shr 7'i32 -proc toVarNum64(x: int64, b: out TBuffer) = +proc toVarNum64(x: int64, b: var TBuffer) = # encoding: first bit indicates end of number (0 if at end) # second bit of the first byte denotes the sign (1 --> negative) var a = x @@ -38,20 +38,20 @@ proc toVarNum64(x: int64, b: out TBuffer) = # anyway a = abs(x) # first 6 bits: - b[0] = toU8(ord(a >% 63) shl 7 or (ord(x < 0) shl 6) or int(a and 63)) + b[0] = toU8(ord(a >% 63'i64) shl 7 or (ord(x < 0'i64) shl 6) or int(a and 63)) a = a shr 6 # skip first 6 bits var i = 1 - while a != 0: - b[i] = toU8(ord(a >% 127) shl 7 or int(a and 127)) + while a != 0'i64: + b[i] = toU8(ord(a >% 127'i64) shl 7 or int(a and 127)) inc(i) a = a shr 7 proc toNum64(b: TBuffer): int64 = # treat first byte different: - result = ze(b[0]) and 63 + result = ze64(b[0]) and 63 var i = 0 - Shift: int64 = 6 + Shift = 6'i64 while (ze(b[i]) and 128) != 0: inc(i) result = result or ((ze64(b[i]) and 127) shl Shift) @@ -69,17 +69,17 @@ proc toNum(b: TBuffer): int32 = Shift = 6 while (ze(b[i]) and 128) != 0: inc(i) - result = result or ((ze(b[i]) and 127) shl Shift) + result = result or int32((ze(b[i]) and 127) shl Shift) inc(Shift, 7) if (ze(b[0]) and (1 shl 6)) != 0: # sign bit set? - result = not result +% 1 + result = not int(result) +% 1 # this is the same as ``- result`` # but gives no overflow error for low(int) proc toBinary(x: int64): string = result = newString(64) for i in 0..63: - result[63-i] = chr((int32(x shr i) and 1) + ord('0')) + result[63-i] = chr((int(x shr i) and 1) + ord('0')) proc t64(i: int64) = var @@ -133,4 +133,4 @@ tm(100_000) tm(low(int32)) tm(high(int32)) -writeln(stdout, "Success!") +writeln(stdout, "Success!") #OUT Success! -- cgit 1.4.1-2-gfad0