benchmarking Poly/ML & floating point

Stephen Weeks MLton@sourcelight.com
Mon, 11 Sep 2000 15:11:00 -0700 (PDT)


> > > Note, in C there is NO WAY to match the IEEE requirement.  If you do
> > > 	if (a == b)
> > > 		xxx;
> > > 	else
> > > 		yyy;
> > > does NOT tell you if the test is going to be `a == b' or `a != b'.
> > 
> > I conclude from this that we can not use == on doubles in C and get what we
> > need.  If so, then I guess that we need some inline assembly for the Real_equal
> > and Real_qequal.
> 
> I think that I missed part of that from Henry; what part of the IEEE
> requirement is missing? 

If a or b is a Nan, then C does not guarantee which branch will be taken, while
IEEE guarantees that yyy will be taken.