🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc.programmer
Article #765

Re: MSC 6.0 and Turbo C 2.0 floating point accuracy

#765
From: Kevin D. Quitt
Date: Sat, 16 Jun 1990 00:07
54 lines
3196 bytes
Results from MSC 6.0

    First column under Microsoft uses in-line 80x87 instructions
(/FPi87), second column is for both 8087-compatible library calls (no
fpu: /FPc), and for their alternate math library (/FPa).  All
compilations were otherwise: /AS /Od /Zp1 /G1                                   
 
Table 1:  Results using the xmemcof.c driver routine.  Published
results appeared in _Numerical Recipes in C_.

Index     Published       VAX-C        Turbo C          Microsoft C
  1        1.261539      1.261540      1.261540      1.261539  1.261540 
  2       -0.007695     -0.007694     -0.007694     -0.007695 -0.007693 
  3       -0.646778     -0.646779     -0.646779     -0.646777 -0.646780 
  4       -0.280603     -0.280603     -0.280603     -0.280602 -0.280604 
  5        0.163693      0.163692      0.163692      0.163691  0.163693 
  6        0.347674      0.347676      0.347676      0.347675  0.347676 
  7        0.111247      0.111247      0.111247      0.111247  0.111247 
  8       -0.337141     -0.337142     -0.337142     -0.337141 -0.337142 
  9       -0.358043     -0.358043     -0.358043     -0.358044 -0.358043 
 10        0.378774      0.378774      0.378774      0.378775  0.378774 


Table 2:  Results using the xspctrm.c driver routine (overlapped
case).

Index     Published       VAX-C        Turbo C          Microsoft C
  1           -          0.001993      0.001993      0.001993 0.001993
  2           -          0.001461      0.001461      0.001461 0.001461
  3           -          0.072356      0.072356      0.072356 0.072356
  4           -          0.062723      0.062723      0.062723 0.062723
  5           -          0.097625      0.097625      0.097625 0.097625
  6           -          0.014102      0.014102      0.014102 0.014102
  7           -          0.000089      0.000089      0.000089 0.000089
  8           -          0.000210      0.000210      0.000210 0.000210
  9           -          0.000052      0.000052      0.000052 0.000052


    Compiling with 5.1, I was able to duplicate the erroneous results
only by selecting the emulation library, and not using the 80x87
instructions.  This is a farily bizarre thing to do if you don't have a
coprocessor, you should be using the alt-math library, since it's
significantly faster than the emulator.  It also produces the correct
answers.  I have yet to find a compiler (on any machine) whose default
switches were satisfactory even most of the time. 

-- 
 _
Kevin D. Quitt         demott!kdq   kdq@demott.com
DeMott Electronics Co. 14707 Keswick St.   Van Nuys, CA 91405-1266
VOICE (818) 988-4975   FAX (818) 997-1190  MODEM (818) 997-4496 PEP last

                96.37% of all statistics are made up.
Technical Details
Message-ID: <310@demott.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watserv1!watmath!att!bellcore!rutgers!usc!srhqla!demott!kdq
References: <491@van-bc.wimsey.bc.ca>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watserv1!watmath!att!bellcore!rutgers!usc!srhqla!demott!kdq
From: kdq@demott.COM (Kevin D. Quitt)
Newsgroups: comp.sys.ibm.pc.programmer
Subject: Re: MSC 6.0 and Turbo C 2.0 floating point accuracy
Message-ID: <310@demott.COM>
Date: 16 Jun 90 00:07:14 GMT
References: <491@van-bc.wimsey.bc.ca>
Reply-To: kdq@demott.COM (Kevin D. Quitt)
Organization: DeMott Electronics Co., Van Nuys CA
Lines: 54