summaryrefslogtreecommitdiff
path: root/math/dcdflib/files/patch-ipmpar.c
diff options
context:
space:
mode:
Diffstat (limited to 'math/dcdflib/files/patch-ipmpar.c')
-rw-r--r--math/dcdflib/files/patch-ipmpar.c451
1 files changed, 0 insertions, 451 deletions
diff --git a/math/dcdflib/files/patch-ipmpar.c b/math/dcdflib/files/patch-ipmpar.c
deleted file mode 100644
index 6c2fcd402e1a..000000000000
--- a/math/dcdflib/files/patch-ipmpar.c
+++ /dev/null
@@ -1,451 +0,0 @@
---- ipmpar.c.orig Tue Sep 8 14:19:45 1998
-+++ ipmpar.c Tue Sep 8 14:11:24 1998
-@@ -1,426 +1,24 @@
--int ipmpar(int*);
--/*
-------------------------------------------------------------------------
--
-- IPMPAR PROVIDES THE INTEGER MACHINE CONSTANTS FOR THE COMPUTER
-- THAT IS USED. IT IS ASSUMED THAT THE ARGUMENT I IS AN INTEGER
-- HAVING ONE OF THE VALUES 1-10. IPMPAR(I) HAS THE VALUE ...
--
-- INTEGERS.
--
-- ASSUME INTEGERS ARE REPRESENTED IN THE N-DIGIT, BASE-A FORM
--
-- SIGN ( X(N-1)*A**(N-1) + ... + X(1)*A + X(0) )
--
-- WHERE 0 .LE. X(I) .LT. A FOR I=0,...,N-1.
--
-- IPMPAR(1) = A, THE BASE.
--
-- IPMPAR(2) = N, THE NUMBER OF BASE-A DIGITS.
--
-- IPMPAR(3) = A**N - 1, THE LARGEST MAGNITUDE.
--
-- FLOATING-POINT NUMBERS.
--
-- IT IS ASSUMED THAT THE SINGLE AND DOUBLE PRECISION FLOATING
-- POINT ARITHMETICS HAVE THE SAME BASE, SAY B, AND THAT THE
-- NONZERO NUMBERS ARE REPRESENTED IN THE FORM
--
-- SIGN (B**E) * (X(1)/B + ... + X(M)/B**M)
--
-- WHERE X(I) = 0,1,...,B-1 FOR I=1,...,M,
-- X(1) .GE. 1, AND EMIN .LE. E .LE. EMAX.
--
-- IPMPAR(4) = B, THE BASE.
--
-- SINGLE-PRECISION
--
-- IPMPAR(5) = M, THE NUMBER OF BASE-B DIGITS.
--
-- IPMPAR(6) = EMIN, THE SMALLEST EXPONENT E.
--
-- IPMPAR(7) = EMAX, THE LARGEST EXPONENT E.
--
-- DOUBLE-PRECISION
--
-- IPMPAR(8) = M, THE NUMBER OF BASE-B DIGITS.
--
-- IPMPAR(9) = EMIN, THE SMALLEST EXPONENT E.
--
-- IPMPAR(10) = EMAX, THE LARGEST EXPONENT E.
--
-------------------------------------------------------------------------
--
-- TO DEFINE THIS FUNCTION FOR THE COMPUTER BEING USED REMOVE
-- THE COMMENT DELIMITORS FROM THE DEFINITIONS DIRECTLY BELOW THE NAME
-- OF THE MACHINE
--
-------------------------------------------------------------------------
--
-- IPMPAR IS AN ADAPTATION OF THE FUNCTION I1MACH, WRITTEN BY
-- P.A. FOX, A.D. HALL, AND N.L. SCHRYER (BELL LABORATORIES).
-- IPMPAR WAS FORMED BY A.H. MORRIS (NSWC). THE CONSTANTS ARE
-- FROM BELL LABORATORIES, NSWC, AND OTHER SOURCES.
--
-------------------------------------------------------------------------
-- .. Scalar Arguments ..
--*/
--int ipmpar(int *i)
--{
--static int imach[11];
--static int ipmpar;
--/* MACHINE CONSTANTS FOR AMDAHL MACHINES. */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 16;
-- imach[5] = 6;
-- imach[6] = -64;
-- imach[7] = 63;
-- imach[8] = 14;
-- imach[9] = -64;
-- imach[10] = 63;
--*/
--/* MACHINE CONSTANTS FOR THE AT&T 3B SERIES, AT&T
-- PC 7300, AND AT&T 6300. */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -125;
-- imach[7] = 128;
-- imach[8] = 53;
-- imach[9] = -1021;
-- imach[10] = 1024;
--*/
--/* MACHINE CONSTANTS FOR THE BURROUGHS 1700 SYSTEM. */
--/*
-- imach[1] = 2;
-- imach[2] = 33;
-- imach[3] = 8589934591;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -256;
-- imach[7] = 255;
-- imach[8] = 60;
-- imach[9] = -256;
-- imach[10] = 255;
--*/
--/* MACHINE CONSTANTS FOR THE BURROUGHS 5700 SYSTEM. */
--/*
-- imach[1] = 2;
-- imach[2] = 39;
-- imach[3] = 549755813887;
-- imach[4] = 8;
-- imach[5] = 13;
-- imach[6] = -50;
-- imach[7] = 76;
-- imach[8] = 26;
-- imach[9] = -50;
-- imach[10] = 76;
--*/
--/* MACHINE CONSTANTS FOR THE BURROUGHS 6700/7700 SYSTEMS. */
--/*
-- imach[1] = 2;
-- imach[2] = 39;
-- imach[3] = 549755813887;
-- imach[4] = 8;
-- imach[5] = 13;
-- imach[6] = -50;
-- imach[7] = 76;
-- imach[8] = 26;
-- imach[9] = -32754;
-- imach[10] = 32780;
--*/
--/* MACHINE CONSTANTS FOR THE CDC 6000/7000 SERIES
-- 60 BIT ARITHMETIC, AND THE CDC CYBER 995 64 BIT
-- ARITHMETIC (NOS OPERATING SYSTEM). */
--/*
-- imach[1] = 2;
-- imach[2] = 48;
-- imach[3] = 281474976710655;
-- imach[4] = 2;
-- imach[5] = 48;
-- imach[6] = -974;
-- imach[7] = 1070;
-- imach[8] = 95;
-- imach[9] = -926;
-- imach[10] = 1070;
--*/
--/* MACHINE CONSTANTS FOR THE CDC CYBER 995 64 BIT
-- ARITHMETIC (NOS/VE OPERATING SYSTEM). */
--/*
-- imach[1] = 2;
-- imach[2] = 63;
-- imach[3] = 9223372036854775807;
-- imach[4] = 2;
-- imach[5] = 48;
-- imach[6] = -4096;
-- imach[7] = 4095;
-- imach[8] = 96;
-- imach[9] = -4096;
-- imach[10] = 4095;
--*/
--/* MACHINE CONSTANTS FOR THE CRAY 1, XMP, 2, AND 3. */
--/*
-- imach[1] = 2;
-- imach[2] = 63;
-- imach[3] = 9223372036854775807;
-- imach[4] = 2;
-- imach[5] = 47;
-- imach[6] = -8189;
-- imach[7] = 8190;
-- imach[8] = 94;
-- imach[9] = -8099;
-- imach[10] = 8190;
--*/
--/* MACHINE CONSTANTS FOR THE DATA GENERAL ECLIPSE S/200. */
--/*
-- imach[1] = 2;
-- imach[2] = 15;
-- imach[3] = 32767;
-- imach[4] = 16;
-- imach[5] = 6;
-- imach[6] = -64;
-- imach[7] = 63;
-- imach[8] = 14;
-- imach[9] = -64;
-- imach[10] = 63;
--*/
--/* MACHINE CONSTANTS FOR THE HARRIS 220. */
--/*
-- imach[1] = 2;
-- imach[2] = 23;
-- imach[3] = 8388607;
-- imach[4] = 2;
-- imach[5] = 23;
-- imach[6] = -127;
-- imach[7] = 127;
-- imach[8] = 38;
-- imach[9] = -127;
-- imach[10] = 127;
--*/
--/* MACHINE CONSTANTS FOR THE HONEYWELL 600/6000
-- AND DPS 8/70 SERIES. */
--/*
-- imach[1] = 2;
-- imach[2] = 35;
-- imach[3] = 34359738367;
-- imach[4] = 2;
-- imach[5] = 27;
-- imach[6] = -127;
-- imach[7] = 127;
-- imach[8] = 63;
-- imach[9] = -127;
-- imach[10] = 127;
--*/
--/* MACHINE CONSTANTS FOR THE HP 2100
-- 3 WORD DOUBLE PRECISION OPTION WITH FTN4 */
--/*
-- imach[1] = 2;
-- imach[2] = 15;
-- imach[3] = 32767;
-- imach[4] = 2;
-- imach[5] = 23;
-- imach[6] = -128;
-- imach[7] = 127;
-- imach[8] = 39;
-- imach[9] = -128;
-- imach[10] = 127;
--*/
--/* MACHINE CONSTANTS FOR THE HP 2100
-- 4 WORD DOUBLE PRECISION OPTION WITH FTN4 */
--/*
-- imach[1] = 2;
-- imach[2] = 15;
-- imach[3] = 32767;
-- imach[4] = 2;
-- imach[5] = 23;
-- imach[6] = -128;
-- imach[7] = 127;
-- imach[8] = 55;
-- imach[9] = -128;
-- imach[10] = 127;
--*/
--/* MACHINE CONSTANTS FOR THE HP 9000. */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -126;
-- imach[7] = 128;
-- imach[8] = 53;
-- imach[9] = -1021;
-- imach[10] = 1024;
--*/
--/* MACHINE CONSTANTS FOR THE IBM 360/370 SERIES,
-- THE ICL 2900, THE ITEL AS/6, THE XEROX SIGMA
-- 5/7/9 AND THE SEL SYSTEMS 85/86. */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 16;
-- imach[5] = 6;
-- imach[6] = -64;
-- imach[7] = 63;
-- imach[8] = 14;
-- imach[9] = -64;
-- imach[10] = 63;
--*/
--/* MACHINE CONSTANTS FOR THE IBM PC. */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -125;
-- imach[7] = 128;
-- imach[8] = 53;
-- imach[9] = -1021;
-- imach[10] = 1024;
--*/
--/* MACHINE CONSTANTS FOR THE MACINTOSH II - ABSOFT
-- MACFORTRAN II. */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -125;
-- imach[7] = 128;
-- imach[8] = 53;
-- imach[9] = -1021;
-- imach[10] = 1024;
--*/
--/* MACHINE CONSTANTS FOR THE MICROVAX - VMS FORTRAN. */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -127;
-- imach[7] = 127;
-- imach[8] = 56;
-- imach[9] = -127;
-- imach[10] = 127;
--*/
--/* MACHINE CONSTANTS FOR THE PDP-10 (KA PROCESSOR). */
--/*
-- imach[1] = 2;
-- imach[2] = 35;
-- imach[3] = 34359738367;
-- imach[4] = 2;
-- imach[5] = 27;
-- imach[6] = -128;
-- imach[7] = 127;
-- imach[8] = 54;
-- imach[9] = -101;
-- imach[10] = 127;
--*/
--/* MACHINE CONSTANTS FOR THE PDP-10 (KI PROCESSOR). */
--/*
-- imach[1] = 2;
-- imach[2] = 35;
-- imach[3] = 34359738367;
-- imach[4] = 2;
-- imach[5] = 27;
-- imach[6] = -128;
-- imach[7] = 127;
-- imach[8] = 62;
-- imach[9] = -128;
-- imach[10] = 127;
--*/
--/* MACHINE CONSTANTS FOR THE PDP-11 FORTRAN SUPPORTING
-- 32-BIT INTEGER ARITHMETIC. */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -127;
-- imach[7] = 127;
-- imach[8] = 56;
-- imach[9] = -127;
-- imach[10] = 127;
--*/
--/* MACHINE CONSTANTS FOR THE SEQUENT BALANCE 8000. */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -125;
-- imach[7] = 128;
-- imach[8] = 53;
-- imach[9] = -1021;
-- imach[10] = 1024;
--*/
--/* MACHINE CONSTANTS FOR THE SILICON GRAPHICS IRIS-4D
-- SERIES (MIPS R3000 PROCESSOR). */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -125;
-- imach[7] = 128;
-- imach[8] = 53;
-- imach[9] = -1021;
-- imach[10] = 1024;
--*/
--/* MACHINE CONSTANTS FOR IEEE ARITHMETIC MACHINES, SUCH AS THE AT&T
-- 3B SERIES, MOTOROLA 68000 BASED MACHINES (E.G. SUN 3 AND AT&T
-- PC 7300), AND 8087 BASED MICROS (E.G. IBM PC AND AT&T 6300). */
--
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -125;
-- imach[7] = 128;
-- imach[8] = 53;
-- imach[9] = -1021;
-- imach[10] = 1024;
-+#include <float.h>
-+#include <limits.h>
-
--/* MACHINE CONSTANTS FOR THE UNIVAC 1100 SERIES. */
--/*
-- imach[1] = 2;
-- imach[2] = 35;
-- imach[3] = 34359738367;
-- imach[4] = 2;
-- imach[5] = 27;
-- imach[6] = -128;
-- imach[7] = 127;
-- imach[8] = 60;
-- imach[9] = -1024;
-- imach[10] = 1023;
--*/
--/* MACHINE CONSTANTS FOR THE VAX 11/780. */
--/*
-- imach[1] = 2;
-- imach[2] = 31;
-- imach[3] = 2147483647;
-- imach[4] = 2;
-- imach[5] = 24;
-- imach[6] = -127;
-- imach[7] = 127;
-- imach[8] = 56;
-- imach[9] = -127;
-- imach[10] = 127;
--*/
-- ipmpar = imach[*i];
-- return ipmpar;
-+int ipmpar( int *i)
-+{
-+ static int imach[11] = {
-+ 0, /* dummy zeroth index */
-+ /* integers */
-+ 2, /* base; you are on the binary machine, aren't you? */
-+ sizeof(int)*(CHAR_BIT)-1,
-+ INT_MAX,
-+ /* all floats */
-+ FLT_RADIX,
-+ /* single precision floats */
-+ FLT_MANT_DIG,
-+ FLT_MIN_EXP,
-+ FLT_MAX_EXP,
-+ /* double precision floats */
-+ DBL_MANT_DIG,
-+ DBL_MIN_EXP,
-+ DBL_MAX_EXP,
-+ };
-+ return imach[*i];
- }