@@ -3,7 +3,7 @@ submodule(stdlib_specialfunctions) stdlib_specialfunctions_activations
3
3
implicit none
4
4
5
5
#:for rk, rt in REAL_KINDS_TYPES
6
- ${rt}$, parameter :: isqrt2_${rk}$ = 1_ ${rk}$ / sqrt(2._${rk}$)
6
+ ${rt}$, parameter :: isqrt2_${rk}$ = 1._ ${rk}$ / sqrt(2._${rk}$)
7
7
#:endfor
8
8
9
9
contains
@@ -37,7 +37,7 @@ elemental ${rt}$ module function elu_${rk}$( x , a ) result ( y )
37
37
if(x >= 0._${rk}$)then
38
38
y = x
39
39
else
40
- y = a * (exp(x) - 1_ ${rk}$)
40
+ y = a * (exp(x) - 1._ ${rk}$)
41
41
end if
42
42
end function
43
43
@@ -46,7 +46,7 @@ elemental ${rt}$ module function elu_grad_${rk}$( x , a ) result ( y )
46
46
${rt}$, intent(in) :: a
47
47
48
48
if(x >= 0._${rk}$)then
49
- y = 1_ ${rk}$
49
+ y = 1._ ${rk}$
50
50
else
51
51
y = a * exp(x)
52
52
end if
@@ -68,7 +68,7 @@ elemental ${rt}$ module function relu_grad_${rk}$( x ) result( y )
68
68
${rt}$, intent(in) :: x
69
69
70
70
if(x > 0._${rk}$)then
71
- y = 1_ ${rk}$
71
+ y = 1._ ${rk}$
72
72
else
73
73
y = 0._${rk}$
74
74
end if
@@ -118,13 +118,13 @@ end function
118
118
elemental ${rt}$ module function sigmoid_${rk}$( x ) result( y )
119
119
${rt}$, intent(in) :: x
120
120
121
- y = 1_ ${rk}$ / (1_ ${rk}$ + exp(-x))
121
+ y = 1._ ${rk}$ / (1._ ${rk}$ + exp(-x))
122
122
end function
123
123
124
124
elemental ${rt}$ module function sigmoid_grad_${rk}$( x ) result( y )
125
125
${rt}$, intent(in) :: x
126
126
127
- y = exp(x) / (1_ ${rk}$ + exp(x))**2
127
+ y = exp(x) / (1._ ${rk}$ + exp(x))**2
128
128
end function
129
129
130
130
#:endfor
@@ -137,7 +137,7 @@ elemental ${rt}$ module function Step_${rk}$( x ) result( y )
137
137
${rt}$, intent(in) :: x
138
138
139
139
if(x > 0._${rk}$)then
140
- y = 1_ ${rk}$
140
+ y = 1._ ${rk}$
141
141
else
142
142
y = 0._${rk}$
143
143
end if
@@ -164,7 +164,7 @@ end function
164
164
elemental ${rt}$ module function tanh_grad_${rk}$( x ) result( y )
165
165
${rt}$, intent(in) :: x
166
166
167
- y = 1_ ${rk}$ - ftanh(x)**2
167
+ y = 1._ ${rk}$ - ftanh(x)**2
168
168
end function
169
169
170
170
#:endfor
@@ -246,7 +246,7 @@ pure function Softmax_grad_r1_${rk}$( x ) result( y )
246
246
${rt}$ :: y(size(x))
247
247
248
248
y = Softmax(x)
249
- y = y * (1_ ${rk}$ - y)
249
+ y = y * (1._ ${rk}$ - y)
250
250
end function
251
251
252
252
pure function Softmax_grad_r2_${rk}$( x , dim ) result( y )
@@ -259,7 +259,7 @@ pure function Softmax_grad_r2_${rk}$( x , dim ) result( y )
259
259
dim_ = 1; if(present(dim)) dim_ = dim
260
260
261
261
y = Softmax(x,dim_)
262
- y = y * (1_ ${rk}$ - y)
262
+ y = y * (1._ ${rk}$ - y)
263
263
end function
264
264
265
265
pure function Softmax_grad_r3_${rk}$( x , dim ) result( y )
@@ -272,7 +272,7 @@ pure function Softmax_grad_r3_${rk}$( x , dim ) result( y )
272
272
dim_ = 1; if(present(dim)) dim_ = dim
273
273
274
274
y = Softmax(x,dim_)
275
- y = y * (1_ ${rk}$ - y)
275
+ y = y * (1._ ${rk}$ - y)
276
276
end function
277
277
278
278
pure function Softmax_grad_r4_${rk}$( x , dim ) result( y )
@@ -285,7 +285,7 @@ pure function Softmax_grad_r4_${rk}$( x , dim ) result( y )
285
285
dim_ = 1; if(present(dim)) dim_ = dim
286
286
287
287
y = Softmax(x,dim_)
288
- y = y * (1_ ${rk}$ - y)
288
+ y = y * (1._ ${rk}$ - y)
289
289
end function
290
290
291
291
#:endfor
@@ -297,13 +297,13 @@ end function
297
297
elemental ${rt}$ module function Softplus_${rk}$( x ) result( y )
298
298
${rt}$, intent(in) :: x
299
299
300
- y = log(exp(x) + 1_ ${rk}$)
300
+ y = log(exp(x) + 1._ ${rk}$)
301
301
end function
302
302
303
303
elemental ${rt}$ module function Softplus_grad_${rk}$( x ) result( y )
304
304
${rt}$, intent(in) :: x
305
305
306
- y = exp(x) / (exp(x) + 1_ ${rk}$)
306
+ y = exp(x) / (exp(x) + 1._ ${rk}$)
307
307
end function
308
308
309
309
#:endfor
@@ -318,9 +318,9 @@ elemental ${rt}$ module function ftanh_${rk}$( x ) result( y )
318
318
${rt}$ :: x2, a, b
319
319
320
320
if (x > 5_${rk}$) then
321
- y = 1_ ${rk}$
321
+ y = 1._ ${rk}$
322
322
elseif (x < -5_${rk}$) then
323
- y = -1_ ${rk}$
323
+ y = -1._ ${rk}$
324
324
else
325
325
x2 = x*x
326
326
a = x * (135135.0_${rk}$ + x2 * (17325.0_${rk}$ + x2 * (378.0_${rk}$ + x2)))
@@ -334,7 +334,7 @@ elemental ${rt}$ module function ferf_${rk}$( x ) result( y )
334
334
${rt}$ :: abs_x
335
335
336
336
abs_x = abs(x)
337
- y = 1_ ${rk}$ - 1_ ${rk}$ / (1+ 0.278393_${rk}$*abs_x + 0.230389_${rk}$*abs_x**2 + 0.000972_${rk}$*abs_x**3 + 0.078108_${rk}$*abs_x**4)**4
337
+ y = 1._ ${rk}$ - 1._ ${rk}$ / (1+ 0.278393_${rk}$*abs_x + 0.230389_${rk}$*abs_x**2 + 0.000972_${rk}$*abs_x**3 + 0.078108_${rk}$*abs_x**4)**4
338
338
y = y * sign(1.0_${rk}$,x)
339
339
end function
340
340
0 commit comments