@@ -80,7 +80,7 @@ contains
80
80
81
81
82
82
#:for k1, t1 in INT_KINDS_TYPES
83
-
83
+ #:set k2, t2 = REAL_KINDS[-2], REAL_TYPES[-2]
84
84
subroutine test_logfact_${t1[0]}$${k1}$(error)
85
85
type(error_type), allocatable, intent(out) :: error
86
86
integer, parameter :: n = 6
@@ -90,32 +90,32 @@ contains
90
90
91
91
${t1}$, parameter :: x(n) = [0_${k1}$, 1_${k1}$, 2_${k1}$, 4_${k1}$, &
92
92
5_${k1}$, 100_${k1}$]
93
- real(dp) , parameter :: ans(n) = [0.0_dp , 0.0_dp , 0.69314718055994_dp , 3.17805383034794_dp , &
94
- 4.78749174278204_dp , 3.637393755555e2_dp ]
93
+ ${t2}$ , parameter :: ans(n) = [0.0_${k2}$ , 0.0_${k2}$ , 0.69314718055994_${k2}$ , 3.17805383034794_${k2}$ , &
94
+ 4.78749174278204_${k2}$ , 3.637393755555e2_${k2}$ ]
95
95
96
96
#:elif k1 == "int16"
97
97
98
98
${t1}$, parameter :: x(n) = [0_${k1}$, 1_${k1}$, 2_${k1}$, 4_${k1}$, &
99
99
7_${k1}$, 500_${k1}$]
100
- real(dp) , parameter :: ans(n) = [0.0_dp , 0.0_dp , 0.69314718055994_dp , 3.17805383034794_dp , &
101
- 8.52516136106541_dp , 2.611330458460e3_dp ]
100
+ ${t2}$ , parameter :: ans(n) = [0.0_${k2}$ , 0.0_${k2}$ , 0.69314718055994_${k2}$ , 3.17805383034794_${k2}$ , &
101
+ 8.52516136106541_${k2}$ , 2.611330458460e3_${k2}$ ]
102
102
#:elif k1 == "int32"
103
103
104
104
${t1}$, parameter :: x(n) = [0_${k1}$, 1_${k1}$, 2_${k1}$, 4_${k1}$, &
105
105
12_${k1}$, 7000_${k1}$]
106
- real(dp) , parameter :: ans(n) = [0.0_dp , 0.0_dp , 0.69314718055994_dp , 3.17805383034794_dp , &
107
- 1.998721449566e1_dp , 5.498100377941e4_dp ]
106
+ ${t2}$ , parameter :: ans(n) = [0.0_${k2}$ , 0.0_${k2}$ , 0.69314718055994_${k2}$ , 3.17805383034794_${k2}$ , &
107
+ 1.998721449566e1_${k2}$ , 5.498100377941e4_${k2}$ ]
108
108
#:elif k1 == "int64"
109
109
110
110
${t1}$, parameter :: x(n) = [0_${k1}$, 1_${k1}$, 2_${k1}$, 4_${k1}$, &
111
111
20_${k1}$, 90000_${k1}$]
112
- real(dp) , parameter :: ans(n) = [0.0_dp , 0.0_dp , 0.69314718055994_dp , 3.17805383034794_dp , &
113
- 4.233561646075e1_dp , 9.366874681600e5_dp ]
112
+ ${t2}$ , parameter :: ans(n) = [0.0_${k2}$ , 0.0_${k2}$ , 0.69314718055994_${k2}$ , 3.17805383034794_${k2}$ , &
113
+ 4.233561646075e1_${k2}$ , 9.366874681600e5_${k2}$ ]
114
114
#:endif
115
115
116
116
do i = 1, n
117
117
call check(error, log_factorial(x(i)), ans(i), "Integer kind " &
118
- //"${k1}$ failed", thr = tol_dp , rel = .true.)
118
+ //"${k1}$ failed", thr = tol_${k2}$ , rel = .true.)
119
119
120
120
end do
121
121
end subroutine test_logfact_${t1[0]}$${k1}$
@@ -199,6 +199,7 @@ contains
199
199
200
200
201
201
202
+ #:set k2, t2 = REAL_KINDS[-1], REAL_TYPES[-1]
202
203
subroutine test_loggamma_${t1[0]}$${k1}$(error)
203
204
type(error_type), allocatable, intent(out) :: error
204
205
integer, parameter :: n = 4
@@ -208,24 +209,24 @@ contains
208
209
#:if k1 == "int8"
209
210
210
211
${t1}$, parameter :: x(n) = [1_${k1}$, 2_${k1}$, 10_${k1}$, 47_${k1}$]
211
- real(sp) , parameter :: ans(n) = [0.0 , 0.0 , 1.28018274e1 , 1.32952575e2 ]
212
+ ${t2}$ , parameter :: ans(n) = [0.0_${k2}$ , 0.0_${k2}$ , 1.28018274e1_${k2}$ , 1.32952575e2_${k2}$ ]
212
213
213
214
#:elif k1 == "int16"
214
215
215
216
${t1}$, parameter :: x(n) = [1_${k1}$, 2_${k1}$, 111_${k1}$, 541_${k1}$]
216
- real(sp) , parameter :: ans(n) = [0.0 , 0.0 , 4.10322777e2 , 2.86151221e3 ]
217
+ ${t2}$ , parameter :: ans(n) = [0.0_${k2}$ , 0.0_${k2}$ , 4.10322777e2_${k2}$ , 2.86151221e3_${k2}$ ]
217
218
218
219
#:elif k1 == "int32"
219
220
220
221
${t1}$, parameter :: x(n) = [1_${k1}$, 2_${k1}$, 2021_${k1}$, &
221
222
42031_${k1}$]
222
- real(sp) , parameter :: ans(n) = [0.0 , 0.0 , 1.33586470e4 , 4.05433461e5 ]
223
+ ${t2}$ , parameter :: ans(n) = [0.0_${k2}$ , 0.0_${k2}$ , 1.33586470e4_${k2}$ , 4.05433461e5_${k2}$ ]
223
224
224
225
#:elif k1 == "int64"
225
226
226
227
${t1}$, parameter :: x(n) = [1_${k1}$, 2_${k1}$, 2021_${k1}$, &
227
228
42031_${k1}$]
228
- real(sp) , parameter :: ans(n) = [0.0 , 0.0 , 1.33586470e4 , 4.05433461e5 ]
229
+ ${t2}$ , parameter :: ans(n) = [0.0_${k2}$ , 0.0_${k2}$ , 1.33586470e4_${k2}$ , 4.05433461e5_${k2}$ ]
229
230
230
231
#:elif t1[0] == "c"
231
232
@@ -247,7 +248,7 @@ contains
247
248
do i = 1, n
248
249
249
250
call check(error, log_gamma(x(i)), ans(i), "Integer kind ${k1}$ " &
250
- //"failed", thr = tol_sp , rel = .true.)
251
+ //"failed", thr = tol_${k2}$ , rel = .true.)
251
252
252
253
end do
253
254
0 commit comments