delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/03/17/09:31:42

Message-ID: <3AB374B8.5BE@earthlink.net>
From: Joe Wright <joewwright AT earthlink DOT net>
X-Mailer: Mozilla 3.03Gold (Win95; I)
MIME-Version: 1.0
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Whats up with sqrt?
References: <5BF60CD649EDD411A04600B0D049F53A09257B AT hydmail02 DOT hyd DOT wilco-int DOT com> <8ugkfne00UjFETbF0i AT andrew DOT cmu DOT edu>
Lines: 54
Date: Sat, 17 Mar 2001 14:27:50 GMT
NNTP-Posting-Host: 64.157.49.246
X-Complaints-To: abuse AT earthlink DOT net
X-Trace: newsread2.prod.itd.earthlink.net 984839270 64.157.49.246 (Sat, 17 Mar 2001 06:27:50 PST)
NNTP-Posting-Date: Sat, 17 Mar 2001 06:27:50 PST
Organization: EarthLink Inc. -- http://www.EarthLink.net
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

James W Sager Iii wrote:
> 
> Excerpts from netnews.comp.os.msdos.djgpp: 17-Mar-101 RE: Whats up with
> sqrt? by Prashant Ramachandra AT wil
> >
> > On Saturday, March 17, 2001 10:49 AM, James W Sager Iii
> > [SMTP:sager+@andrew.cmu.edu] wrote:
> > | For me, the function sqrt() which obviously returns a square root
> > | is
> > | messing up for me on moderately large numbers.
> > |
> > | anything below 10,000 and it gives me about the right answer, but at
> > | like:
> > |
> > | range = sqrt(300,000)
> > |
> > | I get a 0 as a return value?  I tried doing:
> >
> > Don't use commas while sending parameters. It's giving you the square root
> > of the second parameter, i.e. 0.
> >
> > range = sqrt (300000.0);
> >
> > is the right way to do it.
> 
> I'm sorry, I wasn't using commas... but at the same time I wasn't using
> 0. so perhaps it was being type casted wrong.
> 
> but I tested it
> a=sqrt(10001.0);
> 
> returns 100516
> 
> Ok, that makes no sense what so ever
> well at least I have my own function to do it no biggie

Have a look at the following.  Compare it with your code.

#include <stdio.h>
#include <math.h>
int main(void) {
   double d;
   d = sqrt(10001.0);
   printf("%f\n", d);
   return 0;
}
Compile it with:
	gcc foo.c -o foo.exe -lm
and tell us the answer.
I get 100.005000
-- 
Joe Wright                          mailto:joewwright AT earthlink DOT net
"Everything should be made as simple as possible, but not simpler."
                    --- Albert Einstein ---

- Raw text -


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