On 8/7/2014 1:41 PM, Denis Excoffier wrote:
Hello,
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: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple