OSDN Git Service

Add in some math lib tests
[uclinux-h8/uClibc.git] / test / math / econst.c
1 /*                                                      econst.c        */\r
2 /*  e type constants used by high precision check routines */\r
3 \r
4 #include "ehead.h"\r
5 \r
6 \r
7 #if NE == 10\r
8 /* 0.0 */\r
9 unsigned short ezero[NE] =\r
10  {0x0000, 0x0000, 0x0000, 0x0000,\r
11   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,};\r
12 \r
13 /* 5.0E-1 */\r
14 unsigned short ehalf[NE] =\r
15  {0x0000, 0x0000, 0x0000, 0x0000,\r
16   0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x3ffe,};\r
17 \r
18 /* 1.0E0 */\r
19 unsigned short eone[NE] =\r
20  {0x0000, 0x0000, 0x0000, 0x0000,\r
21   0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x3fff,};\r
22 \r
23 /* 2.0E0 */\r
24 unsigned short etwo[NE] =\r
25  {0x0000, 0x0000, 0x0000, 0x0000,\r
26   0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x4000,};\r
27 \r
28 /* 3.2E1 */\r
29 unsigned short e32[NE] =\r
30  {0x0000, 0x0000, 0x0000, 0x0000,\r
31   0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x4004,};\r
32 \r
33 /* 6.93147180559945309417232121458176568075500134360255E-1 */\r
34 unsigned short elog2[NE] =\r
35  {0x40f3, 0xf6af, 0x03f2, 0xb398,\r
36   0xc9e3, 0x79ab, 0150717, 0013767, 0130562, 0x3ffe,};\r
37 \r
38 /* 1.41421356237309504880168872420969807856967187537695E0 */\r
39 unsigned short esqrt2[NE] =\r
40  {0x1d6f, 0xbe9f, 0x754a, 0x89b3,\r
41   0x597d, 0x6484, 0174736, 0171463, 0132404, 0x3fff,};\r
42 \r
43 /* 3.14159265358979323846264338327950288419716939937511E0 */\r
44 unsigned short epi[NE] =\r
45  {0x2902, 0x1cd1, 0x80dc, 0x628b,\r
46   0xc4c6, 0xc234, 0020550, 0155242, 0144417, 0040000,};\r
47   \r
48 /* 5.7721566490153286060651209008240243104215933593992E-1 */\r
49 unsigned short eeul[NE] = {\r
50 0xd1be,0xc7a4,0076660,0063743,0111704,0x3ffe,};\r
51 \r
52 #else\r
53 \r
54 /* 0.0 */\r
55 unsigned short ezero[NE] = {\r
56 0, 0000000,0000000,0000000,0000000,0000000,};\r
57 /* 5.0E-1 */\r
58 unsigned short ehalf[NE] = {\r
59 0, 0000000,0000000,0000000,0100000,0x3ffe,};\r
60 /* 1.0E0 */\r
61 unsigned short eone[NE] = {\r
62 0, 0000000,0000000,0000000,0100000,0x3fff,};\r
63 /* 2.0E0 */\r
64 unsigned short etwo[NE] = {\r
65 0, 0000000,0000000,0000000,0100000,0040000,};\r
66 /* 3.2E1 */\r
67 unsigned short e32[NE] = {\r
68 0, 0000000,0000000,0000000,0100000,0040004,};\r
69 /* 6.93147180559945309417232121458176568075500134360255E-1 */\r
70 unsigned short elog2[NE] = {\r
71 0xc9e4,0x79ab,0150717,0013767,0130562,0x3ffe,};\r
72 /* 1.41421356237309504880168872420969807856967187537695E0 */\r
73 unsigned short esqrt2[NE] = {\r
74 0x597e,0x6484,0174736,0171463,0132404,0x3fff,};\r
75 /* 2/sqrt(PI) =\r
76  * 1.12837916709551257389615890312154517168810125865800E0 */\r
77 unsigned short eoneopi[NE] = {\r
78 0x71d5,0x688d,0012333,0135202,0110156,0x3fff,};\r
79 /* 3.14159265358979323846264338327950288419716939937511E0 */\r
80 unsigned short epi[NE] = {\r
81 0xc4c6,0xc234,0020550,0155242,0144417,0040000,};\r
82 /* 5.7721566490153286060651209008240243104215933593992E-1 */\r
83 unsigned short eeul[NE] = {\r
84 0xd1be,0xc7a4,0076660,0063743,0111704,0x3ffe,};\r
85 #endif\r
86 extern unsigned short ezero[];\r
87 extern unsigned short ehalf[];\r
88 extern unsigned short eone[];\r
89 extern unsigned short etwo[];\r
90 extern unsigned short e32[];\r
91 extern unsigned short elog2[];\r
92 extern unsigned short esqrt2[];\r
93 extern unsigned short eoneopi[];\r
94 extern unsigned short epi[];\r
95 extern unsigned short eeul[];\r
96 \r