Skip to content

Commit

Permalink
Merge pull request #75 from milankl/mk/irrational
Browse files Browse the repository at this point in the history
conversion from irrationals
  • Loading branch information
milankl committed Oct 11, 2022
2 parents 47bf9f8 + 29a8d76 commit 851e9bb
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/conversions.jl
Original file line number Diff line number Diff line change
Expand Up @@ -188,3 +188,9 @@ Posit8(x::BigFloat) = Posit8(Float64(x))
Posit16(x::BigFloat) = Posit16(Float64(x))
Posit16_1(x::BigFloat) = Posit16_1(Float64(x))
Posit32(x::BigFloat) = Posit32(Float64(x))

# IRRATIONALS
Posit8(x::Irrational) = Posit8(Base.floattype(Posit8)(x))
Posit16(x::Irrational) = Posit16(Base.floattype(Posit16)(x))
Posit16_1(x::Irrational) = Posit16_1(Base.floattype(Posit16_1)(x))
Posit32(x::Irrational) = Posit32(Base.floattype(Posit32)(x))
7 changes: 7 additions & 0 deletions test/conversions.jl
Original file line number Diff line number Diff line change
Expand Up @@ -286,4 +286,11 @@ end
@test 2i == Int(2*T(i))
end
end
end

@testset "Irrationals" begin
@testset for P in (Posit8,Posit16,Posit16_1,Posit32)
tol = Float64(eps(P))
@test π Float64(P(π)) atol=tol rtol=tol
end
end

0 comments on commit 851e9bb

Please sign in to comment.