2
* IBM Accurate Mathematical Library
3
* Written by International Business Machines Corp.
4
* Copyright (C) 2001 Free Software Foundation, Inc.
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License as published by
8
* the Free Software Foundation; either version 2.1 of the License, or
9
* (at your option) any later version.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU Lesser General Public License for more details.
16
* You should have received a copy of the GNU Lesser General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21
/******************************************************************/
23
/* MODULE_NAME:mpexp.h */
25
/* common data and variables prototype and definition */
26
/******************************************************************/
33
twomm1[33] = { /* 2**-m1 */
34
/**/ {{0x00000000, 0x00000000} }, /* 0 */
35
/**/ {{0x00000000, 0x00000000} }, /* 0 */
36
/**/ {{0x00000000, 0x00000000} }, /* 0 */
37
/**/ {{0x00000000, 0x00000000} }, /* 0 */
38
/**/ {{0x3ee00000, 0x00000000} }, /* 2**-17 */
39
/**/ {{0x3e800000, 0x00000000} }, /* 2**-23 */
40
/**/ {{0x3e800000, 0x00000000} }, /* 2**-23 */
41
/**/ {{0x3e300000, 0x00000000} }, /* 2**-28 */
42
/**/ {{0x3e400000, 0x00000000} }, /* 2**-27 */
43
/**/ {{0x3d900000, 0x00000000} }, /* 2**-38 */
44
/**/ {{0x3d500000, 0x00000000} }, /* 2**-42 */
45
/**/ {{0x3d800000, 0x00000000} }, /* 2**-39 */
46
/**/ {{0x3d400000, 0x00000000} }, /* 2**-43 */
47
/**/ {{0x3d000000, 0x00000000} }, /* 2**-47 */
48
/**/ {{0x3d400000, 0x00000000} }, /* 2**-43 */
49
/**/ {{0x3d000000, 0x00000000} }, /* 2**-47 */
50
/**/ {{0x3cd00000, 0x00000000} }, /* 2**-50 */
51
/**/ {{0x3c900000, 0x00000000} }, /* 2**-54 */
52
/**/ {{0x3c600000, 0x00000000} }, /* 2**-57 */
53
/**/ {{0x3c300000, 0x00000000} }, /* 2**-60 */
54
/**/ {{0x3bf00000, 0x00000000} }, /* 2**-64 */
55
/**/ {{0x3bc00000, 0x00000000} }, /* 2**-67 */
56
/**/ {{0x3b800000, 0x00000000} }, /* 2**-71 */
57
/**/ {{0x3b500000, 0x00000000} }, /* 2**-74 */
58
/**/ {{0x3bb00000, 0x00000000} }, /* 2**-68 */
59
/**/ {{0x3b800000, 0x00000000} }, /* 2**-71 */
60
/**/ {{0x3b500000, 0x00000000} }, /* 2**-74 */
61
/**/ {{0x3b200000, 0x00000000} }, /* 2**-77 */
62
/**/ {{0x3b900000, 0x00000000} }, /* 2**-70 */
63
/**/ {{0x3b600000, 0x00000000} }, /* 2**-73 */
64
/**/ {{0x3b300000, 0x00000000} }, /* 2**-76 */
65
/**/ {{0x3b100000, 0x00000000} }, /* 2**-78 */
66
/**/ {{0x3ae00000, 0x00000000} }, /* 2**-81 */
70
/**/ {{0x00000000, 0x00000000} }, /* 0 */
71
/**/ {{0x3ff00000, 0x00000000} }, /* 1 */
72
/**/ {{0x40000000, 0x00000000} }, /* 2 */
73
/**/ {{0x40080000, 0x00000000} }, /* 3 */
74
/**/ {{0x40100000, 0x00000000} }, /* 4 */
75
/**/ {{0x40140000, 0x00000000} }, /* 5 */
76
/**/ {{0x40180000, 0x00000000} }, /* 6 */
77
/**/ {{0x401c0000, 0x00000000} }, /* 7 */
78
/**/ {{0x40200000, 0x00000000} }, /* 8 */
82
/**/ radix = {{0x41700000, 0x00000000} }, /* 2**24 */
83
/**/ radixi = {{0x3e700000, 0x00000000} }, /* 2**-24 */
84
/**/ zero = {{0x00000000, 0x00000000} }, /* 0 */
85
/**/ one = {{0x3ff00000, 0x00000000} }, /* 1 */
86
/**/ two = {{0x40000000, 0x00000000} }, /* 2 */
87
/**/ half = {{0x3fe00000, 0x00000000} }; /* 1/2 */
92
twomm1[33] = { /* 2**-m1 */
93
/**/ {{0x00000000, 0x00000000} }, /* 0 */
94
/**/ {{0x00000000, 0x00000000} }, /* 0 */
95
/**/ {{0x00000000, 0x00000000} }, /* 0 */
96
/**/ {{0x00000000, 0x00000000} }, /* 0 */
97
/**/ {{0x00000000, 0x3ee00000} }, /* 2**-17 */
98
/**/ {{0x00000000, 0x3e800000} }, /* 2**-23 */
99
/**/ {{0x00000000, 0x3e800000} }, /* 2**-23 */
100
/**/ {{0x00000000, 0x3e300000} }, /* 2**-28 */
101
/**/ {{0x00000000, 0x3e400000} }, /* 2**-27 */
102
/**/ {{0x00000000, 0x3d900000} }, /* 2**-38 */
103
/**/ {{0x00000000, 0x3d500000} }, /* 2**-42 */
104
/**/ {{0x00000000, 0x3d800000} }, /* 2**-39 */
105
/**/ {{0x00000000, 0x3d400000} }, /* 2**-43 */
106
/**/ {{0x00000000, 0x3d000000} }, /* 2**-47 */
107
/**/ {{0x00000000, 0x3d400000} }, /* 2**-43 */
108
/**/ {{0x00000000, 0x3d000000} }, /* 2**-47 */
109
/**/ {{0x00000000, 0x3cd00000} }, /* 2**-50 */
110
/**/ {{0x00000000, 0x3c900000} }, /* 2**-54 */
111
/**/ {{0x00000000, 0x3c600000} }, /* 2**-57 */
112
/**/ {{0x00000000, 0x3c300000} }, /* 2**-60 */
113
/**/ {{0x00000000, 0x3bf00000} }, /* 2**-64 */
114
/**/ {{0x00000000, 0x3bc00000} }, /* 2**-67 */
115
/**/ {{0x00000000, 0x3b800000} }, /* 2**-71 */
116
/**/ {{0x00000000, 0x3b500000} }, /* 2**-74 */
117
/**/ {{0x00000000, 0x3bb00000} }, /* 2**-68 */
118
/**/ {{0x00000000, 0x3b800000} }, /* 2**-71 */
119
/**/ {{0x00000000, 0x3b500000} }, /* 2**-74 */
120
/**/ {{0x00000000, 0x3b200000} }, /* 2**-77 */
121
/**/ {{0x00000000, 0x3b900000} }, /* 2**-70 */
122
/**/ {{0x00000000, 0x3b600000} }, /* 2**-73 */
123
/**/ {{0x00000000, 0x3b300000} }, /* 2**-76 */
124
/**/ {{0x00000000, 0x3b100000} }, /* 2**-78 */
125
/**/ {{0x00000000, 0x3ae00000} }, /* 2**-81 */
129
/**/ {{0x00000000, 0x00000000} }, /* 0 */
130
/**/ {{0x00000000, 0x3ff00000} }, /* 1 */
131
/**/ {{0x00000000, 0x40000000} }, /* 2 */
132
/**/ {{0x00000000, 0x40080000} }, /* 3 */
133
/**/ {{0x00000000, 0x40100000} }, /* 4 */
134
/**/ {{0x00000000, 0x40140000} }, /* 5 */
135
/**/ {{0x00000000, 0x40180000} }, /* 6 */
136
/**/ {{0x00000000, 0x401c0000} }, /* 7 */
137
/**/ {{0x00000000, 0x40200000} }, /* 8 */
141
/**/ radix = {{0x00000000, 0x41700000} }, /* 2**24 */
142
/**/ radixi = {{0x00000000, 0x3e700000} }, /* 2**-24 */
143
/**/ zero = {{0x00000000, 0x00000000} }, /* 0 */
144
/**/ one = {{0x00000000, 0x3ff00000} }, /* 1 */
145
/**/ two = {{0x00000000, 0x40000000} }, /* 2 */
146
/**/ half = {{0x00000000, 0x3fe00000} }; /* 1/2 */
151
#define RADIX radix.d
152
#define RADIXI radixi.d