Hi Kevin, As with most software systems, yes there are some very real limitations you need to be aware of if you are working with large numbers.
There is a native limit you will hit as UniData converts the number to a double and eventually will lose precision. If working with something like a FOR LOOP, the engine will use a signed 32-bit number which will wrap around to the negative. For my UniData 7.3 on Windows, I cannot correctly increment beyond 9007199254740992 natively (doing X+=1). To get around this there are a series of functions built upon string math you will need to use (SADD, SCMP, SMUL, etc). Their limitations are huge (being more based on memory bounds than C data-type bounds); I doubt you will realistically hit them. Regards, Dan McGrath PROGRAM BOUND.TEST CRT @(-1) * Limit is 9007199254740992 X = 9007199254740000 Y = X LOOP X = 1 Y = SADD(Y, 1) IF Y[LEN(Y)-2,3] = "000" THEN CRT @(-1):X IF SCMP(X,Y) # 0 THEN CRT "Limit found: {":X:"} vs {":Y:"}";STOP REPEAT -----Original Message----- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King Sent: Tuesday, July 10, 2012 1:03 PM To: U2 Users List Subject: [U2] Unidata Limits I was asked a question today that ... well, it stumped me. Is there a practical limit to an incrementing number on Unidata and if so, what is that limit? I seem to recall something way back on Reality that said that numbers could count to 1+e38 or something ridiculous like that, but is that still applicable? -K _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users