libm: update design issues
authornsz <nsz@port70.net>
Mon, 5 Mar 2012 12:09:31 +0000 (13:09 +0100)
committernsz <nsz@port70.net>
Mon, 5 Mar 2012 12:09:31 +0000 (13:09 +0100)
libm/index.html

index b008b1d..e2dac78 100644 (file)
@@ -56,8 +56,6 @@ cvs -d <a href="http://openbsd.org/anoncvs.html#CVSROOT">$CVSROOT</a> get src/li
 ld64, ld80 and ld128 implementation in the same file.
 <p>Pending questions:
 <ul>
-<li>What are the correct long double ifdefs?
-<li>Check fpu precision setting at runtime in long double code?
 <li>support c99 tgmath.h?
 <li>TODO: complex
 </ul>
@@ -66,6 +64,7 @@ ld64, ld80 and ld128 implementation in the same file.
 <p>The bsd libm code has many workarounds for various
 compiler issues. It's not clear what's the best way
 to handle the uglyness.
+<p>In long double code fpu is assumed to be set to extended precision
 <p>Pending questions:
 <ul>
 <li>Use STDC pragmas (eventhough gcc does not support them)?
@@ -81,10 +80,10 @@ to handle the uglyness.
 which might worth addressing.
 <p>Pending questions:
 <ul>
-<li>Should 0x1p0 float format be preferred over decimal format?
-<li>How much c99 is allowed? (inline, compound literals, 0x1p0,..)
-<li>Which one should be used 0f, 0l, 0.0, static const double zero = 0,.. ?
 <li>Can we use a polyeval(coeffs, x) function instead of writing out the poly?
+<li>TODO: make headers c89 compatible
+<li>TODO: prefer 0x1p0 format over decimal one
+<li>TODO: use 1.0f instead of (float)1 and const float one = 1;
 <li>TODO: use uint32_t instead of int32_t (to avoid signed int overflow and right shifts)
 <li>TODO: prefer isnan, signbit,.. over inplace bithacks
 </ul>