I apologize for not reproducing it earlier as I quickly found a simple example.
In the process of transforming coordinates, X is R * cos(THETA) where R was 
zero(0)
and THETA was 3.1415.
 
| ?- R is 0, THETA is 3.1415, X is R * cos(THETA).
 
R = 0
THETA = 3.1415000000000002
X = -0.0
 
| ?- 
 
In the debugger this turns out to be -0.0 is (0 * -0.99999999570765619).
 
Dave

--- On Mon, 2/16/09, Daniel Diaz <[email protected]> wrote:

From: Daniel Diaz <[email protected]>
Subject: Re: -0.0 versus 0.0
To: [email protected]
Cc: [email protected]
Date: Monday, February 16, 2009, 6:31 AM


Dave,  think this is due to rounding and/or how floats are displayed by default.
Could you try to reproduce it please ?

Thank you

Dave Sworin a écrit : 





Sometimes a variable, after lots of calculations, is instantiated to a
float value of -0.0 in the gprolog interpreter.  When I compare the
variable to 0.0, as in X =:= 0.0, it succeeds.  X < 0.0 fails.  What
is the significance of the minus sign?  Is the return of -0.0 intentional?
I don't have a simple example as this usually occurs after some
matrix operations with lots of additions and multiplications.
 
Dave
 
 

-- 
Ce message a été vérifié par MailScanner 
pour des virus ou des polluriels et rien de 
suspect n'a été trouvé. 
_______________________________________________
Bug-prolog mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-prolog
  

-- 
Ce message a été vérifié par MailScanner 
pour des virus ou des polluriels et rien de 
suspect n'a été trouvé. 


      
_______________________________________________
Bug-prolog mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-prolog

Reply via email to