IntervalArithmetic.jl icon indicating copy to clipboard operation
IntervalArithmetic.jl copied to clipboard

Library for validated numerics using interval arithmetic

Results 131 IntervalArithmetic.jl issues
Sort by recently updated
recently updated
newest added

Fix #182. I have define a new type alias of all supported type (basically all built-in number type). Therefore this make the implementation the less generic possible, which is also...

MWE: ```julia julia> f(x) = sin(x)^2 f (generic function with 1 method) julia> f(-1..1) [0, 0.708074] julia> f(-1f0..1f0) [-0.708074f0, 0.708074f0] ``` Is this simply a duplicate of #415?

At the moment `nai(Rational)` returns an error ``` julia> nai(Rational) ERROR: InexactError: Int64(NaN) Stacktrace: [1] Int64 @ .\float.jl:723 [inlined] [2] rationalize(#unused#::Type{Int64}, x::Float64, tol::Int64) @ Base .\rational.jl:161 [3] #rationalize#184 @ .\rational.jl:216...

From a discussin started here: https://github.com/JuliaIntervals/IntervalArithmetic.jl/pull/461#discussion_r642653327 Currently decorated interval always check for validity (it is in the `DecoratedInterval` constructor) while for bare interval one need to use `interval` instead of...

The standard says (section 12.12.9 boolean functions on intervals) ``` Each bare interval operation in this subclause shall have a decorated version, where each input of bare interval type is...

e.g. ``` julia> @code_warntype sqrt(1//2..3//4) Variables #self#::Core.Const(sqrt) a@_2::Interval{Rational{Int64}} domain::Interval{Rational{Int64}} a@_4::Interval{Rational{Int64}} Body::Union{Interval{Rational{Int64}}, Interval{Float64}} 1 ─ (a@_4 = a@_2) │ %2 = Core.apply_type(IntervalArithmetic.Interval, $(Expr(:static_parameter, 1)))::Core.Const(Interval{Rational{Int64}}) │ (domain = (%2)(0, IntervalArithmetic.Inf)) │ (a@_4...

It's expected that they're slower, but probably not this slow: ```jl julia> using IntervalArithmetic, BenchmarkTools julia> x = 0.1..0.2; y = 0.3..0.4; julia> @btime $x + $y x 6.534 ns...

I am trying to construct the interval `[1.0000000000000001, 1.0000000000000002]`. Note that the lower bound is parsed to the float `1.0` and the upper bound is the next float. If I...

We should run all tests in `:accurate` mode too and test that they give an inclusion and almost the correct result.