about summary refs log tree commit diff
path: root/sysdeps/ieee754/dbl-64/mpa.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/dbl-64/mpa.h')
-rw-r--r--sysdeps/ieee754/dbl-64/mpa.h154
1 files changed, 0 insertions, 154 deletions
diff --git a/sysdeps/ieee754/dbl-64/mpa.h b/sysdeps/ieee754/dbl-64/mpa.h
deleted file mode 100644
index a665e6b8f7..0000000000
--- a/sysdeps/ieee754/dbl-64/mpa.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * IBM Accurate Mathematical Library
- * Written by International Business Machines Corp.
- * Copyright (C) 2001-2017 Free Software Foundation, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-/************************************************************************/
-/*  MODULE_NAME: mpa.h                                                  */
-/*                                                                      */
-/*  FUNCTIONS:                                                          */
-/*               mcr                                                    */
-/*               acr                                                    */
-/*               cpy                                                    */
-/*               mp_dbl                                                 */
-/*               dbl_mp                                                 */
-/*               add                                                    */
-/*               sub                                                    */
-/*               mul                                                    */
-/*               dvd                                                    */
-/*                                                                      */
-/* Arithmetic functions for multiple precision numbers.                 */
-/* Common types and definition                                          */
-/************************************************************************/
-
-#include <mpa-arch.h>
-
-/* The mp_no structure holds the details of a multi-precision floating point
-   number.
-
-   - The radix of the number (R) is 2 ^ 24.
-
-   - E: The exponent of the number.
-
-   - D[0]: The sign (-1, 1) or 0 if the value is 0.  In the latter case, the
-     values of the remaining members of the structure are ignored.
-
-   - D[1] - D[p]: The mantissa of the number where:
-
-	0 <= D[i] < R and
-	P is the precision of the number and 1 <= p <= 32
-
-     D[p+1] ... D[39] have no significance.
-
-   - The value of the number is:
-
-	D[1] * R ^ (E - 1) + D[2] * R ^ (E - 2) ... D[p] * R ^ (E - p)
-
-   */
-typedef struct
-{
-  int e;
-  mantissa_t d[40];
-} mp_no;
-
-typedef union
-{
-  int i[2];
-  double d;
-} number;
-
-extern const mp_no __mpone;
-extern const mp_no __mptwo;
-
-#define  X   x->d
-#define  Y   y->d
-#define  Z   z->d
-#define  EX  x->e
-#define  EY  y->e
-#define  EZ  z->e
-
-#ifndef RADIXI
-# define  RADIXI    0x1.0p-24		/* 2^-24   */
-#endif
-
-#ifndef TWO52
-# define  TWO52     0x1.0p52		/* 2^52    */
-#endif
-
-#define  TWO5      TWOPOW (5)		/* 2^5     */
-#define  TWO8      TWOPOW (8)		/* 2^52    */
-#define  TWO10     TWOPOW (10)		/* 2^10    */
-#define  TWO18     TWOPOW (18)		/* 2^18    */
-#define  TWO19     TWOPOW (19)		/* 2^19    */
-#define  TWO23     TWOPOW (23)		/* 2^23    */
-
-#define  HALFRAD   TWO23
-
-#define  TWO57     0x1.0p57		/* 2^57    */
-#define  TWO71     0x1.0p71		/* 2^71    */
-#define  TWOM1032  0x1.0p-1032		/* 2^-1032 */
-#define  TWOM1022  0x1.0p-1022		/* 2^-1022 */
-
-#define  HALF      0x1.0p-1		/* 1/2 */
-#define  MHALF     -0x1.0p-1		/* -1/2 */
-
-int __acr (const mp_no *, const mp_no *, int);
-void __cpy (const mp_no *, mp_no *, int);
-void __mp_dbl (const mp_no *, double *, int);
-void __dbl_mp (double, mp_no *, int);
-void __add (const mp_no *, const mp_no *, mp_no *, int);
-void __sub (const mp_no *, const mp_no *, mp_no *, int);
-void __mul (const mp_no *, const mp_no *, mp_no *, int);
-void __sqr (const mp_no *, mp_no *, int);
-void __dvd (const mp_no *, const mp_no *, mp_no *, int);
-
-extern void __mpatan (mp_no *, mp_no *, int);
-extern void __mpatan2 (mp_no *, mp_no *, mp_no *, int);
-extern void __mpsqrt (mp_no *, mp_no *, int);
-extern void __mpexp (mp_no *, mp_no *, int);
-extern void __c32 (mp_no *, mp_no *, mp_no *, int);
-extern int __mpranred (double, mp_no *, int);
-
-/* Given a power POW, build a multiprecision number 2^POW.  */
-static inline void
-__pow_mp (int pow, mp_no *y, int p)
-{
-  int i, rem;
-
-  /* The exponent is E such that E is a factor of 2^24.  The remainder (of the
-     form 2^x) goes entirely into the first digit of the mantissa as it is
-     always less than 2^24.  */
-  EY = pow / 24;
-  rem = pow - EY * 24;
-  EY++;
-
-  /* If the remainder is negative, it means that POW was negative since
-     |EY * 24| <= |pow|.  Adjust so that REM is positive and still less than
-     24 because of which, the mantissa digit is less than 2^24.  */
-  if (rem < 0)
-    {
-      EY--;
-      rem += 24;
-    }
-  /* The sign of any 2^x is always positive.  */
-  Y[0] = 1;
-  Y[1] = 1 << rem;
-
-  /* Everything else is 0.  */
-  for (i = 2; i <= p; i++)
-    Y[i] = 0;
-}