40 lines
1.1 KiB
Plaintext
40 lines
1.1 KiB
Plaintext
def compare:
|
|
if type == "string" then "\n\(.)\n"
|
|
else map(tostring)
|
|
| .[1] as $s
|
|
| .[0]
|
|
| if $s == . then . + ": agrees"
|
|
else $s + ": expression evaluates to " + .
|
|
end
|
|
end;
|
|
|
|
[ -(-2147483647-1),"2147483648"],
|
|
[2000000000 + 2000000000, "4000000000"],
|
|
[-2147483647 - 2147483647, "-4294967294"],
|
|
[46341 * 46341, "2147488281"],
|
|
[(-2147483647-1) / -1, "2147483648"],
|
|
|
|
"For 64-bit signed integers:",
|
|
|
|
[-(-9223372036854775807-1), "9223372036854775808"],
|
|
[5000000000000000000+5000000000000000000, "10000000000000000000"],
|
|
[-9223372036854775807 - 9223372036854775807, "-18446744073709551614"],
|
|
[3037000500 * 3037000500, "9223372037000250000"],
|
|
[(-9223372036854775807-1) / -1, "9223372036854775808"],
|
|
|
|
"For 32-bit unsigned integers:",
|
|
|
|
[-4294967295, "-4294967295"],
|
|
[3000000000 + 3000000000, "6000000000"],
|
|
[2147483647 - 4294967295, "-2147483648"],
|
|
[65537 * 65537, "4295098369"],
|
|
|
|
"For 64-bit unsigned integers:",
|
|
|
|
[-18446744073709551615, "-18446744073709551615"],
|
|
[10000000000000000000 + 10000000000000000000, "20000000000000000000"],
|
|
[9223372036854775807 - 18446744073709551615, "-9223372036854775808"],
|
|
[4294967296 * 4294967296, "18446744073709551616"]
|
|
|
|
| compare
|