1/*
2 * IBM Accurate Mathematical Library
3 * Copyright (C) 2001-2022 Free Software Foundation, Inc.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published by
7 * the Free Software Foundation; either version 2.1 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this program; if not, see <https://www.gnu.org/licenses/>.
17 */
18
19/******************************************************************/
20/* */
21/* MODULE_NAME:utan.h */
22/* */
23/* common data and variables prototype and definition */
24/******************************************************************/
25
26#ifndef UTAN_H
27#define UTAN_H
28
29#ifdef BIG_ENDI
30 static const mynumber
31 /* polynomial I */
32/**/ d3 = {{0x3FD55555, 0x55555555} }, /* 0.333... */
33/**/ d5 = {{0x3FC11111, 0x111107C6} }, /* 0.133... */
34/**/ d7 = {{0x3FABA1BA, 0x1CDB8745} }, /* . */
35/**/ d9 = {{0x3F9664ED, 0x49CFC666} }, /* . */
36/**/ d11 = {{0x3F82385A, 0x3CF2E4EA} }, /* . */
37 /* polynomial II */
38 /* polynomial III */
39/**/ e0 = {{0x3FD55555, 0x55554DBD} }, /* . */
40/**/ e1 = {{0x3FC11112, 0xE0A6B45F} }, /* . */
41
42 /* constants */
43/**/ mfftnhf = {{0xc02f0000, 0x00000000} }, /*-15.5 */
44
45/**/ g1 = {{0x3e4b096c, 0x00000000} }, /* 1.259e-8 */
46/**/ g2 = {{0x3faf212d, 0x00000000} }, /* 0.0608 */
47/**/ g3 = {{0x3fe92f1a, 0x00000000} }, /* 0.787 */
48/**/ g4 = {{0x40390000, 0x00000000} }, /* 25.0 */
49/**/ g5 = {{0x4197d784, 0x00000000} }, /* 1e8 */
50/**/ gy2 = {{0x3faf212d, 0x00000000} }, /* 0.0608 */
51
52/**/ mp1 = {{0x3FF921FB, 0x58000000} },
53/**/ mp2 = {{0xBE4DDE97, 0x3C000000} },
54/**/ mp3 = {{0xBC8CB3B3, 0x99D747F2} },
55/**/ pp3 = {{0xBC8CB3B3, 0x98000000} },
56/**/ pp4 = {{0xbacd747f, 0x23e32ed7} },
57/**/ hpinv = {{0x3FE45F30, 0x6DC9C883} },
58/**/ toint = {{0x43380000, 0x00000000} };
59
60#else
61#ifdef LITTLE_ENDI
62
63 static const mynumber
64 /* polynomial I */
65/**/ d3 = {{0x55555555, 0x3FD55555} }, /* 0.333... */
66/**/ d5 = {{0x111107C6, 0x3FC11111} }, /* 0.133... */
67/**/ d7 = {{0x1CDB8745, 0x3FABA1BA} }, /* . */
68/**/ d9 = {{0x49CFC666, 0x3F9664ED} }, /* . */
69/**/ d11 = {{0x3CF2E4EA, 0x3F82385A} }, /* . */
70 /* polynomial II */
71 /* polynomial III */
72/**/ e0 = {{0x55554DBD, 0x3FD55555} }, /* . */
73/**/ e1 = {{0xE0A6B45F, 0x3FC11112} }, /* . */
74
75 /* constants */
76/**/ mfftnhf = {{0x00000000, 0xc02f0000} }, /*-15.5 */
77
78/**/ g1 = {{0x00000000, 0x3e4b096c} }, /* 1.259e-8 */
79/**/ g2 = {{0x00000000, 0x3faf212d} }, /* 0.0608 */
80/**/ g3 = {{0x00000000, 0x3fe92f1a} }, /* 0.787 */
81/**/ g4 = {{0x00000000, 0x40390000} }, /* 25.0 */
82/**/ g5 = {{0x00000000, 0x4197d784} }, /* 1e8 */
83/**/ gy2 = {{0x00000000, 0x3faf212d} }, /* 0.0608 */
84
85/**/ mp1 = {{0x58000000, 0x3FF921FB} },
86/**/ mp2 = {{0x3C000000, 0xBE4DDE97} },
87/**/ mp3 = {{0x99D747F2, 0xBC8CB3B3} },
88/**/ pp3 = {{0x98000000, 0xBC8CB3B3} },
89/**/ pp4 = {{0x23e32ed7, 0xbacd747f} },
90/**/ hpinv = {{0x6DC9C883, 0x3FE45F30} },
91/**/ toint = {{0x00000000, 0x43380000} };
92
93#endif
94#endif
95
96#endif
97

source code of glibc/sysdeps/ieee754/dbl-64/utan.h