[m-rev.] for review: disable tests/hard_coded/float_consistency.m

Simon Taylor stayl at cs.mu.OZ.AU
Fri Jun 13 13:48:13 AEST 2003


Estimated hours taken: 0.25
Branches: main, release

library/float.m:
	Document that goals such as `1.0/9.0 = id(1.0)/9.0' may
	fail due to floats in registers having extra precision
	on some architectures (e.g. x86).

tests/hard_coded/Mmakefile:
	Disable the float_consistency test. We don't pass it 
	on x86 with some C compilers.

Index: library/float.m
===================================================================
RCS file: /home/mercury1/repository/mercury/library/float.m,v
retrieving revision 1.55
diff -u -u -r1.55 float.m
--- library/float.m	29 May 2003 12:08:25 -0000	1.55
+++ library/float.m	13 Jun 2003 03:43:42 -0000
@@ -37,6 +37,12 @@
 % XXX Here too the current Mercury implementation does not
 % implement the intended semantics correctly on all platforms.
 %
+% XXX On machines such as x86 which support extra precision
+% for intermediate results, the results may depend on the
+% level of optimization, in particular inlining and evaluation
+% of constant expressions.
+% For example, the goal `1.0/9.0 = std_util__id(1.0)/9.0' may fail.
+
 %---------------------------------------------------------------------------%
 
 :- module float.
Index: tests/hard_coded/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/tests/hard_coded/Mmakefile,v
retrieving revision 1.198
diff -u -u -r1.198 Mmakefile
--- tests/hard_coded/Mmakefile	2 Jun 2003 04:56:30 -0000	1.198
+++ tests/hard_coded/Mmakefile	13 Jun 2003 03:42:29 -0000
@@ -55,7 +55,6 @@
 	factt \
 	failure_unify \
 	field_syntax \
-	float_consistency \
 	float_field \
 	float_map \
 	float_reg \
@@ -204,7 +203,11 @@
 endif
 
 # We do not pass the following tests at all:
-# 
+#
+# XXX float_consistency:
+#     floats in Mercury aren't consistent -- see the comments at the
+#     top of library/float.m.
+#
 # XXX loop_inv_test0, loop_inv_test1, loop_inv_test2:
 #     loop invariant optimization is not properly optimizing these cases.
 #
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list