Subject: Re: [dssslist] Arithmetic error From: "Paul Tyson" <paul@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 7 Apr 2005 10:36:50 -0500 (CDT) |
I get the same results with MIT Scheme. It appears to be allowable by the Scheme specification. I did not check the DSSSL spec. The problem is that decimal numbers are inexact. If you evaluate (- 7.2 7) you get something like .200000000018 but (- 7.1 7) gives something like .09999999999964. You might get the results you want by writing the tests with exact values like so: (< (- (/ 71 10) 7) (/ 1 10)) and (< (- (/ 72 10) 7) (/ 2 10)) --Paul > > Hello everybody! > > I obtained today an erroneous result in an arithmetic operation using > DSSSL. I began the typical prozess to minimize the field where the error > appears, and the result was a surprise for me... > > The result of this piece of code: > ;********************************************************************************************** > > (make sequence > (if (< (- 7.1 7) 0.1) > (literal (string-append (number->string (- 7.1 7)) " is less as > 0.1")) > (literal (string-append (number->string (- 7.1 7)) " is NOT less > as 0.1")) > ) > (literal " BUT: ") > (if (< (- 7.2 7) 0.2) > (literal (string-append (number->string (- 7.2 7)) " is less as > 0.2")) > (literal (string-append (number->string (- 7.2 7)) " is NOT less > as 0.2")) > ) > ) > ;********************************************************************************************** > > > is this: > > 0.1 is less as 0.1 BUT: 0.2 is NOT less as 0.2 > > > Do you know something about this? Could it be because of my version of > Jade? > > > I thank you all in advance for your help. Have a nice day! > > Alberto Martmnez Pascual
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[dssslist] Arithmetic error, Alberto Martínez Pas | Thread | Re: [dssslist] Arithmetic error, listen |
[dssslist] Arithmetic error, Alberto Martínez Pas | Date | Re: [dssslist] Arithmetic error, listen |
Month |