Hi,

Inspired by Samuel's BigInt findings I figured to try a few of the edge cases with BigInt and came out surprised.

FWIW, this is the same on DF20 and DF19.1

The documentation says
The BigInt type is an 8 byte signed integer.

Range

-0x8000000000000000 to 0x7fffffffffffffff

(approximately -8 * 1018 to 8 * 1018)
OK, that gives us something to work with.

First I tried:

Code:
Use Windows.pkg

Procedure Test
   BigInt ibResult
   Move |CI$800000000000000 to ibResult // removed an extra 0, but nope !
   Showln ibResult
   Move |CI$7fffffffffffffff to ibResult
   Showln ibResult
End_Procedure

Send test

inkey windowindex
I'm not sure what that is supposed to do, but that doesn't work... CI --> I is integer, so OK, let's try it in another way.
My Windows has Calculator


Code:
Use Windows.pkg

Procedure Test
  BigInt ibResult
  Move 9223372036854775807 to ibResult
  Showln "7fffffffffffffff = " ibresult
  Move 9223372036854775806 to ibResult
  Showln "7ffffffffffffffe = " ibresult
  Move 9223372036854775792 to ibResult
  Showln "7ffffffffffffff0 = " ibresult
  Move 9223372036854775552 to ibResult
  Showln "7fffffffffffff00 = " ibresult
  Showln 
  Move 9223372036854771712 to ibResult
  Showln "7ffffffffffff000 = " ibresult " OK"
  Move -9223372036854775808 to ibResult
  Showln "8000000000000000 = " ibResult " OK"
End_Procedure

Send test

inkey windowindex
output:
7fffffffffffffff = -9223372036854775808
7ffffffffffffffe = -9223372036854775808
7ffffffffffffff0 = -9223372036854775808
7fffffffffffff00 = -9223372036854775808

7ffffffffffff000 = 9223372036854771712 OK
8000000000000000 = -9223372036854775808 OK
Uhhh

Changed the line
Code:
  BigInt ibResult
to
Code:
  UBigInt ibResult
and the output is exactly the same.

me thinks that it is wrong somewhere...

--
Wil