Skip to content

Extension to support IrrationalConstants #730

@Kolaru

Description

@Kolaru

Reported from JuliaIntervals/IntervalRootFinding.jl#225

Currently, we are not supporting irrational numbers defined in IrraitonalConstants.jl

julia> using IntervalArithmetic, IrrationalConstants

julia> interval(twoπ)
ERROR: ArgumentError: only irrationals from MathConstants are supported

It would be relatively straightforward to support it, by defining our own interval rounding for all of their constants, just like we do for the golden ratio

_round(::Type{T}, ::Irrational{:φ}, r::RoundingMode{:Down}) where {T<:NumTypes} =
__round(T, inf((bareinterval(BigFloat, 1) + sqrt(bareinterval(BigFloat, 5))) / bareinterval(BigFloat, 2)), r)
_round(::Type{T}, ::Irrational{:φ}, r::RoundingMode{:Up}) where {T<:NumTypes} =
__round(T, sup((bareinterval(BigFloat, 1) + sqrt(bareinterval(BigFloat, 5))) / bareinterval(BigFloat, 2)), r)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions