@@ -52,7 +52,7 @@ _lambertw(x::Real, k::Integer, maxits::Integer) = _lambertw(x, Val(Int(k)), maxi
52
52
function _lambertw (x:: T , :: Val{0} , maxits:: Integer ) where T<: Real
53
53
isfinite (x) || return x
54
54
one_t = one (T)
55
- oneoe = - inv ( convert (T, MathConstants . e) ) # The branch point
55
+ oneoe = - T (inve ) # The branch point
56
56
x == oneoe && return - one_t
57
57
oneoe < x || throw (DomainError (x))
58
58
itwo_t = 1 / convert (T, 2 )
68
68
69
69
# Real x, k = -1
70
70
function _lambertw (x:: T , :: Val{-1} , maxits:: Integer ) where T<: Real
71
- oneoe = - inv ( convert (T, MathConstants . e) )
71
+ oneoe = - T (inve )
72
72
x == oneoe && return - one (T) # W approaches -1 as x -> -1/e from above
73
73
oneoe < x || throw (DomainError (x)) # branch domain exludes x < -1/e
74
74
x == zero (T) && return - convert (T, Inf ) # W decreases w/o bound as x -> 0 from below
@@ -86,7 +86,7 @@ _lambertw(z::Complex{<:Integer}, k::Integer, maxits::Integer) = _lambertw(float(
86
86
function _lambertw (z:: Complex{T} , k:: Integer , maxits:: Integer ) where T<: Real
87
87
local w:: Complex{T}
88
88
pointseven = 7 // 10
89
- if abs (z) <= inv ( convert (T, MathConstants . e) )
89
+ if abs (z) <= T (inve )
90
90
if z == 0
91
91
k == 0 && return z
92
92
return complex (- convert (T, Inf ), zero (T))
@@ -238,7 +238,7 @@ function lambertwbp_series_length(x::Real)
238
238
x < 5e-2 && return 32
239
239
x < 1e-1 && return 50
240
240
x < 1.9e-1 && return 100
241
- x > inv (MathConstants . e ) && throw (DomainError (x)) # radius of convergence
241
+ x > typeof (x)(inve ) && throw (DomainError (x)) # radius of convergence
242
242
return 290 # good for x approx .32
243
243
end
244
244
0 commit comments