Dear Eclipse developpers, I have noticed a different behaviours concerning double floats and breals between Linux and solaris versions of Eclipse 5.4. In both cases here is my Eclipse banner ECLiPSe Constraint Logic Programming System [kernel] Copyright Imperial College London and ICL Certain libraries copyright Parc Technologies Ltd GMP library copyright Free Software Foundation Version 5.4 #27, Wed May 15 00:13 2002 For Solaris (Sparc SunOs5) the following queries and answers seem correct [eclipse 1]: N is breal(0_1). N = -4.94065645841247e-324__4.94065645841247e-324 Yes (0.00s cpu) %% Here we see the value of Epsilon float [eclipse 2]: N is breal(rational(16.0)), %% Interval containing 16.0 breal_max(N,SN), %% Successor float of 16.0 Delta is (SN - 16.0)/2.0, %% Righ error of 16.0 Sixteen is 16.0 + Delta, %% Are we still on 16.0 ? BrDelta is breal(rational(Delta)),%% Interval enclosing Delta breal_max(BrDelta,SDelta), %% Successor of Delta NotSixteen is 16.0 + SDelta. N = 15.999999999999998__16.000000000000004 SN = 16.000000000000004 Sixteen = 16.0 Delta = 1.7763568394002505e-15 BrDelta = 1.7763568394002503e-15__1.7763568394002509e-15 NotSixteen = 16.000000000000004 SDelta = 1.7763568394002509e-15 Yes (0.00s cpu) And we see that we go after 16.0 if we add it the successor of Delta. For Linux (Mandrake distribution,PC P4 1400MHZ) The same queries do not return the same results (due to errors caused by GMP ?) [eclipse 1]: N is breal(0_1). N = -2.2250738585072014e-308__2.2250738585072014e-308 Yes (0.00s cpu) %% We have not the same value for Epsilon float ! [eclipse 2]: N is breal(rational(16.0)), %% Interval containing 16.0 breal_max(N,SN), %% Successor float of 16.0 Delta is (SN - 16.0)/2.0, %% Righ error of 16.0 Sixteen is 16.0 + Delta, %% Are we still on 16.0 ? BrDelta is breal(rational(Delta)),%% Interval enclosing Delta breal_max(BrDelta,SDelta), %% Successor of Delta NotSixteen is 16.0 + SDelta. N = 15.999999999999998__16.000000000000004 SN = 16.000000000000004 Sixteen = 16.0 Delta = 1.7763568394002505e-15 BrDelta = 1.7763568394002503e-15__1.7763568394002509e-15 NotSixteen = 16.0 SDelta = 1.7763568394002509e-15 Yes (0.00s cpu) And now we see that adding the successor of Delta to 16.0 still returns 16.0, which is wrong (rounding error in GMP ?) Is this bug wellknown ? Is there any way to solve it inside Eclipse V5.4, or is there any patch for it. Will it be solved in next release (in november ?). Best regards, Bruno MarreReceived on Tue Oct 22 09:09:38 2002
This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:18 PM GMT GMT