#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 := rmaxwhere
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 | |||
| ) |

1.6.1