~ubuntu-branches/ubuntu/precise/eglibc/precise

« back to all changes in this revision

Viewing changes to sysdeps/ieee754/dbl-64/mpatan.h

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2011-10-04 17:48:26 UTC
  • mfrom: (216.1.23 oneiric)
  • Revision ID: package-import@ubuntu.com-20111004174826-2cyb9ewn3ucymlsx
Tags: 2.13-20ubuntu5
libc6-dev: Don't break the current {gnat,gcj}-4.4-base versons. LP: #853688.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
1
2
/*
2
3
 * IBM Accurate Mathematical Library
3
4
 * Written by International Business Machines Corp.
4
 
 * Copyright (C) 2001, 2011 Free Software Foundation, Inc.
 
5
 * Copyright (C) 2001 Free Software Foundation, Inc.
5
6
 *
6
7
 * This program is free software; you can redistribute it and/or modify
7
8
 * it under the terms of the GNU Lesser General Public License as published by
28
29
#ifndef MPATAN_H
29
30
#define MPATAN_H
30
31
 
31
 
extern const number __atan_xm[8] attribute_hidden;
32
 
extern const number __atan_twonm1[33] attribute_hidden;
33
 
extern const number __atan_twom[8] attribute_hidden;
34
 
extern const number __atan_one attribute_hidden;
35
 
extern const number __atan_two attribute_hidden;
36
 
extern const int __atan_np[33] attribute_hidden;
37
 
 
38
 
 
39
 
#ifndef AVOID_MPATAN_H
40
32
#ifdef BIG_ENDI
41
 
  const number
42
 
            __atan_xm[8] = {                         /* x[m]   */
 
33
  static const number
 
34
            xm[8] = {                             /* x[m]   */
43
35
/**/                  {{0x00000000, 0x00000000} }, /* 0.0    */
44
36
/**/                  {{0x3f8930be, 0x00000000} }, /* 0.0123 */
45
37
/**/                  {{0x3f991687, 0x00000000} }, /* 0.0245 */
48
40
/**/                  {{0x3fc95810, 0x00000000} }, /* 0.198  */
49
41
/**/                  {{0x3fda7ef9, 0x00000000} }, /* 0.414  */
50
42
/**/                  {{0x3ff00000, 0x00000000} }, /* 1.0    */
51
 
                    };
52
 
  const number
53
 
 __atan_twonm1[33] = {                             /* 2n-1   */
 
43
                    };
 
44
  static const number
 
45
       twonm1[33] = {                             /* 2n-1   */
54
46
/**/                  {{0x00000000, 0x00000000} }, /* 0      */
55
47
/**/                  {{0x00000000, 0x00000000} }, /* 0      */
56
48
/**/                  {{0x00000000, 0x00000000} }, /* 0      */
84
76
/**/                  {{0x405b4000, 0x00000000} }, /* 109    */
85
77
/**/                  {{0x405c4000, 0x00000000} }, /* 113    */
86
78
/**/                  {{0x405d4000, 0x00000000} }, /* 117    */
87
 
                    };
 
79
                    };
88
80
 
89
 
  const number
90
 
    __atan_twom[8] = {                             /* 2**m   */
 
81
  static const number
 
82
          twom[8] = {                             /* 2**m   */
91
83
/**/                  {{0x3ff00000, 0x00000000} }, /*   1.0  */
92
84
/**/                  {{0x40000000, 0x00000000} }, /*   2.0  */
93
85
/**/                  {{0x40100000, 0x00000000} }, /*   4.0  */
96
88
/**/                  {{0x40400000, 0x00000000} }, /*  32.0  */
97
89
/**/                  {{0x40500000, 0x00000000} }, /*  64.0  */
98
90
/**/                  {{0x40600000, 0x00000000} }, /* 128.0  */
99
 
                    };
 
91
                    };
100
92
 
101
 
  const number
102
 
/**/ __atan_one     = {{0x3ff00000, 0x00000000} }, /* 1      */
103
 
/**/ __atan_two     = {{0x40000000, 0x00000000} }; /* 2      */
 
93
  static const number
 
94
/**/ one            = {{0x3ff00000, 0x00000000} }, /* 1      */
 
95
/**/ two            = {{0x40000000, 0x00000000} }; /* 2      */
104
96
 
105
97
#else
106
98
#ifdef LITTLE_ENDI
107
99
 
108
 
  const number
109
 
      __atan_xm[8] = {                             /* x[m]   */
 
100
  static const number
 
101
            xm[8] = {                             /* x[m]   */
110
102
/**/                  {{0x00000000, 0x00000000} }, /* 0.0    */
111
103
/**/                  {{0x00000000, 0x3f8930be} }, /* 0.0123 */
112
104
/**/                  {{0x00000000, 0x3f991687} }, /* 0.0245 */
115
107
/**/                  {{0x00000000, 0x3fc95810} }, /* 0.198  */
116
108
/**/                  {{0x00000000, 0x3fda7ef9} }, /* 0.414  */
117
109
/**/                  {{0x00000000, 0x3ff00000} }, /* 1.0    */
118
 
                    };
119
 
  const number
120
 
__atan_twonm1[33] = {                             /* 2n-1   */
 
110
                    };
 
111
  static const number
 
112
       twonm1[33] = {                             /* 2n-1   */
121
113
/**/                  {{0x00000000, 0x00000000} }, /* 0      */
122
114
/**/                  {{0x00000000, 0x00000000} }, /* 0      */
123
115
/**/                  {{0x00000000, 0x00000000} }, /* 0      */
151
143
/**/                  {{0x00000000, 0x405b4000} }, /* 109    */
152
144
/**/                  {{0x00000000, 0x405c4000} }, /* 113    */
153
145
/**/                  {{0x00000000, 0x405d4000} }, /* 117    */
154
 
                    };
 
146
                    };
155
147
 
156
 
  const number
157
 
    __atan_twom[8] = {                             /* 2**m   */
 
148
  static const number
 
149
          twom[8] = {                             /* 2**m   */
158
150
/**/                  {{0x00000000, 0x3ff00000} }, /*   1.0  */
159
151
/**/                  {{0x00000000, 0x40000000} }, /*   2.0  */
160
152
/**/                  {{0x00000000, 0x40100000} }, /*   4.0  */
163
155
/**/                  {{0x00000000, 0x40400000} }, /*  32.0  */
164
156
/**/                  {{0x00000000, 0x40500000} }, /*  64.0  */
165
157
/**/                  {{0x00000000, 0x40600000} }, /* 128.0  */
166
 
                    };
167
 
 
168
 
  const number
169
 
/**/ __atan_one    = {{0x00000000, 0x3ff00000} }, /* 1      */
170
 
/**/ __atan_two    = {{0x00000000, 0x40000000} }; /* 2      */
171
 
 
172
 
#endif
173
 
#endif
174
 
 
175
 
  const int
176
 
    __atan_np[33] = { 0, 0, 0, 0, 6, 8,10,11,13,15,17,19,21,23,25,27,28,
177
 
                      30,32,34,36,38,40,42,43,45,47,49,51,53,55,57,59};
178
 
 
179
 
#endif
180
 
#endif
181
 
 
182
 
#define  ONE       __atan_one.d
183
 
#define  TWO       __atan_two.d
 
158
                    };
 
159
 
 
160
  static const number
 
161
/**/ one            = {{0x00000000, 0x3ff00000} }, /* 1      */
 
162
/**/ two            = {{0x00000000, 0x40000000} }; /* 2      */
 
163
 
 
164
#endif
 
165
#endif
 
166
 
 
167
#define  ONE       one.d
 
168
#define  TWO       two.d
 
169
 
 
170
  static const int
 
171
    np[33] = { 0, 0, 0, 0, 6, 8,10,11,13,15,17,19,21,23,25,27,28,
 
172
               30,32,34,36,38,40,42,43,45,47,49,51,53,55,57,59};
 
173
 
 
174
#endif