delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/01/22/23:30:07

From: Creed <110370 DOT 3162 AT CompuServe DOT COM>
Newsgroups: comp.os.msdos.djgpp
Subject: Trig Bug?
Date: 23 Jan 2000 04:12:41 GMT
Organization: sometimes
Lines: 47
Message-ID: <86dv3p$p24$1@ssauraab-i-1.production.compuserve.com>
NNTP-Posting-Host: mhako.production.compuserve.com
X-Trace: ssauraab-i-1.production.compuserve.com 948600761 25668 149.174.242.227 (23 Jan 2000 04:12:41 GMT)
X-Complaints-To: newsmaster AT compuserve DOT com
NNTP-Posting-Date: 23 Jan 2000 04:12:41 GMT
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Dear djgpp people:

I'm a newbie who has found what sure looks like a bug.  

The trig functions fail grossly at some angles, including some angles between 
1.12 and 1.31 radians.  When they do not fail grossly they are quite accurate.

For example at an angle of 1.13 radians a test program finds to six decimal 
places: 
sin= 0.684014    cos = 0.878084   sin^2 + cos^2 = 1.238908 and tan= 0.935537 
The correct answers are:
sin = 0.904413   cos = 0.426660   sin^2 + cos^2 = 1.000000 and tan= 2.119750

I'm using djgpp version 2.8.1 and have djdev202, on a 486SX with no floating 
point processor, under Windows for Workgroups 3.11, in the DOS-box (MS-DOS 
6.20).

The computer is a Packard-Bell Pack-Mate 27 Plus running at 50MHz.

I believe I am using libemu.a (I never downloaded that WEMU thing.)

The test program I am using, named "testrig.c", is:

#include <stdio.h>
#include <math.h> 

int main(void)
{
  double w=1.13; 
    
  printf("w= %f,  sin= %f, cos= %f ", w, sin(w), cos(w));
  printf("1= %f,  tan= %f \n", pow(sin(w),2)+pow(cos(w),2), tan(w));
  exit(0);
}


I compile this test program like so:
gcc -Wall testrig.c -lm

It produces the output:
w= 1.130000,  sin= 0.684014, cos= 0.878084 1= 1.238908,  tan= 0.935537 

So, what do you think?  Is this a bug in the floating point emulation or what?


Chris

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019