Mail Archives: djgpp/2001/03/17/09:31:42
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 -