Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions lapack-netlib/INSTALL/dlamch.f
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ DOUBLE PRECISION FUNCTION DLAMCH( CMACH )
PARAMETER ( ONE = 1.0D+0, ZERO = 0.0D+0 )
* ..
* .. Local Scalars ..
DOUBLE PRECISION RND, EPS, SFMIN, SMALL, RMACH
DOUBLE PRECISION RND, EPS, SFMIN, SMALL, HUGEVAL, RMACH
* ..
* .. External Functions ..
LOGICAL LSAME
Expand All @@ -111,8 +111,9 @@ DOUBLE PRECISION FUNCTION DLAMCH( CMACH )
RMACH = EPS
ELSE IF( LSAME( CMACH, 'S' ) ) THEN
SFMIN = TINY(ZERO)
SMALL = ONE / HUGE(ZERO)
IF( SMALL.GE.SFMIN ) THEN
HUGEVAL = HUGE(ZERO)
IF( HUGEVAL*SFMIN.LE.ONE ) THEN
SMALL = ONE / HUGEVAL
*
* Use SMALL plus a bit, to avoid the possibility of rounding
* causing overflow when computing 1/sfmin.
Expand All @@ -131,7 +132,7 @@ DOUBLE PRECISION FUNCTION DLAMCH( CMACH )
ELSE IF( LSAME( CMACH, 'M' ) ) THEN
RMACH = MINEXPONENT(ZERO)
ELSE IF( LSAME( CMACH, 'U' ) ) THEN
RMACH = tiny(zero)
RMACH = TINY(ZERO)
ELSE IF( LSAME( CMACH, 'L' ) ) THEN
RMACH = MAXEXPONENT(ZERO)
ELSE IF( LSAME( CMACH, 'O' ) ) THEN
Expand Down
9 changes: 5 additions & 4 deletions lapack-netlib/INSTALL/slamch.f
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ REAL FUNCTION SLAMCH( CMACH )
PARAMETER ( ONE = 1.0E+0, ZERO = 0.0E+0 )
* ..
* .. Local Scalars ..
REAL RND, EPS, SFMIN, SMALL, RMACH
REAL RND, EPS, SFMIN, SMALL, HUGEVAL, RMACH
* ..
* .. External Functions ..
LOGICAL LSAME
Expand All @@ -111,8 +111,9 @@ REAL FUNCTION SLAMCH( CMACH )
RMACH = EPS
ELSE IF( LSAME( CMACH, 'S' ) ) THEN
SFMIN = TINY(ZERO)
SMALL = ONE / HUGE(ZERO)
IF( SMALL.GE.SFMIN ) THEN
HUGEVAL = HUGE(ZERO)
IF( HUGEVAL*SFMIN.LE.ONE ) THEN
SMALL = ONE / HUGEVAL
*
* Use SMALL plus a bit, to avoid the possibility of rounding
* causing overflow when computing 1/sfmin.
Expand All @@ -131,7 +132,7 @@ REAL FUNCTION SLAMCH( CMACH )
ELSE IF( LSAME( CMACH, 'M' ) ) THEN
RMACH = MINEXPONENT(ZERO)
ELSE IF( LSAME( CMACH, 'U' ) ) THEN
RMACH = tiny(zero)
RMACH = TINY(ZERO)
ELSE IF( LSAME( CMACH, 'L' ) ) THEN
RMACH = MAXEXPONENT(ZERO)
ELSE IF( LSAME( CMACH, 'O' ) ) THEN
Expand Down
Loading