Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] float numbers problem (CVS version of ocamlopt)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Sebastien Briais <sebastien.briais@e...>
Subject: Re: [Caml-list] float numbers problem (CVS version of ocamlopt)
Hello,

concerning this problem, I have made some new experiments and I suspect 
the inlining to be bugged.

I changed a bit my sample file to:


-- start of toto.ml

let square x = x *. x

let _ =
 let x = 1.84066666666666823 in
 let x0 = 1.16666666666666674 in
 let dx = 0.674000000000001487 in
 let dx2 =  0.674000000000001487 *.  0.674000000000001487  in
   print_float (x -. x0);
   print_newline();
   print_float (square (x -. x0));
   print_newline();
   print_float dx;
   print_newline();
   print_float (square dx);
   print_newline();
   print_float dx2;
   print_newline();

-- end of toto.ml

bash-2.05b$ ocamlopt -o toto.opt toto.ml
bash-2.05b$ ./toto.opt
0.674000000000001487
nan.
0.674000000000001487
nan.
0.454276000000002012

and now, without inlining:

bash-2.05b$ ocamlopt -inline 0 -o toto.opt toto.ml
bash-2.05b$ ./toto.opt
0.674000000000001487
0.454276000000002012
0.674000000000001487
0.454276000000002012
0.454276000000002012

it works !!

hope that helps the debugging process

Regards

Sébastien


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners