![]() | |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I have had issues with math calculations exceeding the 2^32 barrier when using flash compiled code. If I compile without flash, it performs the calculation correctly. I have had to deal with this issue several times. It looks pretty bad to the auditors when simple math doesn't work correctly! If I explicitly change to precision 0 it works - I'm assuming it just raises the barrier. If I use parenthesis it works also. Why should I have to be concerned about the contents (size) of variables? Is there a way to force the Flash compiler to use a larger numeric type when doing math besides lowering the precision? Flashed: (no precision statement) BUDGET= 27,000,000.00 DAYS = 365 INT(BUDGET * DAYS/365)= 2,322,741.76 INT(BUDGET * (DAYS/365))= 27,000,000.00 Non-Flashed: BUDGET= 27,000,000.00 DAYS = 365 INT(BUDGET * DAYS/365)= 27,000,000.00 INT(BUDGET * (DAYS/365))= 27,000,000.00 |
#3
| |||
| |||
|
#4
| |||
| |||
|
#5
| |||
| |||
|
#6
| |||
| |||
|
#7
| |||
| |||
|
|
The (f option worked. This is the type of fix I was looking for - thank you. I've added it to my options on the compile verb so everything will be compile that way. Are there any ramifications of using the f option for everything? Disk space + memory are not an issue. |
![]() |
| Thread Tools | |
| Display Modes | |
| |