On 2012-02-09 12:36:01 -0500, Geert Bosch wrote: > I think it would make sense to have a check list of properties, and > use configure-based tests to categorize implementations. These tests > would be added as we go along. > > Criteria: > > [ ] Conforms to C99 for exceptional values > (accepting/producing NaNs, infinities)
C is not the only language. Other languages (e.g. Java) may have different rules. And IEEE 754-2008 also specifies different rules. And you may want to consider LIA-2 too, which is again different... > [ ] Handles non-standard rounding modes, > trapping math, errno, etc. By "non-standard rounding modes", I assume you mean "non-default rounding modes". > [ ] Meets certain relative error bounds, > copy from Ada Annex G numerical requirements > (typically between 2 eps and 4 eps for much of range) FYI, OpenCL also has numerical requirements. > [ ] Guaranteed error less than 1 ulp over all arguments, > typical max. error close to 0.5 ulp. Instead, I would say faithful rounding (this is slightly stricter for results close to powers of 2). > [ ] Correctly rounded for all arguments I would add: [ ] Symmetry (e.g. cos(-x) = cos(x), sin(-x) = - sin(x)) in the symmetric rounding modes. [ ] Monotonicity (for monotonous functions). (note that they are implied by correct rounding). -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <http://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)