64 DOUBLE PRECISION FUNCTION dlamch( CMACH )
82 DOUBLE PRECISION one, zero
83 parameter( one = 1.0d+0, zero = 0.0d+0 )
86 DOUBLE PRECISION rnd, eps, sfmin, small, rmach
93 INTRINSIC digits, epsilon, huge, maxexponent,
94 $ minexponent, radix, tiny
103 IF( one.EQ.rnd )
THEN
104 eps = epsilon(zero) * 0.5
109 IF(
lsame( cmach,
'E' ) )
THEN
111 ELSE IF(
lsame( cmach,
'S' ) )
THEN
113 small = one / huge(zero)
114 IF( small.GE.sfmin )
THEN
119 sfmin = small*( one+eps )
122 ELSE IF(
lsame( cmach,
'B' ) )
THEN
124 ELSE IF(
lsame( cmach,
'P' ) )
THEN
125 rmach = eps * radix(zero)
126 ELSE IF(
lsame( cmach,
'N' ) )
THEN
128 ELSE IF(
lsame( cmach,
'R' ) )
THEN
130 ELSE IF(
lsame( cmach,
'M' ) )
THEN
131 rmach = minexponent(zero)
132 ELSE IF(
lsame( cmach,
'U' ) )
THEN
134 ELSE IF(
lsame( cmach,
'L' ) )
THEN
135 rmach = maxexponent(zero)
136 ELSE IF(
lsame( cmach,
'O' ) )
THEN
179 DOUBLE PRECISION a,
b
DOUBLE PRECISION function dlamc3(A, B)
DLAMC3
LOGICAL function lsame(CA, CB)
LSAME
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
DOUBLE PRECISION function dlamch(CMACH)
DLAMCH