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:uasncs.h                                           */
22 /*                                                                */
23 /* common data and variables prototype and definition             */
24 /******************************************************************/
25 
26 #ifndef UANSNCS_H
27 #define UANSNCS_H
28 
29 #ifdef BIG_ENDI
30  static const  mynumber
31 /**/           a1 = {{0x3FC55580, 0x00000000 }},  /*  0.1666717529296875     */
32 /**/           a2 = {{0xBED55555, 0x55552330 }},  /* -5.0862630208224597e-06 */
33 /**/          hp0 = {{0x3FF921FB, 0x54442D18 }},  /*  1.5707963267948966     */
34 /**/          hp1 = {{0x3C91A626, 0x33145C07 }};  /*  6.123233995736766e-17  */
35 
36 #else
37 #ifdef LITTLE_ENDI
38  static const  mynumber
39 /**/           a1 = {{0x00000000, 0x3FC55580 }},  /*  0.1666717529296875     */
40 /**/           a2 = {{0x55552330, 0xBED55555 }},  /* -5.0862630208224597e-06 */
41 /**/          hp0 = {{0x54442D18, 0x3FF921FB }},  /*  1.5707963267948966     */
42 /**/          hp1 = {{0x33145C07, 0x3C91A626 }};  /*  6.123233995736766e-17  */
43 
44 #endif
45 #endif
46 
47 static const double
48               f1 =  1.66666666666664110590506577996662E-01,
49               f2 =  7.50000000026122686814431784722623E-02,
50               f3 =  4.46428561421059750978517350006940E-02,
51               f4 =  3.03821268582119319911193410625235E-02,
52               f5 =  2.23551211026525610742786300334557E-02,
53               f6 =  1.81382903404565056280372531963613E-02;
54 static const double
55    c2 = 0.74999999999985410757087492918602258E-01,
56    c3 = 0.44642857150311968932423372477866076E-01,
57    c4 = 0.30381942574778615766200591683810471E-01,
58    c5 = 0.22372413472984868331447708777000650E-01,
59    c6 = 0.17333630246451830686009693735025490E-01,
60    c7 = 0.14710362893628210269950864741085777E-01;
61 
62 static const double big = 103079215104.0, t24 = 16777216.0, t27 = 134217728.0;
63 static const double
64    rt0 = 9.99999999859990725855365213134618E-01,
65    rt1 = 4.99999999495955425917856814202739E-01,
66    rt2 = 3.75017500867345182581453026130850E-01,
67    rt3 = 3.12523626554518656309172508769531E-01;
68 #endif
69