18
18
! ==================
19
19
! >
20
20
! > Weslley Pereira, University of Colorado Denver, USA
21
- ! > Nick Papior, Technical University of Denmark, DNK
21
+ ! > Nick Papior, Technical University of Denmark, DK
22
22
!
23
23
! > \par Further Details:
24
24
! =====================
38
38
! > \endverbatim
39
39
!
40
40
module LA_CONSTANTS
41
- !
42
41
! -- LAPACK auxiliary module (version 3.10.0) --
43
42
! -- LAPACK is a software package provided by Univ. of Tennessee, --
44
43
! -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
45
44
! February 2021
46
- !
45
+
47
46
! Standard constants for
48
47
integer , parameter :: sp = kind (1.e0 )
49
- !
48
+
50
49
real (sp), parameter :: szero = 0.0_sp
51
50
real (sp), parameter :: shalf = 0.5_sp
52
51
real (sp), parameter :: sone = 1.0_sp
@@ -60,9 +59,8 @@ module LA_CONSTANTS
60
59
complex (sp), parameter :: cone = ( 1.0_sp , 0.0_sp )
61
60
character * 1 , parameter :: sprefix = ' S'
62
61
character * 1 , parameter :: cprefix = ' C'
63
- !
62
+
64
63
! Scaling constants
65
- !
66
64
real (sp), parameter :: sulp = epsilon (0._sp )
67
65
real (sp), parameter :: seps = sulp * 0.5_sp
68
66
real (sp), parameter :: ssafmin = real (radix (0._sp ),sp)** max ( &
@@ -74,28 +72,22 @@ module LA_CONSTANTS
74
72
real (sp), parameter :: sbignum = ssafmax * sulp
75
73
real (sp), parameter :: srtmin = sqrt (ssmlnum)
76
74
real (sp), parameter :: srtmax = sqrt (sbignum)
77
- !
75
+
78
76
! Blue's scaling constants
79
- !
80
77
real (sp), parameter :: stsml = real (radix (0._sp ), sp)** ceiling ( &
81
- real (( minexponent (0._sp ) - 1_sp ) / 2 , sp) &
82
- )
78
+ (minexponent (0._sp ) - 1 ) * 0.5_sp )
83
79
real (sp), parameter :: stbig = real (radix (0._sp ), sp)** floor ( &
84
- real (( maxexponent (0._sp ) - digits (0._sp ) + 1_sp ) / 2 , sp) &
85
- )
80
+ (maxexponent (0._sp ) - digits (0._sp ) + 1 ) * 0.5_sp )
86
81
! ssml = 1/s, where s was defined in https://doi.org/10.1145/355769.355771
87
82
real (sp), parameter :: sssml = real (radix (0._sp ), sp)** ( - floor ( &
88
- real (( minexponent (0._sp ) - 1_sp ) / 2 ), sp) &
89
- )
83
+ (minexponent (0._sp ) - 1 ) * 0.5_sp ))
90
84
! ssml = 1/S, where S was defined in https://doi.org/10.1145/355769.355771
91
85
real (sp), parameter :: ssbig = real (radix (0._sp ), sp)** ( - ceiling ( &
92
- real (( maxexponent (0._sp ) - digits (0._sp ) + 1_sp ) / 2 ), sp) &
93
- )
94
- !
95
- !
86
+ (maxexponent (0._sp ) - digits (0._sp ) + 1 ) * 0.5_sp ))
87
+
96
88
! Standard constants for
97
89
integer , parameter :: dp = kind (1.d0 )
98
- !
90
+
99
91
real (dp), parameter :: dzero = 0.0_dp
100
92
real (dp), parameter :: dhalf = 0.5_dp
101
93
real (dp), parameter :: done = 1.0_dp
@@ -109,9 +101,8 @@ module LA_CONSTANTS
109
101
complex (dp), parameter :: zone = ( 1.0_dp , 0.0_dp )
110
102
character * 1 , parameter :: dprefix = ' D'
111
103
character * 1 , parameter :: zprefix = ' Z'
112
- !
104
+
113
105
! Scaling constants
114
- !
115
106
real (dp), parameter :: dulp = epsilon (0._dp )
116
107
real (dp), parameter :: deps = dulp * 0.5_dp
117
108
real (dp), parameter :: dsafmin = real (radix (0._dp ),dp)** max ( &
@@ -123,22 +114,17 @@ module LA_CONSTANTS
123
114
real (dp), parameter :: dbignum = dsafmax * dulp
124
115
real (dp), parameter :: drtmin = sqrt (dsmlnum)
125
116
real (dp), parameter :: drtmax = sqrt (dbignum)
126
- !
117
+
127
118
! Blue's scaling constants
128
- !
129
119
real (dp), parameter :: dtsml = real (radix (0._dp ), dp)** ceiling ( &
130
- real (( minexponent (0._dp ) - 1_sp ) / 2 , dp) &
131
- )
120
+ (minexponent (0._dp ) - 1 ) * 0.5_dp )
132
121
real (dp), parameter :: dtbig = real (radix (0._dp ), dp)** floor ( &
133
- real (( maxexponent (0._dp ) - digits (0._dp ) + 1_sp ) / 2 , dp) &
134
- )
122
+ (maxexponent (0._dp ) - digits (0._dp ) + 1 ) * 0.5_dp )
135
123
! ssml = 1/s, where s was defined in https://doi.org/10.1145/355769.355771
136
- real (dp), parameter :: dssml = real (radix (0._dp ) ,dp)** ( - floor ( &
137
- real (( minexponent (0._dp ) - 1_sp ) / 2 ), dp) &
138
- )
124
+ real (dp), parameter :: dssml = real (radix (0._dp ), dp)** ( - floor ( &
125
+ (minexponent (0._dp ) - 1 ) * 0.5_dp ))
139
126
! ssml = 1/S, where S was defined in https://doi.org/10.1145/355769.355771
140
127
real (dp), parameter :: dsbig = real (radix (0._dp ), dp)** ( - ceiling ( &
141
- real (( maxexponent (0._dp ) - digits (0._dp ) + 1_sp ) / 2 ), dp) &
142
- )
143
- !
128
+ (maxexponent (0._dp ) - digits (0._dp ) + 1 ) * 0.5_dp ))
129
+
144
130
end module LA_CONSTANTS
0 commit comments