X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=libm%2Findex.html;h=6eb718c2a3be826149d31ec3a4138889218c8b2d;hb=841a1c131bb74baa18d959a9d5d3da439ac2158f;hp=2e1ccdec7ce3b6869e1991e4670e77a719ae65e4;hpb=05b4cec71bfd2f9ff568c04afee9072a203b115e;p=www diff --git a/libm/index.html b/libm/index.html index 2e1ccde..6eb718c 100644 --- a/libm/index.html +++ b/libm/index.html @@ -81,6 +81,9 @@ attention to the internal representation of a NaN FORCE_EVAL when expressions must be evaluated for their side-effect, other usage of volatile is not justified, hacks around long double constants are not justified eventhough gcc can miscompile those with non-default FPU setting) +
  • When excessive precision is not harmful, temporary variables +should be float_t or double_t (so on i386 no superfluous store is +generated)
  • Whenever fenv is accessed the FENV_ACCESS pragma of c99 should be used (eventhough gcc does not yet support it), and all usage of optional FE_ macros should be protected by #ifdef @@ -178,6 +181,8 @@ on the endianness and write different code for different architectures.

    The ugly parts of libm hacking.

    Some notes are from: http://www.vinc17.org/research/extended.en.html +

    Useful info about floating-point in gcc: +http://gcc.gnu.org/wiki/FloatingPointMath