________________________________________
From: Jordi Gutiérrez Hermoso [[email protected]]
Sent: Wednesday, January 26, 2011 6:11 PM
To: Chandra Sekhar Mallarapu
Cc: [email protected]
Subject: Re: [Help-gsl] strange behaviour of addition of floats and exponential 
function

2011/1/26 Chandra Sekhar Mallarapu <[email protected]>:

> From: Jordi Gutiérrez Hermoso [[email protected]]

> On 26 January 2011 09:18, Chandra Sekhar Mallarapu
> <[email protected]> wrote:
>> I am trying to do C=A+B, where
>> A=0.0000000000000000021675312011946934078589202290913712085038187871567725434340800916288571897894144058
>
> What data types are A, B, and C? I don't think there are any float
> types in any common architecture that are broad enough to be accurate
> to that many digits.
>
> A, B, C are double data type in C. Even if its not accurate till the
> last digit, shouldn't it be accurate to some digits atleast?

I think you ought to consult

     http://en.wikipedia.org/wiki/Floating_point_arithmetic

for a brief overview and

     http://perso.ens-lyon.fr/jean-michel.muller/goldberg.pdf

more a more in-depth treatment.

In short, your expectations of how floating point arithmetic works
need refinement.

Thanks.
What about this question?
gsl_sf_exp(0.0000000000000000000000005731906218817495693050559208091994557794428814131237532386326994000326495726)
 gives me the value as 
1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
 instead of the actual value. What can I do to get a correct answer for the 
result of the exponential function?


--chandra
_______________________________________________
Help-gsl mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-gsl

Reply via email to