[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*To*: clisp-list@ma2s2.mathematik.uni-karlsruhe.de*Subject*: Re: Re[2]: floats*From*: Raymond Toy <toy@rtp.ericsson.se>*Date*: Wed, 19 Nov 1997 16:53:42 -0500*Cc*: sshteingold@cctrading.com*In-reply-to*: (Your message of Wed, 19 Nov 1997 23:15:41 +0100.) <9711198799.AA879973956@inet.stknhlg.com>*References*: <9711198799.AA879973956@inet.stknhlg.com>

>>>>> "sshteingold" == sshteingold <sshteingold@cctrading.com> writes: sshteingold> 2. single+float=single is a *MAJOR* *bug*. sshteingold> People who wrote ANSI CL standard are not idiots. They had something sshteingold> in mind -- correct computations, to be sure. (I am trying hard to sshteingold> contain my emotions. Sorry.) You are trading *correct* result for sshteingold> pretty-looking result. This is unbelievable!!!!!!!!!!!!!!! Who says single+double=single is incorrect? Most languages usually say double is the right answer, but so what? Returning double is no more correct than single, and, in terms of interval arithmetic, is no worse. Of course, this means CLISP, will never be an ANSI CL, no matter what else it includes. [P.S. I've had this discussion before on this list. It is the way it for a reason. I prefer the ANSI way, but I understand and can agree with the current answer.] sshteingold> To use your impnotes example: "(- (+ 1.7 pi) pi) should not return sshteingold> 1.700000726342836417234L0," This 1.700000whatever is still 1.7, for sshteingold> purposes of practical computations. But when I am getting *negative* (coerce 1.7 'double-float) is not the same as 1.7d0. or 1.7L0. By your reasoning, single-float should be more than enough for a "practical" computation. So what's the problem. sshteingold> standard deviations, this is not correct in any possible sense!!!! You should compute standard deviations more carefully then. The usual formula for standard deviations is known to be fairly sensitive to round-off errors, and affects all floating precisions. sshteingold> Single for 1.123 is OK, but when I take squares etc., it stops being sshteingold> OK!! I know that and I want to use doubles because of that! What does taking "take squares...stop being OK" mean? sshteingold> You think that a float is always imprecise. You are *wrong*. 123456.7 sshteingold> is *precise*, and I should not have to use ratios to tell clisp that! False. xxx.7 cannot be represented exactly in (binary) floating-point. Hence it is not precise. sshteingold> And if I want to compute the square, I want it to be precise too. sshteingold> Anyway, can you name another computer system where sshteingold> single+double=single?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Correctness is not a popularity contest. sshteingold> I just can't believe this could ever happen! sshteingold> I am sorry, it is kind of hard to remain calm when encountering sshteingold> something like this. Calm down. Take several deep breaths, and continue the discussion without ranting and raving. Ray

**References**:**Re[2]: floats***From:*sshteingold@cctrading.com

- Prev by Date:
**Re[2]: floats** - Next by Date:
**Re[3]: floats** - Previous by thread:
**Re[2]: floats** - Next by thread:
**Re[3]: floats** - Index(es):