64 DOUBLE PRECISION FUNCTION dlamch( CMACH )
78 DOUBLE PRECISION one, zero
79 parameter( one = 1.0d+0, zero = 0.0d+0 )
82 DOUBLE PRECISION rnd, eps, sfmin, small, rmach
89 INTRINSIC digits, epsilon, huge, maxexponent,
90 $ minexponent, radix, tiny
100 eps = epsilon(zero) * 0.5
105 IF(
lsame( cmach,
'E' ) )
THEN
107 ELSE IF(
lsame( cmach,
'S' ) )
THEN
109 small = one / huge(zero)
110 IF( small.GE.sfmin )
THEN
115 sfmin = small*( one+eps )
118 ELSE IF(
lsame( cmach,
'B' ) )
THEN
120 ELSE IF(
lsame( cmach,
'P' ) )
THEN
121 rmach = eps * radix(zero)
122 ELSE IF(
lsame( cmach,
'N' ) )
THEN
124 ELSE IF(
lsame( cmach,
'R' ) )
THEN
126 ELSE IF(
lsame( cmach,
'M' ) )
THEN
127 rmach = minexponent(zero)
128 ELSE IF(
lsame( cmach,
'U' ) )
THEN
130 ELSE IF(
lsame( cmach,
'L' ) )
THEN
131 rmach = maxexponent(zero)
132 ELSE IF(
lsame( cmach,
'O' ) )
THEN
175 DOUBLE PRECISION a, b