diff options
Diffstat (limited to 'math/dcdflib/files/patch-ipmpar.c')
-rw-r--r-- | math/dcdflib/files/patch-ipmpar.c | 451 |
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]; - } |