remove long double const workarounds

Some long double consts were stored in two doubles as a workaround
for x86_64 and i386 with the following comment:
/* Long double constants are slow on these arches, and broken on i386. */
This is most likely old gcc bug related to the default x87 fpu
precision setting (it's double instead of double extended on BSD).
This commit is contained in:
nsz
2012-03-19 18:52:17 +01:00
parent 9a810cb685
commit eca1c35e5b
6 changed files with 2 additions and 79 deletions
+1 -9
View File
@@ -27,16 +27,8 @@ long double atan2l(long double y, long double x)
static const volatile long double
tiny = 1.0e-300;
static const long double
zero = 0.0;
/* XXX Work around the fact that gcc truncates long double constants on i386 */
static const volatile double
pi1 = 3.14159265358979311600e+00, /* 0x1.921fb54442d18p+1 */
pi2 = 1.22514845490862001043e-16; /* 0x1.1a80000000000p-53 */
#define pi ((long double)pi1 + pi2)
#if 0
static const long double
zero = 0.0,
pi = 3.14159265358979323846264338327950280e+00L;
#endif
long double atan2l(long double y, long double x)
{