Files
mercury/tests/hard_coded/integer_uint_conv.exp
Julien Fischer 8f583d15fa Implement integer-to-uint and uint-to-integer conversion.
library/integer.m:
     As above -- I have upcoming changes that require this.
     (There's a bunch places marked XXX UINT that will need
     to revisited once more uint support is available.)

tests/Mmakefile:
tests/hard_coded/integer_uint_conv.{m,exp,exp2}:
      Add test for the conversions.
2017-04-17 00:54:01 +10:00

42 lines
1.3 KiB
Plaintext

*** Testing uint -> integer conversion ***
uint = 0, integer = 0
uint = 1, integer = 1
uint = 2, integer = 2
uint = 4, integer = 4
uint = 8, integer = 8
uint = 10, integer = 10
uint = 16, integer = 16
uint = 32, integer = 32
uint = 64, integer = 64
uint = 16383, integer = 16383
uint = 16384, integer = 16384
uint = 16385, integer = 16385
uint = 32768, integer = 32768
uint = 65536, integer = 65536
uint = 9223372036854775807, integer = 9223372036854775807
uint = 9223372036854775808, integer = 9223372036854775808
uint = 18446744073709551615, integer = 18446744073709551615
*** Testing integer -> uint conversion ***
integer = -9223372036854775808, uint = <<OUT-OF-RANGE>>
integer = -4294967296, uint = <<OUT-OF-RANGE>>
integer = -2147483648, uint = <<OUT-OF-RANGE>>
integer = -2, uint = <<OUT-OF-RANGE>>
integer = -1, uint = <<OUT-OF-RANGE>>
integer = 0, uint = 0
integer = 1, uint = 1
integer = 2, uint = 2
integer = 16383, uint = 16383
integer = 16384, uint = 16384
integer = 16385, uint = 16385
integer = 1073741824, uint = 1073741824
integer = 2147483648, uint = 2147483648
integer = 4294967295, uint = 4294967295
integer = 4294967296, uint = 4294967296
integer = 4294967297, uint = 4294967297
integer = 9223372036854775808, uint = 9223372036854775808
integer = 18446744073709551615, uint = 18446744073709551615
integer = 18446744073709551616, uint = <<OUT-OF-RANGE>>