Skip to content

Commit 3616cd6

Browse files
Update explog.jl new pows
1 parent 57c9c67 commit 3616cd6

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

src/math/elementary/explog.jl

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ end
5656
return z
5757
end
5858

59-
6059
function mul_by_half(r::DoubleFloat{T}) where {T<:IEEEFloat}
6160
frhi, xphi = frexp(HI(r))
6261
frlo, xplo = frexp(LO(r))
@@ -120,20 +119,20 @@ function Base.:(^)(r::DoubleFloat{T}, n::Int) where {T<:IEEEFloat}
120119
return s
121120
end
122121

123-
function Base.:(^)(r::DoubleFloat{T}, n::DoubleFloat{T}) where {T<:IEEEFloat}
124-
if isinteger(n)
125-
return r^Int(n)
126-
else
127-
return exp(n * log(r))
128-
end
122+
function Base.:(^)(r::DoubleFloat{T}, n::DoubleFloat{T}) where {T <: IEEEFloat}
123+
if isinteger(n)
124+
return r^Int64(Float64(n)) # convert n to Float64 first
125+
else
126+
return exp(n * log(r))
127+
end
129128
end
130129

131130
function Base.:(^)(r::Int, n::DoubleFloat{T}) where {T<:IEEEFloat}
132-
if isinteger(n)
133-
return r^Int(n)
134-
else
135-
return exp(n * log(r))
136-
end
131+
if isinteger(n)
132+
return r^Int64(Float64(n)) # convert n to Float64 first
133+
else
134+
return exp(n * log(r))
135+
end
137136
end
138137

139138
function calc_exp(a::DoubleFloat{T}) where {T<:IEEEFloat}

0 commit comments

Comments
 (0)