Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Dec 2005 07:38:35 +0000 (UTC)
From:      Bruce Evans <bde@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/lib/msun/src s_rint.c
Message-ID:  <200512030738.jB37cZB8021010@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
bde         2005-12-03 07:38:35 UTC

  FreeBSD src repository

  Modified files:
    lib/msun/src         s_rint.c 
  Log:
  Simplified the fix in rev.1.3.  Instead of using long double for
  TWO52[sx] to trick gcc into correctly converting TWO52[sx]+x to double
  on assignment to "double w", force a correct assignment by assigning
  to *(double *)&w.  This is cleaner and avoids the double rounding
  problem on machines that evaluate double expressions in double
  precision.  It is not necessary to convert w-TWO52[sx] to double
  precision on return as implied in the comment in rev.1.3, since
  the difference is exact.
  
  Revision  Changes    Path
  1.13      +2 -8      src/lib/msun/src/s_rint.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200512030738.jB37cZB8021010>