diff options
Diffstat (limited to 'ast/cminpack/dpmpar.c')
-rw-r--r-- | ast/cminpack/dpmpar.c | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/ast/cminpack/dpmpar.c b/ast/cminpack/dpmpar.c deleted file mode 100644 index 81c6fcd..0000000 --- a/ast/cminpack/dpmpar.c +++ /dev/null @@ -1,201 +0,0 @@ -#include "cminpack.h" -#include <float.h> -#include "cminpackP.h" - -#define double_EPSILON DBL_EPSILON -#define double_MIN DBL_MIN -#define double_MAX DBL_MAX -#define float_EPSILON FLT_EPSILON -#define float_MIN FLT_MIN -#define float_MAX FLT_MAX -#define half_EPSILON HALF_EPSILON -#define half_MIN HALF_NRM_MIN -#define half_MAX HALF_MAX - -#define DPMPAR(type,X) _DPMPAR(type,X) -#define _DPMPAR(type,X) type ## _ ## X - -__cminpack_attr__ -real __cminpack_func__(dpmpar)(int i) -{ -/* ********** */ - -/* Function dpmpar */ - -/* This function provides double precision machine parameters */ -/* when the appropriate set of data statements is activated (by */ -/* removing the c from column 1) and all other data statements are */ -/* rendered inactive. Most of the parameter values were obtained */ -/* from the corresponding Bell Laboratories Port Library function. */ - -/* The function statement is */ - -/* double precision function dpmpar(i) */ - -/* where */ - -/* i is an integer input variable set to 1, 2, or 3 which */ -/* selects the desired machine parameter. If the machine has */ -/* t base b digits and its smallest and largest exponents are */ -/* emin and emax, respectively, then these parameters are */ - -/* dpmpar(1) = b**(1 - t), the machine precision, */ - -/* dpmpar(2) = b**(emin - 1), the smallest magnitude, */ - -/* dpmpar(3) = b**emax*(1 - b**(-t)), the largest magnitude. */ - -/* Argonne National Laboratory. MINPACK Project. November 1996. */ -/* Burton S. Garbow, Kenneth E. Hillstrom, Jorge J. More' */ - -/* ********** */ - -/* Machine constants for the IBM 360/370 series, */ -/* the Amdahl 470/V6, the ICL 2900, the Itel AS/6, */ -/* the Xerox Sigma 5/7/9 and the Sel systems 85/86. */ - -/* data mcheps(1),mcheps(2) / z34100000, z00000000 / */ -/* data minmag(1),minmag(2) / z00100000, z00000000 / */ -/* data maxmag(1),maxmag(2) / z7fffffff, zffffffff / */ - -/* Machine constants for the Honeywell 600/6000 series. */ - -/* data mcheps(1),mcheps(2) / o606400000000, o000000000000 / */ -/* data minmag(1),minmag(2) / o402400000000, o000000000000 / */ -/* data maxmag(1),maxmag(2) / o376777777777, o777777777777 / */ - -/* Machine constants for the CDC 6000/7000 series. */ - -/* data mcheps(1) / 15614000000000000000b / */ -/* data mcheps(2) / 15010000000000000000b / */ - -/* data minmag(1) / 00604000000000000000b / */ -/* data minmag(2) / 00000000000000000000b / */ - -/* data maxmag(1) / 37767777777777777777b / */ -/* data maxmag(2) / 37167777777777777777b / */ - -/* Machine constants for the PDP-10 (KA processor). */ - -/* data mcheps(1),mcheps(2) / "114400000000, "000000000000 / */ -/* data minmag(1),minmag(2) / "033400000000, "000000000000 / */ -/* data maxmag(1),maxmag(2) / "377777777777, "344777777777 / */ - -/* Machine constants for the PDP-10 (KI processor). */ - -/* data mcheps(1),mcheps(2) / "104400000000, "000000000000 / */ -/* data minmag(1),minmag(2) / "000400000000, "000000000000 / */ -/* data maxmag(1),maxmag(2) / "377777777777, "377777777777 / */ - -/* Machine constants for the PDP-11. */ - -/* data mcheps(1),mcheps(2) / 9472, 0 / */ -/* data mcheps(3),mcheps(4) / 0, 0 / */ - -/* data minmag(1),minmag(2) / 128, 0 / */ -/* data minmag(3),minmag(4) / 0, 0 / */ - -/* data maxmag(1),maxmag(2) / 32767, -1 / */ -/* data maxmag(3),maxmag(4) / -1, -1 / */ - -/* Machine constants for the Burroughs 6700/7700 systems. */ - -/* data mcheps(1) / o1451000000000000 / */ -/* data mcheps(2) / o0000000000000000 / */ - -/* data minmag(1) / o1771000000000000 / */ -/* data minmag(2) / o7770000000000000 / */ - -/* data maxmag(1) / o0777777777777777 / */ -/* data maxmag(2) / o7777777777777777 / */ - -/* Machine constants for the Burroughs 5700 system. */ - -/* data mcheps(1) / o1451000000000000 / */ -/* data mcheps(2) / o0000000000000000 / */ - -/* data minmag(1) / o1771000000000000 / */ -/* data minmag(2) / o0000000000000000 / */ - -/* data maxmag(1) / o0777777777777777 / */ -/* data maxmag(2) / o0007777777777777 / */ - -/* Machine constants for the Burroughs 1700 system. */ - -/* data mcheps(1) / zcc6800000 / */ -/* data mcheps(2) / z000000000 / */ - -/* data minmag(1) / zc00800000 / */ -/* data minmag(2) / z000000000 / */ - -/* data maxmag(1) / zdffffffff / */ -/* data maxmag(2) / zfffffffff / */ - -/* Machine constants for the Univac 1100 series. */ - -/* data mcheps(1),mcheps(2) / o170640000000, o000000000000 / */ -/* data minmag(1),minmag(2) / o000040000000, o000000000000 / */ -/* data maxmag(1),maxmag(2) / o377777777777, o777777777777 / */ - -/* Machine constants for the Data General Eclipse S/200. */ - -/* Note - it may be appropriate to include the following card - */ -/* static dmach(3) */ - -/* data minmag/20k,3*0/,maxmag/77777k,3*177777k/ */ -/* data mcheps/32020k,3*0/ */ - -/* Machine constants for the Harris 220. */ - -/* data mcheps(1),mcheps(2) / '20000000, '00000334 / */ -/* data minmag(1),minmag(2) / '20000000, '00000201 / */ -/* data maxmag(1),maxmag(2) / '37777777, '37777577 / */ - -/* Machine constants for the Cray-1. */ - -/* data mcheps(1) / 0376424000000000000000b / */ -/* data mcheps(2) / 0000000000000000000000b / */ - -/* data minmag(1) / 0200034000000000000000b / */ -/* data minmag(2) / 0000000000000000000000b / */ - -/* data maxmag(1) / 0577777777777777777777b / */ -/* data maxmag(2) / 0000007777777777777776b / */ - -/* Machine constants for the Prime 400. */ - -/* data mcheps(1),mcheps(2) / :10000000000, :00000000123 / */ -/* data minmag(1),minmag(2) / :10000000000, :00000100000 / */ -/* data maxmag(1),maxmag(2) / :17777777777, :37777677776 / */ - -/* Machine constants for the VAX-11. */ - -/* data mcheps(1),mcheps(2) / 9472, 0 / */ -/* data minmag(1),minmag(2) / 128, 0 / */ -/* data maxmag(1),maxmag(2) / -32769, -1 / */ - -/* Machine constants for IEEE machines. */ - -/* data dmach(1) /2.22044604926d-16/ */ -/* data dmach(2) /2.22507385852d-308/ */ -/* data dmach(3) /1.79769313485d+308/ */ - - switch(i) { - case 1: - return DPMPAR(real,EPSILON); /* 2.2204460492503131e-16 | 1.19209290e-07F */ - case 2: - return DPMPAR(real,MIN); /* 2.2250738585072014e-308 | 1.17549435e-38F */ - default: - return DPMPAR(real,MAX); /* 1.7976931348623157e+308 | 3.40282347e+38F */ - } - -/* Last card of function dpmpar. */ - -} /* dpmpar_ */ - -#undef mcheps -#undef maxmag -#undef minmag -#undef dmach - - |