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)

Reply via email to