ID Number: Q36069
4.00 5.00 5.10 6.00 6.00a 6.00ax 7.00 | 5.10 6.00 6.00a
MS-DOS | OS/2
Summary:
In Microsoft C versions 5.1, 6.0, 6.0a, 6.0ax, and C/C++ version 7.0,
there may be differences between the floating point results you get when
you use coprocessor/emulator math and when you use the alternate math
package.
More Information:
When you do any floating point arithmetic with the coprocessor, all
values are pushed onto the coprocessor stack. The coprocessor stack
only holds 10-byte reals. This means that all real*4 and/or real*8
(real/double) are expanded to 10-byte reals, then all of the
arithmetic is done on these 10-byte reals. The emulator package does
this same expansion. The results of floating point calculations are
then rounded back down to real*4 or real*8 format.
Alternate math calculations are performed using real*4 or real*8
format, which can result in less precision than that available with
coprocessor/emulator math.
Additional reference words: 5.10 6.00 6.00a 6.00ax 7.00