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

@ -1,3 +1,10 @@
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.
2009-07-12 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* mingwex/stdio/pformat.c: Fix compiler warnings with GCC 4.4.0.

View File

@ -10,7 +10,10 @@
#define DENORMAL 1
#define VOLATILE
#define mtherr(fname, code)
#define XPD 0,
#define XPD 0
typedef union uLD { const unsigned short sh[6]; long double ld; } uLD;
typedef union uD { const unsigned short sh[4]; double d; } uD;
#define _CEPHES_USE_ERRNO
@ -163,16 +166,17 @@ Direct inquiries to 30 Frost Street, Cambridge, MA 02140
*/
static __inline__ double polevl( x, p, n )
double x;
const void *p;
const uD *p;
int n;
{
register double y;
register double *P = (double *)p;
y = *P++;
y = p->d;
p++;
do
{
y = y * x + *P++;
y = y * x + p->d;
p++;
}
while( --n );
return(y);
@ -185,17 +189,18 @@ return(y);
*/
static __inline__ double p1evl( x, p, n )
double x;
const void *p;
const uD *p;
int n;
{
register double y;
register double *P = (double *)p;
n -= 1;
y = x + *P++;
y = x + p->d;
p++;
do
{
y = y * x + *P++;
y = y * x + p->d;
p++;
}
while( --n );
return( y );
@ -259,16 +264,17 @@ Direct inquiries to 30 Frost Street, Cambridge, MA 02140
*/
static __inline__ long double polevll( x, p, n )
long double x;
const void *p;
const uLD *p;
int n;
{
register long double y;
register long double *P = (long double *)p;
y = *P++;
y = p->ld;
p++;
do
{
y = y * x + *P++;
y = y * x + p->ld;
p++;
}
while( --n );
return(y);
@ -281,17 +287,18 @@ return(y);
*/
static __inline__ long double p1evll( x, p, n )
long double x;
const void *p;
const uLD *p;
int n;
{
register long double y;
register long double *P = (long double *)p;
n -= 1;
y = x + *P++;
y = x + p->ld;
p++;
do
{
y = y * x + *P++;
y = y * x + p->ld;
p++;
}
while( --n );
return( y );

View File

@ -105,74 +105,71 @@ Copyright 1984, 1995 by Stephen L. Moshier
1/8 <= 1/x <= 1
Peak relative error 5.8e-21 */
static const unsigned short P[] = {
0x4bf0,0x9ad8,0x7a03,0x86c7,0x401d, XPD
0xdf23,0xd843,0x4032,0x8881,0x401e, XPD
0xd025,0xcfd5,0x8494,0x88d3,0x401e, XPD
0xb6d0,0xc92b,0x5417,0xacb1,0x401d, XPD
0xada8,0x356a,0x4982,0x94a6,0x401c, XPD
0x4e13,0xcaee,0x9e31,0xb258,0x401a, XPD
0x5840,0x554d,0x37a3,0x9239,0x4018, XPD
0x3b58,0x3da2,0xaf02,0x9780,0x4015, XPD
0x0144,0x489e,0xbe68,0x9c31,0x4011, XPD
0x333b,0xd9e6,0xd404,0x986f,0xbfee, XPD
static const uLD P[] = {
{ { 0x4bf0,0x9ad8,0x7a03,0x86c7,0x401d, XPD } },
{ { 0xdf23,0xd843,0x4032,0x8881,0x401e, XPD } },
{ { 0xd025,0xcfd5,0x8494,0x88d3,0x401e, XPD } },
{ { 0xb6d0,0xc92b,0x5417,0xacb1,0x401d, XPD } },
{ { 0xada8,0x356a,0x4982,0x94a6,0x401c, XPD } },
{ { 0x4e13,0xcaee,0x9e31,0xb258,0x401a, XPD } },
{ { 0x5840,0x554d,0x37a3,0x9239,0x4018, XPD } },
{ { 0x3b58,0x3da2,0xaf02,0x9780,0x4015, XPD } },
{ { 0x0144,0x489e,0xbe68,0x9c31,0x4011, XPD } },
{ { 0x333b,0xd9e6,0xd404,0x986f,0xbfee, XPD } }
};
static const unsigned short Q[] = {
/* 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD */
0x0e43,0x302d,0x79ed,0x86c7,0x401d, XPD
0xf817,0x9128,0xc0f8,0xd48b,0x401e, XPD
0x8eae,0x8dad,0x6eb4,0x9aa2,0x401f, XPD
0x00e7,0x7595,0xcd06,0x88bb,0x401f, XPD
0x4991,0xcfda,0x52f1,0xa2a9,0x401e, XPD
0xc39d,0xe415,0xc43d,0x87c0,0x401d, XPD
0xa75d,0x436f,0x30dd,0xa027,0x401b, XPD
0xc4cb,0x305a,0xbf78,0x8220,0x4019, XPD
0x3708,0x33b1,0x07fa,0x8644,0x4016, XPD
0x24fa,0x96f6,0x7153,0x8a6c,0x4012, XPD
static const uLD Q[] = {
{ { 0X0e43,0x302d,0x79ed,0x86c7,0x401d, XPD } },
{ { 0xf817,0x9128,0xc0f8,0xd48b,0x401e, XPD } },
{ { 0x8eae,0x8dad,0x6eb4,0x9aa2,0x401f, XPD } },
{ { 0x00e7,0x7595,0xcd06,0x88bb,0x401f, XPD } },
{ { 0x4991,0xcfda,0x52f1,0xa2a9,0x401e, XPD } },
{ { 0xc39d,0xe415,0xc43d,0x87c0,0x401d, XPD } },
{ { 0xa75d,0x436f,0x30dd,0xa027,0x401b, XPD } },
{ { 0xc4cb,0x305a,0xbf78,0x8220,0x4019, XPD } },
{ { 0x3708,0x33b1,0x07fa,0x8644,0x4016, XPD } },
{ { 0x24fa,0x96f6,0x7153,0x8a6c,0x4012, XPD } }
};
/* erfc(x) = exp(-x^2) 1/x R(1/x^2) / S(1/x^2)
1/128 <= 1/x < 1/8
Peak relative error 1.9e-21 */
static const unsigned short R[] = {
0x260a,0xab95,0x2fc7,0xe7c4,0x4000, XPD
0x4761,0x613e,0xdf6d,0xe58e,0x4001, XPD
0x0615,0x4b00,0x575f,0xdc7b,0x4000, XPD
0x521d,0x8527,0x3435,0x8dc2,0x3ffe, XPD
0x22cf,0xc711,0x6c5b,0xdcfb,0x3ff9, XPD
static const uLD R[] = {
{ { 0x260a,0xab95,0x2fc7,0xe7c4,0x4000, XPD } },
{ { 0x4761,0x613e,0xdf6d,0xe58e,0x4001, XPD } },
{ { 0x0615,0x4b00,0x575f,0xdc7b,0x4000, XPD } },
{ { 0x521d,0x8527,0x3435,0x8dc2,0x3ffe, XPD } },
{ { 0x22cf,0xc711,0x6c5b,0xdcfb,0x3ff9, XPD } }
};
static const unsigned short S[] = {
/* 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD */
0x5de6,0x17d7,0x54d6,0xaba9,0x4002, XPD
0x55d5,0xd300,0xe71e,0xf564,0x4002, XPD
0xb611,0x8f76,0xf020,0xd255,0x4001, XPD
0x3684,0x3798,0xb793,0x80b0,0x3fff, XPD
0xf5af,0x2fb2,0x1e57,0xc3d7,0x3ffa, XPD
static const uLD S[] = {
{ { 0x5de6,0x17d7,0x54d6,0xaba9,0x4002, XPD } },
{ { 0x55d5,0xd300,0xe71e,0xf564,0x4002, XPD } },
{ { 0xb611,0x8f76,0xf020,0xd255,0x4001, XPD } },
{ { 0x3684,0x3798,0xb793,0x80b0,0x3fff, XPD } },
{ { 0xf5af,0x2fb2,0x1e57,0xc3d7,0x3ffa, XPD } }
};
/* erf(x) = x T(x^2)/U(x^2)
0 <= x <= 1
Peak relative error 7.6e-23 */
static const unsigned short T[] = {
0xfd7a,0x3a1a,0x705b,0xe0c4,0x3ffb, XPD
0x3128,0xc337,0x3716,0xace5,0x4001, XPD
0x9517,0x4e93,0x540e,0x8f97,0x4007, XPD
0x6118,0x6059,0x9093,0xa757,0x400a, XPD
0xb954,0xa987,0xc60c,0xbc83,0x400e, XPD
0x7a56,0xe45a,0xa4bd,0x975b,0x4010, XPD
0xc446,0x6bab,0x0b2a,0x86d0,0x4013, XPD
static const uLD T[] = {
{ { 0xfd7a,0x3a1a,0x705b,0xe0c4,0x3ffb, XPD } },
{ { 0x3128,0xc337,0x3716,0xace5,0x4001, XPD } },
{ { 0x9517,0x4e93,0x540e,0x8f97,0x4007, XPD } },
{ { 0x6118,0x6059,0x9093,0xa757,0x400a, XPD } },
{ { 0xb954,0xa987,0xc60c,0xbc83,0x400e, XPD } },
{ { 0x7a56,0xe45a,0xa4bd,0x975b,0x4010, XPD } },
{ { 0xc446,0x6bab,0x0b2a,0x86d0,0x4013, XPD } }
};
static const unsigned short U[] = {
/* 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD */
0x3453,0x1f8e,0xf688,0xb507,0x4004, XPD
0x71ac,0xb12f,0x21ca,0xf2e2,0x4008, XPD
0xffe8,0x9cac,0x3b84,0xc2ac,0x400c, XPD
0x481d,0x445b,0xc807,0xc232,0x400f, XPD
0x9ad5,0x1aef,0x45b1,0xe25e,0x4011, XPD
0x71a7,0x1cad,0x012e,0xeef3,0x4012, XPD
static const uLD U[] = {
{ { 0x3453,0x1f8e,0xf688,0xb507,0x4004, XPD } },
{ { 0x71ac,0xb12f,0x21ca,0xf2e2,0x4008, XPD } },
{ { 0xffe8,0x9cac,0x3b84,0xc2ac,0x400c, XPD } },
{ { 0x481d,0x445b,0xc807,0xc232,0x400f, XPD } },
{ { 0x9ad5,0x1aef,0x45b1,0xe25e,0x4011, XPD } },
{ { 0x71a7,0x1cad,0x012e,0xeef3,0x4012, XPD } }
};
/* expx2l.c

View File

@ -164,29 +164,28 @@ static const unsigned short LPI[4] = {
#endif
#ifdef IBMPC
static const unsigned short A[] = {
0x6661,0x2733,0x9850,0x3f4a,
0xe943,0xb580,0x7fbd,0xbf43,
0x5ebb,0x20dc,0x019f,0x3f4a,
0xa5a1,0x16b0,0xc16c,0xbf66,
0x554b,0x5555,0x5555,0x3fb5
static const uD A[] = {
{ { 0x6661,0x2733,0x9850,0x3f4a } },
{ { 0xe943,0xb580,0x7fbd,0xbf43 } },
{ { 0x5ebb,0x20dc,0x019f,0x3f4a } },
{ { 0xa5a1,0x16b0,0xc16c,0xbf66 } },
{ { 0x554b,0x5555,0x5555,0x3fb5 } }
};
static const unsigned short B[] = {
0x6761,0x8ff3,0x8901,0xc095,
0xb93e,0x355b,0xf234,0xc0e2,
0x89e5,0xf890,0x3d73,0xc114,
0xdb51,0xf994,0xbc82,0xc131,
0xf20b,0x0219,0x4589,0xc13a,
0x055e,0x5418,0x0c67,0xc12a
static const uD B[] = {
{ { 0x6761,0x8ff3,0x8901,0xc095 } },
{ { 0xb93e,0x355b,0xf234,0xc0e2 } },
{ { 0x89e5,0xf890,0x3d73,0xc114 } },
{ { 0xdb51,0xf994,0xbc82,0xc131 } },
{ { 0xf20b,0x0219,0x4589,0xc13a } },
{ { 0x055e,0x5418,0x0c67,0xc12a } }
};
static const unsigned short C[] = {
/*0x0000,0x0000,0x0000,0x3ff0,*/
0x12b2,0x1cf3,0xfd0d,0xc075,
0xd757,0x7b89,0xaa0d,0xc0d0,
0x4c9b,0xb974,0xeb84,0xc10a,
0x0043,0x7195,0x6286,0xc131,
0xf34c,0x892f,0x5255,0xc143,
0xe14a,0x6a11,0xce4b,0xc13e
static const uD C[] = {
{ { 0x12b2,0x1cf3,0xfd0d,0xc075 } },
{ { 0xd757,0x7b89,0xaa0d,0xc0d0 } },
{ { 0x4c9b,0xb974,0xeb84,0xc10a } },
{ { 0x0043,0x7195,0x6286,0xc131 } },
{ { 0xf34c,0x892f,0x5255,0xc143 } },
{ { 0xe14a,0x6a11,0xce4b,0xc13e } }
};
/* log( sqrt( 2*pi ) ) */
static const union

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

View File

@ -184,85 +184,84 @@ static long double R[] = {
#ifdef IBMPC
static const unsigned short P[] = {
0xb804,0xa8b7,0xc6f4,0xda6a,0x3ff4, XPD
0x7de9,0xcf02,0x58c0,0xfae1,0x3ffd, XPD
0x405a,0x3722,0x67c9,0xe000,0x3fff, XPD
0xcd99,0x6b43,0x87ca,0xb333,0x3fff, XPD
static const uLD P[] = {
{ { 0xb804,0xa8b7,0xc6f4,0xda6a,0x3ff4, XPD } },
{ { 0x7de9,0xcf02,0x58c0,0xfae1,0x3ffd, XPD } },
{ { 0x405a,0x3722,0x67c9,0xe000,0x3fff, XPD } },
{ { 0xcd99,0x6b43,0x87ca,0xb333,0x3fff, XPD } }
};
static const unsigned short Q[] = {
/* 0x0000,0x0000,0x0000,0x8000,0x3fff, */
0x6307,0xa469,0x3b33,0xa800,0x4001, XPD
0xfec2,0x62d7,0xa51c,0x8666,0x4002, XPD
0xda32,0xd072,0xa5d7,0x8666,0x4001, XPD
static const uLD Q[] = {
{ { 0x6307,0xa469,0x3b33,0xa800,0x4001, XPD } },
{ { 0xfec2,0x62d7,0xa51c,0x8666,0x4002, XPD } },
{ { 0xda32,0xd072,0xa5d7,0x8666,0x4001, XPD } }
};
static const unsigned short A[] = {
0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
0x033a,0x722a,0xb2db,0xfa83,0x3ffe, XPD
0xcc2c,0x2486,0x7d15,0xf525,0x3ffe, XPD
0xf5cb,0xdcda,0xb99b,0xefe4,0x3ffe, XPD
0x392f,0xdd24,0xc6e7,0xeac0,0x3ffe, XPD
0x48a8,0x7c83,0x06e7,0xe5b9,0x3ffe, XPD
0xe111,0x2a94,0xdeec,0xe0cc,0x3ffe, XPD
0x3755,0xdaf2,0xb797,0xdbfb,0x3ffe, XPD
0x6af4,0xd69d,0xfcca,0xd744,0x3ffe, XPD
0xe45a,0xf12a,0x1d91,0xd2a8,0x3ffe, XPD
0x80e4,0x1f84,0x8c15,0xce24,0x3ffe, XPD
0x27a3,0x6e2f,0xbd86,0xc9b9,0x3ffe, XPD
0xdadd,0x5506,0x2a11,0xc567,0x3ffe, XPD
0x9456,0x6670,0x4cca,0xc12c,0x3ffe, XPD
0x36bf,0x580c,0xa39f,0xbd08,0x3ffe, XPD
0x9ee9,0x62fb,0xaf47,0xb8fb,0x3ffe, XPD
0x6484,0xf9de,0xf333,0xb504,0x3ffe, XPD
0x2590,0xd2ac,0xf581,0xb123,0x3ffe, XPD
0x4ac6,0x42a1,0x3eea,0xad58,0x3ffe, XPD
0x0ef8,0xea7c,0x5ab4,0xa9a1,0x3ffe, XPD
0x38ea,0xb151,0xd6a9,0xa5fe,0x3ffe, XPD
0x6819,0x0c49,0x4303,0xa270,0x3ffe, XPD
0x11ae,0x91a1,0x3260,0x9ef5,0x3ffe, XPD
0x5539,0xd54e,0x39b9,0x9b8d,0x3ffe, XPD
0xa96f,0x8db8,0xf051,0x9837,0x3ffe, XPD
0x0961,0xfef7,0xefa8,0x94f4,0x3ffe, XPD
0xc336,0xab11,0xd373,0x91c3,0x3ffe, XPD
0x53c0,0x45cd,0x398b,0x8ea4,0x3ffe, XPD
0xd6e7,0xea8b,0xc1e3,0x8b95,0x3ffe, XPD
0x8527,0x92da,0x0e80,0x8898,0x3ffe, XPD
0x7b15,0xcc48,0xc367,0x85aa,0x3ffe, XPD
0xa1d7,0xac2b,0x8698,0x82cd,0x3ffe, XPD
0x0000,0x0000,0x0000,0x8000,0x3ffe, XPD
static const uLD A[] = {
{ { 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD } },
{ { 0x033a,0x722a,0xb2db,0xfa83,0x3ffe, XPD } },
{ { 0xcc2c,0x2486,0x7d15,0xf525,0x3ffe, XPD } },
{ { 0xf5cb,0xdcda,0xb99b,0xefe4,0x3ffe, XPD } },
{ { 0x392f,0xdd24,0xc6e7,0xeac0,0x3ffe, XPD } },
{ { 0x48a8,0x7c83,0x06e7,0xe5b9,0x3ffe, XPD } },
{ { 0xe111,0x2a94,0xdeec,0xe0cc,0x3ffe, XPD } },
{ { 0x3755,0xdaf2,0xb797,0xdbfb,0x3ffe, XPD } },
{ { 0x6af4,0xd69d,0xfcca,0xd744,0x3ffe, XPD } },
{ { 0xe45a,0xf12a,0x1d91,0xd2a8,0x3ffe, XPD } },
{ { 0x80e4,0x1f84,0x8c15,0xce24,0x3ffe, XPD } },
{ { 0x27a3,0x6e2f,0xbd86,0xc9b9,0x3ffe, XPD } },
{ { 0xdadd,0x5506,0x2a11,0xc567,0x3ffe, XPD } },
{ { 0x9456,0x6670,0x4cca,0xc12c,0x3ffe, XPD } },
{ { 0x36bf,0x580c,0xa39f,0xbd08,0x3ffe, XPD } },
{ { 0x9ee9,0x62fb,0xaf47,0xb8fb,0x3ffe, XPD } },
{ { 0x6484,0xf9de,0xf333,0xb504,0x3ffe, XPD } },
{ { 0x2590,0xd2ac,0xf581,0xb123,0x3ffe, XPD } },
{ { 0x4ac6,0x42a1,0x3eea,0xad58,0x3ffe, XPD } },
{ { 0x0ef8,0xea7c,0x5ab4,0xa9a1,0x3ffe, XPD } },
{ { 0x38ea,0xb151,0xd6a9,0xa5fe,0x3ffe, XPD } },
{ { 0x6819,0x0c49,0x4303,0xa270,0x3ffe, XPD } },
{ { 0x11ae,0x91a1,0x3260,0x9ef5,0x3ffe, XPD } },
{ { 0x5539,0xd54e,0x39b9,0x9b8d,0x3ffe, XPD } },
{ { 0xa96f,0x8db8,0xf051,0x9837,0x3ffe, XPD } },
{ { 0x0961,0xfef7,0xefa8,0x94f4,0x3ffe, XPD } },
{ { 0xc336,0xab11,0xd373,0x91c3,0x3ffe, XPD } },
{ { 0x53c0,0x45cd,0x398b,0x8ea4,0x3ffe, XPD } },
{ { 0xd6e7,0xea8b,0xc1e3,0x8b95,0x3ffe, XPD } },
{ { 0x8527,0x92da,0x0e80,0x8898,0x3ffe, XPD } },
{ { 0x7b15,0xcc48,0xc367,0x85aa,0x3ffe, XPD } },
{ { 0xa1d7,0xac2b,0x8698,0x82cd,0x3ffe, XPD } },
{ { 0x0000,0x0000,0x0000,0x8000,0x3ffe, XPD } }
};
static const unsigned short B[] = {
0x0000,0x0000,0x0000,0x0000,0x0000, XPD
0x1f87,0xdb30,0x18f5,0xf73a,0x3fbd, XPD
0xac15,0x3e46,0x2932,0xbf4a,0xbfbc, XPD
0x7944,0xba66,0xa091,0xcb12,0x3fb9, XPD
0xff78,0x40b4,0x2ee6,0xe69a,0x3fbc, XPD
0xc895,0x5069,0xe383,0xee53,0xbfbb, XPD
0x7cde,0x9376,0x4325,0xf8ab,0x3fbc, XPD
0xa10c,0x25e0,0xc093,0xaefd,0xbfbd, XPD
0x7d3e,0xea95,0x1366,0xb2fb,0x3fbd, XPD
0x5d89,0xeb34,0x5191,0x9301,0x3fbd, XPD
0x80d9,0xb883,0xfb10,0xe5eb,0x3fbb, XPD
0x045d,0x288c,0xc1ec,0xbedd,0xbfbd, XPD
0xeded,0x5c85,0x4630,0x8d5a,0x3fbd, XPD
0x9d82,0xe5ac,0x8e0a,0xfd6d,0x3fba, XPD
0x6dfd,0xeb58,0xaf14,0x8373,0xbfb9, XPD
0xf938,0x7aac,0x91cf,0xe8da,0xbfbc, XPD
0x0000,0x0000,0x0000,0x0000,0x0000, XPD
static const uLD B[] = {
{ { 0x0000,0x0000,0x0000,0x0000,0x0000, XPD } },
{ { 0x1f87,0xdb30,0x18f5,0xf73a,0x3fbd, XPD } },
{ { 0xac15,0x3e46,0x2932,0xbf4a,0xbfbc, XPD } },
{ { 0x7944,0xba66,0xa091,0xcb12,0x3fb9, XPD } },
{ { 0xff78,0x40b4,0x2ee6,0xe69a,0x3fbc, XPD } },
{ { 0xc895,0x5069,0xe383,0xee53,0xbfbb, XPD } },
{ { 0x7cde,0x9376,0x4325,0xf8ab,0x3fbc, XPD } },
{ { 0xa10c,0x25e0,0xc093,0xaefd,0xbfbd, XPD } },
{ { 0x7d3e,0xea95,0x1366,0xb2fb,0x3fbd, XPD } },
{ { 0x5d89,0xeb34,0x5191,0x9301,0x3fbd, XPD } },
{ { 0x80d9,0xb883,0xfb10,0xe5eb,0x3fbb, XPD } },
{ { 0x045d,0x288c,0xc1ec,0xbedd,0xbfbd, XPD } },
{ { 0xeded,0x5c85,0x4630,0x8d5a,0x3fbd, XPD } },
{ { 0x9d82,0xe5ac,0x8e0a,0xfd6d,0x3fba, XPD } },
{ { 0x6dfd,0xeb58,0xaf14,0x8373,0xbfb9, XPD } },
{ { 0xf938,0x7aac,0x91cf,0xe8da,0xbfbc, XPD } },
{ { 0x0000,0x0000,0x0000,0x0000,0x0000, XPD } }
};
static const unsigned short R[] = {
0xa69b,0x530e,0xee1d,0xfd2a,0x3fee, XPD
0xc746,0x8e7e,0x5960,0xa182,0x3ff2, XPD
0x63b6,0xadda,0xfd6a,0xaec3,0x3ff5, XPD
0xc104,0xfd99,0x5b7c,0x9d95,0x3ff8, XPD
0xe05e,0x249d,0x46b8,0xe358,0x3ffa, XPD
0x5d1d,0x162c,0xeffc,0xf5fd,0x3ffc, XPD
0x79aa,0xd1cf,0x17f7,0xb172,0x3ffe, XPD
static const uLD R[] = {
{ { 0xa69b,0x530e,0xee1d,0xfd2a,0x3fee, XPD } },
{ { 0xc746,0x8e7e,0x5960,0xa182,0x3ff2, XPD } },
{ { 0x63b6,0xadda,0xfd6a,0xaec3,0x3ff5, XPD } },
{ { 0xc104,0xfd99,0x5b7c,0x9d95,0x3ff8, XPD } },
{ { 0xe05e,0x249d,0x46b8,0xe358,0x3ffa, XPD } },
{ { 0x5d1d,0x162c,0xeffc,0xf5fd,0x3ffc, XPD } },
{ { 0x79aa,0xd1cf,0x17f7,0xb172,0x3ffe, XPD } }
};
/* 10 byte sizes versus 12 byte */
#define douba(k) (*(long double *)(&A[(sizeof( long double )/2)*(k)]))
#define doubb(k) (*(long double *)(&B[(sizeof( long double )/2)*(k)]))
#define douba(k) (A[(k)].ld)
#define doubb(k) (B[(k)].ld)
#define MEXP (NXT*16384.0L)
#ifdef DENORMAL
#define MNEXP (-NXT*(16384.0L+64.0L))

View File

@ -69,18 +69,18 @@ static long double Q[] = {
#endif
#ifdef IBMPC
static const unsigned short P[] = {
0xec6a,0xd942,0xfbb3,0xeb8f,0x3feb, XPD
0x365e,0xb30a,0xe437,0xda86,0x3ff3, XPD
0x8890,0x01f6,0x2612,0xfde6,0x3ff9, XPD
0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
static const uLD P[] = {
{ { 0xec6a,0xd942,0xfbb3,0xeb8f,0x3feb, XPD } },
{ { 0x365e,0xb30a,0xe437,0xda86,0x3ff3, XPD } },
{ { 0x8890,0x01f6,0x2612,0xfde6,0x3ff9, XPD } },
{ { 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD } }
};
static const unsigned short Q[] = {
0x4edd,0x4c21,0xad09,0x95ed,0x3fe5, XPD
0x4376,0x9b70,0xd605,0xc65c,0xbfed, XPD
0xc8ad,0x5d21,0x3069,0x8aed,0x3ff5, XPD
0x9c32,0x6374,0x2d4b,0xe98d,0xbffb, XPD
0x0000,0x0000,0x0000,0xc000,0x4001, XPD
static const uLD Q[] = {
{ { 0x4edd,0x4c21,0xad09,0x95ed,0x3fe5, XPD } },
{ { 0x4376,0x9b70,0xd605,0xc65c,0xbfed, XPD } },
{ { 0xc8ad,0x5d21,0x3069,0x8aed,0x3ff5, XPD } },
{ { 0x9c32,0x6374,0x2d4b,0xe98d,0xbffb, XPD } },
{ { 0x0000,0x0000,0x0000,0xc000,0x4001, XPD } }
};
#endif

View File

@ -68,17 +68,16 @@ static long double Q[] = {
#endif
#ifdef IBMPC
static unsigned short P[] = {
0xd2a4,0x1b0c,0x8f15,0x8f99,0xbff1, XPD
0x5959,0x9111,0x9cc7,0xf4e2,0xbffe, XPD
0xb576,0xef5e,0x6d57,0xa81b,0xc005, XPD
0xe3be,0xbfbd,0x5cbc,0xa381,0xc009, XPD
static uLD P[] = {
{ { 0xd2a4,0x1b0c,0x8f15,0x8f99,0xbff1, XPD } },
{ { 0x5959,0x9111,0x9cc7,0xf4e2,0xbffe, XPD } },
{ { 0xb576,0xef5e,0x6d57,0xa81b,0xc005, XPD } },
{ { 0xe3be,0xbfbd,0x5cbc,0xa381,0xc009, XPD } }
};
static unsigned short Q[] = {
/*0x0000,0x0000,0x0000,0x8000,0x3fff,*/
0x687f,0xce24,0xdd6c,0xc084,0x4005, XPD
0x3793,0xc95f,0xfa2f,0xe3b9,0x4009, XPD
0xd5a2,0x1f9c,0x0b1b,0xf542,0x400a, XPD
static uLD Q[] = {
{ { 0x687f,0xce24,0xdd6c,0xc084,0x4005, XPD } },
{ { 0x3793,0xc95f,0xfa2f,0xe3b9,0x4009, XPD } },
{ { 0xd5a2,0x1f9c,0x0b1b,0xf542,0x400a, XPD } }
};
#endif

View File

@ -108,24 +108,24 @@ static const unsigned short Q[] = {
#endif
#ifdef IBMPC
static const unsigned short P[] = {
0x2153,0x3998,0xfcb8,0x3f24,
0xbfab,0xe686,0x84e3,0x3f53,
0x14b0,0xe9db,0x57cd,0x3f85,
0x23d3,0x18c4,0x63d9,0x3fa8,
0x7d31,0xdcae,0x8da9,0x3fca,
0xe312,0x3993,0xa137,0x3fdf,
0x0000,0x0000,0x0000,0x3ff0
static const uD P[] = {
{ { 0x2153,0x3998,0xfcb8,0x3f24 } },
{ { 0xbfab,0xe686,0x84e3,0x3f53 } },
{ { 0x14b0,0xe9db,0x57cd,0x3f85 } },
{ { 0x23d3,0x18c4,0x63d9,0x3fa8 } },
{ { 0x7d31,0xdcae,0x8da9,0x3fca } },
{ { 0xe312,0x3993,0xa137,0x3fdf } },
{ { 0x0000,0x0000,0x0000,0x3ff0 } }
};
static const unsigned short Q[] = {
0xd3af,0x8400,0x487a,0xbef8,
0x2573,0x2915,0xae8a,0x3f41,
0xb44a,0xe750,0x40e4,0xbf72,
0xb117,0x5b1b,0x31ed,0x3f88,
0xde67,0xe33f,0x5779,0x3fa2,
0x87c2,0x9d42,0x071a,0xbfce,
0x3c51,0xc9cd,0x4944,0x3fb2,
0x0000,0x0000,0x0000,0x3ff0
static const uD Q[] = {
{ { 0xd3af,0x8400,0x487a,0xbef8 } },
{ { 0x2573,0x2915,0xae8a,0x3f41 } },
{ { 0xb44a,0xe750,0x40e4,0xbf72 } },
{ { 0xb117,0x5b1b,0x31ed,0x3f88 } },
{ { 0xde67,0xe33f,0x5779,0x3fa2 } },
{ { 0x87c2,0x9d42,0x071a,0xbfce } },
{ { 0x3c51,0xc9cd,0x4944,0x3fb2 } },
{ { 0x0000,0x0000,0x0000,0x3ff0 } }
};
#define MAXGAM 171.624376956302725
#endif
@ -180,12 +180,12 @@ static const unsigned short SQT[4] = {
#define SQTPI *(double *)SQT
#endif
#if IBMPC
static const unsigned short STIR[20] = {
0x7293,0x592d,0xcc72,0x3f49,
0x1d7c,0x27e6,0x166b,0xbf2e,
0x4fd7,0x07d4,0xf726,0xbf65,
0xc5fd,0x1b98,0x71c7,0x3f6c,
0x5986,0x5555,0x5555,0x3fb5,
static const uD STIR[] = {
{ { 0x7293,0x592d,0xcc72,0x3f49 } },
{ { 0x1d7c,0x27e6,0x166b,0xbf2e } },
{ { 0x4fd7,0x07d4,0xf726,0xbf65 } },
{ { 0xc5fd,0x1b98,0x71c7,0x3f6c } },
{ { 0x5986,0x5555,0x5555,0x3fb5 } }
};
#define MAXSTIR 143.01608

View File

@ -88,26 +88,26 @@ static const long double Q[9] = {
};
#endif
#if IBMPC
static const unsigned short P[] = {
0x434a,0x3f22,0x2bda,0xb0b2,0x3ff0, XPD
0xf5aa,0xe82f,0x335b,0xee2e,0x3ff3, XPD
0xbe6c,0x3757,0xc717,0x861b,0x3ff7, XPD
0x7f43,0x5196,0xb166,0xc368,0x3ff9, XPD
0x9549,0x8eb5,0x8c3a,0xe3f4,0x3ffb, XPD
0x8d75,0x23af,0xc8e4,0xb9d4,0x3ffd, XPD
0x29cf,0x19b3,0x16c8,0xd67a,0x3ffe, XPD
0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
static const uLD P[] = {
{ { 0x434a,0x3f22,0x2bda,0xb0b2,0x3ff0, XPD } },
{ { 0xf5aa,0xe82f,0x335b,0xee2e,0x3ff3, XPD } },
{ { 0xbe6c,0x3757,0xc717,0x861b,0x3ff7, XPD } },
{ { 0x7f43,0x5196,0xb166,0xc368,0x3ff9, XPD } },
{ { 0x9549,0x8eb5,0x8c3a,0xe3f4,0x3ffb, XPD } },
{ { 0x8d75,0x23af,0xc8e4,0xb9d4,0x3ffd, XPD } },
{ { 0x29cf,0x19b3,0x16c8,0xd67a,0x3ffe, XPD } },
{ { 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD } }
};
static const unsigned short Q[] = {
0x5473,0x2de8,0x1268,0xea67,0xbfee, XPD
0x334b,0xc2f0,0xa2dd,0xf60e,0x3ff2, XPD
0xbeed,0x1853,0xa691,0xa23d,0xbff5, XPD
0x296e,0x7cb1,0x5dfd,0xd08f,0xbff4, XPD
0x0417,0x7989,0xd7bc,0xe338,0x3ff9, XPD
0x3295,0x3698,0xd580,0xbdcd,0xbffa, XPD
0x75ef,0x3ab7,0x4ad3,0xe5bc,0xbffc, XPD
0xe458,0x2ec7,0xfd57,0xd47c,0x3ffd, XPD
0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
static const uLD Q[] = {
{ { 0x5473,0x2de8,0x1268,0xea67,0xbfee, XPD } },
{ { 0x334b,0xc2f0,0xa2dd,0xf60e,0x3ff2, XPD } },
{ { 0xbeed,0x1853,0xa691,0xa23d,0xbff5, XPD } },
{ { 0x296e,0x7cb1,0x5dfd,0xd08f,0xbff4, XPD } },
{ { 0x0417,0x7989,0xd7bc,0xe338,0x3ff9, XPD } },
{ { 0x3295,0x3698,0xd580,0xbdcd,0xbffa, XPD } },
{ { 0x75ef,0x3ab7,0x4ad3,0xe5bc,0xbffc, XPD } },
{ { 0xe458,0x2ec7,0xfd57,0xd47c,0x3ffd, XPD } },
{ { 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD } }
};
#endif
#if MIEEE
@ -182,16 +182,16 @@ static const long double STIR[9] = {
};
#endif
#if IBMPC
static const unsigned short STIR[] = {
0x6ede,0x69f7,0x54e3,0xbb5d,0x3ff4, XPD
0xc395,0x0295,0x4443,0xc64b,0xbfef, XPD
0xba6f,0x7c59,0x5e47,0x9bfb,0xbff4, XPD
0x5704,0x1a39,0xb11d,0x9293,0x3ff1, XPD
0x30b7,0x1a21,0x98b2,0xcd87,0x3ff4, XPD
0xbef3,0x7023,0x6a08,0xf09e,0xbff2, XPD
0x3a1c,0x5ac8,0x3478,0xafb9,0xbff6, XPD
0xc3c9,0x906e,0x38e3,0xe38e,0x3ff6, XPD
0xa1d5,0xaaaa,0xaaaa,0xaaaa,0x3ffb, XPD
static const uLD STIR[] = {
{ { 0x6ede,0x69f7,0x54e3,0xbb5d,0x3ff4, XPD } },
{ { 0xc395,0x0295,0x4443,0xc64b,0xbfef, XPD } },
{ { 0xba6f,0x7c59,0x5e47,0x9bfb,0xbff4, XPD } },
{ { 0x5704,0x1a39,0xb11d,0x9293,0x3ff1, XPD } },
{ { 0x30b7,0x1a21,0x98b2,0xcd87,0x3ff4, XPD } },
{ { 0xbef3,0x7023,0x6a08,0xf09e,0xbff2, XPD } },
{ { 0x3a1c,0x5ac8,0x3478,0xafb9,0xbff6, XPD } },
{ { 0xc3c9,0x906e,0x38e3,0xe38e,0x3ff6, XPD } },
{ { 0xa1d5,0xaaaa,0xaaaa,0xaaaa,0x3ffb, XPD } }
};
#endif
#if MIEEE
@ -229,16 +229,16 @@ static const 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
@ -274,16 +274,16 @@ static const long double SN[9] = {
};
#endif
#if IBMPC
static const unsigned short 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