#include <stdio.h>
Defines | |
#define | TRUE_ (1) |
#define | FALSE_ (0) |
#define | abs(x) ((x) >= 0 ? (x) : -(x)) |
#define | min(a, b) ((a) <= (b) ? (a) : (b)) |
#define | max(a, b) ((a) >= (b) ? (a) : (b)) |
Functions | |
double | dlamch_ (char *cmach) |
int | dlamc1_ (int *beta, int *t, int *rnd, int *ieee1) |
int | dlamc2_ (int *beta, int *t, int *rnd, double *eps, int *emin, double *rmin, int *emax, double *rmax) |
double | dlamc3_ (double *a, double *b) |
int | dlamc4_ (int *emin, double *start, int *base) |
int | dlamc5_ (int *beta, int *p, int *emin, int *ieee, int *emax, double *rmax) |
double | pow_di (double *ap, int *bp) |
#define abs | ( | x | ) | ((x) >= 0 ? (x) : -(x)) |
#define FALSE_ (0) |
#define max | ( | a, | |||
b | ) | ((a) >= (b) ? (a) : (b)) |
#define min | ( | a, | |||
b | ) | ((a) <= (b) ? (a) : (b)) |
#define TRUE_ (1) |
int dlamc1_ | ( | int * | beta, | |
int * | t, | |||
int * | rnd, | |||
int * | ieee1 | |||
) |
int dlamc2_ | ( | int * | beta, | |
int * | t, | |||
int * | rnd, | |||
double * | eps, | |||
int * | emin, | |||
double * | rmin, | |||
int * | emax, | |||
double * | rmax | |||
) |
double dlamc3_ | ( | double * | a, | |
double * | b | |||
) |
int dlamc4_ | ( | int * | emin, | |
double * | start, | |||
int * | base | |||
) |
int dlamc5_ | ( | int * | beta, | |
int * | p, | |||
int * | emin, | |||
int * | ieee, | |||
int * | emax, | |||
double * | rmax | |||
) |
double dlamch_ | ( | char * | cmach | ) |
Purpose =======
DLAMCH determines double precision machine parameters.
Arguments =========
CMACH (input) CHARACTER*1 Specifies the value to be returned by DLAMCH: = 'E' or 'e', DLAMCH := eps = 'S' or 's , DLAMCH := sfmin = 'B' or 'b', DLAMCH := base = 'P' or 'p', DLAMCH := eps*base = 'N' or 'n', DLAMCH := t = 'R' or 'r', DLAMCH := rnd = 'M' or 'm', DLAMCH := emin = 'U' or 'u', DLAMCH := rmin = 'L' or 'l', DLAMCH := emax = 'O' or 'o', DLAMCH := rmax
where
eps = relative machine precision sfmin = safe minimum, such that 1/sfmin does not overflow base = base of the machine prec = eps*base t = number of (base) digits in the mantissa rnd = 1.0 when rounding occurs in addition, 0.0 otherwise emin = minimum exponent before (gradual) underflow rmin = underflow threshold - base**(emin-1) emax = largest exponent before overflow rmax = overflow threshold - (base**emax)*(1-eps)
=====================================================================
double pow_di | ( | double * | ap, | |
int * | bp | |||
) |