| double.eps | The smallest positive floating-point number such 
that `1+eps != 1'. 
In particular, if either 
double.base == 2  or double.rounding == 0 , double.eps  is double.base^double.ulp.digits . 
Otherwise, double.eps  is (double.base^double.ulp.digits)/2 . | 
| double.neg.eps | A small positive floating-point number such that 
`1-double.neg.eps != 1'. 
In particular, if double.base == 2  or double.rounding == 0 , 
double.neg.eps  is double.base^double.neg.ulp.digits . 
Otherwise, double.neg.eps  is (double.base^double.neg.ulp.digits)/2 . 
Because double.neg.ulp/digits  is bounded below by -(double.digits+3) , 
double.neg.eps  may not be the smallest number that can alter 1 by  
subtraction. | 
| double.xmin | The smallest non-vanishing normalized floating-point 
power of the radix, i.e., double.xmin  is double.base^double.min.exp . | 
| double.xmax | The largest finite floating-point number. 
In particular double.xmax  is (1-double.neg.eps)*double.digits^double.max.exp . 
Note - on some machines double.xmax  will be only the 
second, or perhaps third, largest number, being 
too small by 1 or 2 units in the last digit of the significand. | 
| double.base | the base for the floating-point representation. | 
| double.digits | The number of significant digits in the given base. | 
| double.rounding | The rounding action: 
0 if floating-point addition chops; 
1 if floating-point addition rounds, but not in the IEEE style; 
2 if floating-point addition rounds in the IEEE style; 
3 if floating-point addition chops, and there is partial underflow; 
4 if floating-point addition rounds, but not in the IEEE style, and there is partial underflow; 
5 if floating-point addition rounds in the IEEE style, and there is partial underflow. | 
| double.guard | The number of guard digits for multiplication with truncating arithmetic. 
It is 0 if floating-point arithmetic rounds, or if it 
truncates and only double.digits  base double.base  digits 
participate in the post-normalization shift of the  
floating-point significand in multiplication; 
1 if floating-point arithmetic truncates and more 
than double.digits  base double.base  digits participate in the 
post-normalization shift of the floating-point significand in multiplication. | 
| double.ulp.digits | The largest negative integer such that `1+double.base^double.ulp.digits != 1', 
except that double.ulp.digits  is bounded below by -(double.digits+3) . | 
| double.neg.ulp.digits | The largest negative integer such that `1-double.base^double.neg.ulp.digits != 1', 
except that double.neg.ulp.digits  is bounded below by -(double.digits+3) . | 
| double.exponent | The number of bits (decimal places if double.base  == 10) 
reserved for the representation of the exponent 
(including the bias or sign) of a floating-point number. | 
| double.min.exp | The largest in magnitude negative integer such that 
double.base^double.min.exp  is positive and normalized. | 
| double.max.exp | The smallest positive power of double.base  that overflows. | 
| integer.max | The largest integer that can be represented. | 
| sizeof.long | The size, in bytes, of the C long type. | 
| sizeof.longlong | The size, in bytes, of the C long long type. | 
| sizeof.longdouble | The size, in bytes, of the C long double type. |