Skip to content

Commit eb7c5f4

Browse files
authored
add logabstanh fast paths for Float32, Float64
1 parent 4062dba commit eb7c5f4

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/basicfuns.jl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,21 @@ function logabstanh(x::Real)
231231
end
232232
end
233233

234+
function logabstanh(x::Float32)
235+
a = abs(x)
236+
if abs_x < 0.0625f0
237+
return log(a) - (1/3f0) * a^2
238+
end
239+
return log1p(-2/(exp(2*a)+1))
240+
end
241+
function logabstanh(x::Float64)
242+
a = abs(x)
243+
if a < 0x1p-5
244+
return log(a) + evalpoly(a*a, (0, -1/3, 7/90, -62/2835))
245+
end
246+
return log1p(-2/(exp(2*a)+1))
247+
end
248+
234249
"""
235250
$(SIGNATURES)
236251

0 commit comments

Comments
 (0)