Skip to content

Commit

Permalink
Merge 9285689 into 6cd37c8
Browse files Browse the repository at this point in the history
  • Loading branch information
antoine-levitt committed Jun 5, 2020
2 parents 6cd37c8 + 9285689 commit 1de4123
Showing 1 changed file with 17 additions and 8 deletions.
25 changes: 17 additions & 8 deletions src/type/constructors.jl
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,23 @@ Double32(x::Int128) = Double32(BigInt(x))
Double16(x::Int128) = Double16(BigInt(x))

# constants for BigFloat precision are > 2*significandbits(DoubleT)

Double64(x::Irrational{S}) where {S} = Double64(BigFloat(x, 250))
Double32(x::Irrational{S}) where {S} = Double32(BigFloat(x, 122))
Double16(x::Irrational{S}) where {S} = Double16(BigFloat(x, 60))

Double64(x::Rational{S}) where {S} = Double64(BigFloat(x, 250))
Double32(x::Rational{S}) where {S} = Double32(BigFloat(x, 122))
Double16(x::Rational{S}) where {S} = Double16(BigFloat(x, 60))
if VERSION >= v"1.1.0"
Double64(x::Irrational{S}) where {S} = Double64(BigFloat(x; precision=250))
Double32(x::Irrational{S}) where {S} = Double32(BigFloat(x; precision=122))
Double16(x::Irrational{S}) where {S} = Double16(BigFloat(x; precision=60))

Double64(x::Rational{S}) where {S} = Double64(BigFloat(x; precision=250))
Double32(x::Rational{S}) where {S} = Double32(BigFloat(x; precision=122))
Double16(x::Rational{S}) where {S} = Double16(BigFloat(x; precision=60))
else
Double64(x::Irrational{S}) where {S} = Double64(BigFloat(x, 250))
Double32(x::Irrational{S}) where {S} = Double32(BigFloat(x, 122))
Double16(x::Irrational{S}) where {S} = Double16(BigFloat(x, 60))

Double64(x::Rational{S}) where {S} = Double64(BigFloat(x, 250))
Double32(x::Rational{S}) where {S} = Double32(BigFloat(x, 122))
Double16(x::Rational{S}) where {S} = Double16(BigFloat(x, 60))
end

Complex{Double64}(x::T) where {T<:AbstractIrrational} = Complex(Double64(x))
Complex{Double32}(x::T) where {T<:AbstractIrrational} = Complex(Double32(x))
Expand Down

0 comments on commit 1de4123

Please sign in to comment.