|
13 | 13 | # software is freely granted, provided that this notice |
14 | 14 | # is preserved. |
15 | 15 | # ==================================================== |
16 | | - |
17 | | -_ldexp_exp(x::Float64, i::T) where T = ccall(("__ldexp_exp", libm), Float64, (Float64, T), x, i) |
18 | | -_ldexp_exp(x::Float32, i::T) where T = ccall(("__ldexp_expf",libm), Float32, (Float32, T), x, i) |
19 | | -_ldexp_exp(x::Real, i) = _ldexp_exp(float(x, i)) |
| 16 | +_ldexp_exp(x::Float64, i::Int32) = ccall(("__ldexp_exp", libm), Float64, (Float64, Int32), x, i) |
| 17 | +_ldexp_exp(x::Float32, i::Int32) = ccall(("__ldexp_expf",libm), Float32, (Float32, Int32), x, i) |
| 18 | +_ldexp_exp(x::Real, i::Int32) = _ldexp_exp(float(x), i) |
20 | 19 |
|
21 | 20 | # Hyperbolic functions |
22 | 21 | # sinh methods |
@@ -76,7 +75,7 @@ function sinh(x::T) where T <: Union{Float32, Float64} |
76 | 75 | end |
77 | 76 | # in d) |
78 | 77 | if absx < H_OVERFLOW_X(T) |
79 | | - return h*T(2)*_ldexp_exp(absx, -1) |
| 78 | + return h*T(2)*_ldexp_exp(absx, Int32(-1)) |
80 | 79 | end |
81 | 80 | # in e) |
82 | 81 | return copysign(T(Inf), x) |
@@ -129,7 +128,7 @@ function cosh(x::T) where T <: Union{Float32, Float64} |
129 | 128 | end |
130 | 129 | # in e) |
131 | 130 | if absx < H_OVERFLOW_X(T) |
132 | | - return _ldexp_exp(absx, -1) |
| 131 | + return _ldexp_exp(absx, Int32(-1)) |
133 | 132 | end |
134 | 133 | # in f) |
135 | 134 | return T(Inf) |
|
0 commit comments