Rethink ..
I believe this has been raised before, but I think a..b should no longer do "magic" rounding.
Apart from the performance aspect, this is to bring this usage into line with that of IntervalSets.jl, ApproxFun.jl etc. Then we can depend on / interoperate with IntervalSets.jl instead of being in conflict with them.
If a user wants the magic rounding, they should use the macros: the string macro or @interval:
julia> I"0.1..0.2"
[0.0999999, 0.100001]
julia> @interval(0.1, 0.2)
[0.0999999, 0.200001]
We should allow @interval 0.1..0.2 too.
cc @lbenet @Kolaru
This would make a .. b an alias of Interval(a, b), which seems very reasonnable, so I'm in favor of this.
Yes, or rather interval(a, b) (the version with checking).
I agree, as long as there is a simple way of getting rounding correctly. I do think that what makes IntervalArithmetic special, is the correct rounding.
Mmmm, isn't #347 precisely the opposite to https://github.com/JuliaMath/IntervalSets.jl/issues/33? In any case, I agree that we should share the meaning of alike symbols.
No, that's what Sheehan was saying in that issue if I'm not mistaken? That it should round up the irrational (but currently doesn't).
I agree with what you say; but if we follow the suggestion discussed here, 0.. pi will not round up. Or do we want also to make an exception with irrationals?
Well, it's not exactly an exception: We have to round them either down or up, so let's choose the one that actually includes the irrational!
But can't you actually argue the same for 0 .. 0.1?
No, because 0.1 is a well-defined exact floating-point number.