This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: suggestion about math.h

On 8/7/2014 1:41 PM, Denis Excoffier wrote:

Perhaps the values of some constants are not as accurate as they should be? See also M_LN2LO and M_LN2HI.

diff -uNr cygwin-snapshot-20140807-1-original/newlib/libc/include/math.h cygwin-snapshot-20140807-1-patched/newlib/libc/include/math.h
--- cygwin-snapshot-20140807-1-original/newlib/libc/include/math.h	2014-08-07 18:26:21.000000000 +0200
+++ cygwin-snapshot-20140807-1-patched/newlib/libc/include/math.h	2014-08-07 19:31:51.000000000 +0200
@@ -569,14 +569,14 @@
  #ifndef __STRICT_ANSI__
#define M_TWOPI (M_PI * 2.0)
-#define M_3PI_4		2.3561944901923448370E0
-#define M_SQRTPI        1.77245385090551602792981
+#define M_3PI_4		2.3561944901923449288E0
+#define M_SQRTPI        1.77245385090551602729817
  #define M_LN2LO         1.9082149292705877000E-10
  #define M_LN2HI         6.9314718036912381649E-1
-#define M_SQRT3	1.73205080756887719000
+#define M_SQRT3	1.73205080756887729353
  #define M_IVLN10        0.43429448190325182765 /* 1 / log(10) */
  #define M_LOG2_E        _M_LN2
-#define M_INVLN2        1.4426950408889633870E0  /* 1 / log(2) */
+#define M_INVLN2        1.4426950408889634074E0  /* 1 / log(2) */
/* Global control over fdlibm error handling. */

Without the L suffix, it doesn't look like it matters.
I just noticed this week the M_LN2LO and HI. They should add up to a long double accurate constant. I've been using a similar pair in implementation of exp() for 20 years.

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]