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