New firmware for the Swissmicros DM15L
|
10-08-2024, 12:17 PM
Post: #97
|
|||
|
|||
RE: New firmware for the Swissmicros DM15L
Hi again
I was pondering the "small results that should be zero" problem - and the "erroneous imaginary part" in a Y^X for negative number to an integer power. My thought was "do we need more than 11 digits of precision? What would happen if answers were rounded to say 11 digits after being calculated with whatever the number of digits is (16? 17?)? As an example fFIX 14 180 SIN (1.2246467991E-16) fFIX 11 (1.2246467991e-16) gRND Now we have 0.00000000000 or fFIX 14 3 CHS ENTER 3 y^x ( -27.0000 + i9.92E-15) fFIX 11 gRND now we have -27.00000000000 This seems a reasonable compromise, to limit the displayed precision to 11 digits. A new BUG became apparent while I was checking this idea....... I notice though that the FIX and RND function do some strange things. fFIX 14 g PI 3.14159265358979 gRND 3.14159265353419 We're rounding to the number of digits set by FIX - i.e. 14 - but the last 4 digits of PI change after using gRND fFIX 9 3.141592654 gRND 3.141592654 now expand digits to fFIX 14 3.14159265400000 this is correct. Odd things happen when gRND is used on numbers with FIX greater than 9 when FIX is 10 and gRND is used the final displayed digit changes, when FIX is 13 and gRND is used the final 3 digits change. Nothing should happen except the number being rounded to the number of digits specified in FIX, then if FIX is expanded to a greater number of digits we should see the new digits are zero. This happens if FIX is 9 when gRND is used, but not if it's greater than 9. I'm confusing myself now, so I'll just leave it here and see if you or Jean-Charles have any comments. John |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 10 Guest(s)