#!/usr/bin/ruby
#
## Test the integer limits (32-bit and 64-bit)
#
var min32 = -2147483648
var min64 = -9223372036854775808
var max32 = 4294967295
var max64 = 18446744073709551615
assert_eq(max32 - 1, 4294967294)
assert_eq(max64 - 1, 18446744073709551614)
assert_eq(log2(max32+1), 32)
assert_eq(log2(max64+1), 64)
assert_eq(min64.abs.root(63), 2)
assert_eq(min32.abs.root(31), 2)
say "** Test passed!"