(root)/
glibc-2.38/
sysdeps/
ieee754/
dbl-64/
utan.h
       1  /*
       2   * IBM Accurate Mathematical Library
       3   * Copyright (C) 2001-2023 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