The latest modification is a redesign of the FpuAtoFL function after it was observed that the conversion of integer strings (no decimal digits) may have resulted in the incorporation of a minuscule decimal difference (19th significant digit) in the resulting REAL10. The modified algorithm corrects that. However, any string with decimal digits may still suffer that minuscule inaccuracy.
The modified algo is also a bit more liberal as to the content of the input string. The following has been added to the description of the function in the Help file:
The FPULIB2_2.ZIP can be downloaded from the following site:
http://www.ray.masmcode.com/fpu.html#fpulib
Enjoy
Raymond
The modified algo is also a bit more liberal as to the content of the input string. The following has been added to the description of the function in the Help file:
Examples of acceptable input
(All the following examples must be null-terminated strings)
0
12
4.
4.0
.12345
123.45e-67
+000123.4500000000000000000000000000000000000E67
-0000004.5678000000000000000000000000000000000
+000000123456789123456789.1234567891234567890000000
Notes:
Leading integer 0's and trailing decimal 0's are simply disregarded by the conversion algorithm and would have absolutely no effect on the final result whether they are present or not. When there are less than 18 decimal digits, they are automatically assumed to have trailing 0's up to the 18th digit.
Although 18 integer digits and 18 decimal digits are allowed, only the first 20 numerical digits excluding leading integer 0's can effectively have an effect on the resulting REAL10 data.
(All the following examples must be null-terminated strings)
0
12
4.
4.0
.12345
123.45e-67
+000123.4500000000000000000000000000000000000E67
-0000004.5678000000000000000000000000000000000
+000000123456789123456789.1234567891234567890000000
Notes:
Leading integer 0's and trailing decimal 0's are simply disregarded by the conversion algorithm and would have absolutely no effect on the final result whether they are present or not. When there are less than 18 decimal digits, they are automatically assumed to have trailing 0's up to the 18th digit.
Although 18 integer digits and 18 decimal digits are allowed, only the first 20 numerical digits excluding leading integer 0's can effectively have an effect on the resulting REAL10 data.
The FPULIB2_2.ZIP can be downloaded from the following site:
http://www.ray.masmcode.com/fpu.html#fpulib
Enjoy
Raymond
Good job. Love it. Keep up the good work.