2009-07-17 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>

* mingwex/math/cephes_mconf.h mingwex/math/erfl.c mingwex/math/lgamma.c
        mingwex/math/lgammal.c mingwex/math/powl.c mingwex/math/sinhl.c
        mingwex/math/tanhl.c mingwex/math/tgamma.c mingwex/math/tgammal.c: Based on
        the fixes from the mingw-w64 code tree, fixed strict-aliasing issues.
This commit is contained in:
Chris Sutcliffe
2009-07-18 01:39:52 +00:00
parent c627d4ddd0
commit b5fb6b0dc3
10 changed files with 307 additions and 300 deletions

View File

@@ -97,16 +97,16 @@ static long double S[9] = {
};
#endif
#if IBMPC
static const unsigned short S[] = {
0xbaeb,0xd6d3,0x25e5,0x9c7e,0xbff5, XPD
0xfe9a,0xceb4,0xc74e,0xec9a,0x3ff7, XPD
0x9225,0xdfef,0xb0e9,0x9da5,0xbff8, XPD
0x10b0,0xec17,0x87dc,0xacd7,0xbffa, XPD
0x6b8d,0x7515,0x1905,0xaa89,0x3ffc, XPD
0xf183,0x126b,0xf47d,0xac0a,0xbffa, XPD
0x7bf6,0x57d1,0xa013,0xa7e7,0xbffe, XPD
0xc7a9,0x7db0,0x67e3,0x93c4,0x3ffe, XPD
0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
static const uLD S[] = {
{ { 0xbaeb,0xd6d3,0x25e5,0x9c7e,0xbff5, XPD } },
{ { 0xfe9a,0xceb4,0xc74e,0xec9a,0x3ff7, XPD } },
{ { 0x9225,0xdfef,0xb0e9,0x9da5,0xbff8, XPD } },
{ { 0x10b0,0xec17,0x87dc,0xacd7,0xbffa, XPD } },
{ { 0x6b8d,0x7515,0x1905,0xaa89,0x3ffc, XPD } },
{ { 0xf183,0x126b,0xf47d,0xac0a,0xbffa, XPD } },
{ { 0x7bf6,0x57d1,0xa013,0xa7e7,0xbffe, XPD } },
{ { 0xc7a9,0x7db0,0x67e3,0x93c4,0x3ffe, XPD } },
{ { 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD } }
};
#endif
#if MIEEE
@@ -137,16 +137,16 @@ static long double SN[9] = {
};
#endif
#if IBMPC
static const unsigned SN[] = {
0x5dd1,0x02de,0xb9f7,0x948d,0x3ff5, XPD
0x989b,0xdd68,0xc5f1,0xec9c,0x3ff7, XPD
0x2ca1,0x18f0,0x386f,0x9da5,0x3ff8, XPD
0x783f,0x41dd,0x87d1,0xacd7,0xbffa, XPD
0x7a5b,0xd76d,0x1905,0xaa89,0xbffc, XPD
0x7f64,0x1234,0xf47d,0xac0a,0xbffa, XPD
0x5e26,0x57d1,0xa013,0xa7e7,0x3ffe, XPD
0xc7aa,0x7db0,0x67e3,0x93c4,0x3ffe, XPD
0x0000,0x0000,0x0000,0x8000,0xbfff, XPD
static const uLD SN[] = {
{ { 0x5dd1,0x02de,0xb9f7,0x948d,0x3ff5, XPD } },
{ { 0x989b,0xdd68,0xc5f1,0xec9c,0x3ff7, XPD } },
{ { 0x2ca1,0x18f0,0x386f,0x9da5,0x3ff8, XPD } },
{ { 0x783f,0x41dd,0x87d1,0xacd7,0xbffa, XPD } },
{ { 0x7a5b,0xd76d,0x1905,0xaa89,0xbffc, XPD } },
{ { 0x7f64,0x1234,0xf47d,0xac0a,0xbffa, XPD } },
{ { 0x5e26,0x57d1,0xa013,0xa7e7,0x3ffe, XPD } },
{ { 0xc7aa,0x7db0,0x67e3,0x93c4,0x3ffe, XPD } },
{ { 0x0000,0x0000,0x0000,0x8000,0xbfff, XPD } }
};
#endif
#if MIEEE
@@ -186,14 +186,14 @@ static long double A[7] = {
};
#endif
#if IBMPC
static const unsigned short A[] = {
0xd984,0xcc08,0x91c2,0xa012,0x3ff7, XPD
0x3d91,0x0304,0x3da1,0xf685,0xbff5, XPD
0x3bdc,0xaad1,0xd492,0xdc88,0x3ff4, XPD
0x8b20,0x9fce,0x844e,0x9c09,0xbff4, XPD
0xf8f2,0x30e5,0x0092,0xd00d,0x3ff4, XPD
0x4d88,0x03a8,0x60b6,0xb60b,0xbff6, XPD
0x9fcc,0xaaaa,0xaaaa,0xaaaa,0x3ffb, XPD
static const uLD A[] = {
{ { 0xd984,0xcc08,0x91c2,0xa012,0x3ff7, XPD } },
{ { 0x3d91,0x0304,0x3da1,0xf685,0xbff5, XPD } },
{ { 0x3bdc,0xaad1,0xd492,0xdc88,0x3ff4, XPD } },
{ { 0x8b20,0x9fce,0x844e,0x9c09,0xbff4, XPD } },
{ { 0xf8f2,0x30e5,0x0092,0xd00d,0x3ff4, XPD } },
{ { 0x4d88,0x03a8,0x60b6,0xb60b,0xbff6, XPD } },
{ { 0x9fcc,0xaaaa,0xaaaa,0xaaaa,0x3ffb, XPD } }
};
#endif
#if MIEEE
@@ -235,24 +235,23 @@ static long double C[7] = {
};
#endif
#if IBMPC
static const unsigned short B[] = {
0x9557,0x4995,0x0da1,0x873b,0xc00a, XPD
0xfe44,0x9af8,0x5b8c,0xaa63,0xc00f, XPD
0x5aa8,0x7cf5,0x3684,0x86ce,0xc013, XPD
0x259a,0x258c,0xf206,0xba7f,0xc015, XPD
0xbe18,0x1ca3,0xc0a0,0xf80a,0xc016, XPD
0x168f,0x2c42,0x6717,0x98e3,0xc017, XPD
0x2051,0x9d55,0x92c8,0x876e,0xc016, XPD
static const uLD B[] = {
{ { 0x9557,0x4995,0x0da1,0x873b,0xc00a, XPD } },
{ { 0xfe44,0x9af8,0x5b8c,0xaa63,0xc00f, XPD } },
{ { 0x5aa8,0x7cf5,0x3684,0x86ce,0xc013, XPD } },
{ { 0x259a,0x258c,0xf206,0xba7f,0xc015, XPD } },
{ { 0xbe18,0x1ca3,0xc0a0,0xf80a,0xc016, XPD } },
{ { 0x168f,0x2c42,0x6717,0x98e3,0xc017, XPD } },
{ { 0x2051,0x9d55,0x92c8,0x876e,0xc016, XPD } }
};
static const unsigned short C[] = {
/*0x0000,0x0000,0x0000,0x8000,0x3fff, XPD*/
0xaa77,0xcf2f,0xae76,0x807c,0xc008, XPD
0xb280,0x0d74,0xb55a,0x84f3,0xc00e, XPD
0xa505,0xcd30,0x81dc,0x9809,0xc012, XPD
0x3369,0x4246,0xb8c2,0x92f0,0xc015, XPD
0x63cf,0x6aee,0xbe6f,0x8837,0xc017, XPD
0x26bb,0xccc7,0xb009,0xef75,0xc017, XPD
0x462b,0xbae8,0xab96,0xa02a,0xc017, XPD
static const uLD C[] = {
{ { 0xaa77,0xcf2f,0xae76,0x807c,0xc008, XPD } },
{ { 0xb280,0x0d74,0xb55a,0x84f3,0xc00e, XPD } },
{ { 0xa505,0xcd30,0x81dc,0x9809,0xc012, XPD } },
{ { 0x3369,0x4246,0xb8c2,0x92f0,0xc015, XPD } },
{ { 0x63cf,0x6aee,0xbe6f,0x8837,0xc017, XPD } },
{ { 0x26bb,0xccc7,0xb009,0xef75,0xc017, XPD } },
{ { 0x462b,0xbae8,0xab96,0xa02a,0xc017, XPD } }
};
#endif
#if MIEEE