Posted by Robert G Laurin on September 29, 2011 at 06:47:15:
In Reply to: Re: Comet 32 behavior differences (re-posted from messages 16041 and 16994.htm) posted by Bob A on September 29, 2011 at 05:36:02:
Problems are:
Comet16 uses a 16.x accumulator for intermediate result where .x is the precision of the most precise variable used, unless is the num( ) functions that always return a 16.8.
Comet32's num( )'s intermediate result is a 32.x where .x goes up to 8 (as of Comet32.2011 Build 443)
So any OLD line of code like this:
Let SEQ$ = SUB(STR(NUM(SEQ$,ERR)+1),6,3) ! Increase SEQ$ - Length 3
or
Let SEQ$ = SUB(STR(NUM(SEQ$,ERR)+1001),6,3) ! Increase SEQ$ keep Zero Filled
Would get a much different result using Comet32. So would these:
Let SEQ = NUM(SEQ$,ERR) + 1
Let SEQ$ = SUB(STR(SEQ+1000),14,3) ! Keep SEQ$ Zero Filled
---------------------------
So I had to modify nearly all programs to use this:
Let SEQ$ = RSUB('...'+STRIP(STR(INT(NUM(SEQ$,ERR)+1))),1,3)
or
Let SEQ$ = RSUB(STRIP(STR(INT(NUM(SEQ$,ERR)+1001))),1,3)
or
Let SEQ$ = RSUB('000'+STRIP(STR(INT(NUM(SEQ$,ERR)+1))),1,3)
or
Let SEQ = NUM(SEQ$,ERR) + 1
Let SEQ$ = RSUB(STRIP(STR(SEQ+1000)),1,3)
There are just too many programs using the NUM or the STR of a calculation... Had to modify most of my programs.
It took a while!
Each file can be a maximum of 1MB in length Uploaded files will be purged from the server on a regular basis.