From 517473d88b049d09ab708faff3c87308fb07599c Mon Sep 17 00:00:00 2001 From: "David P. Sanders" Date: Mon, 3 Sep 2018 12:36:22 -0500 Subject: [PATCH] Revert "Get IntervalArithmetic.jl ready for Julia 1.0 (#194)" This reverts commit 33ab553c5ef75bdbc7909a136121c093d80c000a. --- .travis.yml | 11 +- NEWS.md | 2 +- REQUIRE | 13 +- appveyor.yml | 53 +- docs/src/usage.md | 2 +- src/IntervalArithmetic.jl | 37 +- src/bisect.jl | 2 +- src/decorations/functions.jl | 9 +- src/display.jl | 8 +- src/intervals/conversion.jl | 1 - src/intervals/rounding.jl | 8 +- src/intervals/trigonometric.jl | 47 +- src/multidim/arithmetic.jl | 12 +- src/multidim/intervalbox.jl | 13 +- src/parsing.jl | 6 +- test/ITF1788_tests/libieeep1788_tests_bool.jl | 6 +- .../libieeep1788_tests_cancel.jl | 6 +- test/ITF1788_tests/libieeep1788_tests_elem.jl | 1020 +++++++++-------- .../libieeep1788_tests_mul_rev.jl | 6 +- test/ITF1788_tests/libieeep1788_tests_num.jl | 6 +- .../libieeep1788_tests_overlap.jl | 6 +- .../libieeep1788_tests_rec_bool.jl | 7 +- test/ITF1788_tests/libieeep1788_tests_rev.jl | 6 +- test/ITF1788_tests/libieeep1788_tests_set.jl | 6 +- test/decoration_tests/decoration_tests.jl | 10 +- test/display_tests/display.jl | 20 +- test/interval_tests/bisect.jl | 2 +- test/interval_tests/complex.jl | 11 +- test/interval_tests/consistency.jl | 8 +- test/interval_tests/construction.jl | 10 +- test/interval_tests/hyperbolic.jl | 7 +- test/interval_tests/linear_algebra.jl | 7 +- test/interval_tests/loops.jl | 6 +- test/interval_tests/non_BigFloat.jl | 6 +- test/interval_tests/numeric.jl | 10 +- test/interval_tests/parsing.jl | 6 +- test/interval_tests/rounding.jl | 6 +- test/interval_tests/rounding_macros.jl | 6 +- test/interval_tests/set_operations.jl | 6 +- test/interval_tests/trig.jl | 142 +-- test/multidim_tests/multidim.jl | 32 +- test/runtests.jl | 2 +- 42 files changed, 841 insertions(+), 749 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4d27c6253..508bc73b1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,18 +10,17 @@ os: - osx julia: - - 0.7 - - 1.0 + - 0.6 - nightly -#matrix: -# allow_failures: -# - julia: nightly +matrix: + allow_failures: + - julia: nightly notifications: email: false after_success: - - julia -e 'using Pkg; Pkg.add("Documenter")' + - julia -e 'Pkg.add("Documenter")' - julia -e 'cd(Pkg.dir("IntervalArithmetic")); include(joinpath("docs", "make.jl"))' - julia -e 'cd(Pkg.dir("IntervalArithmetic")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder()); Codecov.submit(process_folder())' diff --git a/NEWS.md b/NEWS.md index c44d26231..459a80c3b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -146,7 +146,7 @@ setdisplay(:full) - `bisect` function in `ValidatedNumerics.RootFinding` for bisecting `Interval`s and `IntervalBox`es #217 ### Other -- Many tests use `Test` instead of `FactCheck` #205 +- Many tests use `Base.Test` instead of `FactCheck` #205 - Miscellaneous bugfixes ## v0.6 diff --git a/REQUIRE b/REQUIRE index aeb1c27a0..dfac6f9db 100644 --- a/REQUIRE +++ b/REQUIRE @@ -1,6 +1,7 @@ -julia 0.7 -CRlibm 0.7 -StaticArrays 0.8 -FastRounding 0.1.2 -SetRounding 0.2 -RecipesBase 0.5 +julia 0.6 +CRlibm 0.6 +StaticArrays 0.5 +FastRounding 0.0.4 +AdjacentFloats 0.0.5 +RecipesBase +Compat 0.69.0 diff --git a/appveyor.yml b/appveyor.yml index c2588f1d8..95631a9fc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,23 +1,20 @@ environment: matrix: - - julia_version: 0.7 - - julia_version: 1 - - julia_version: nightly - -platform: - - x86 # 32-bit - - x64 # 64-bit - -# # Uncomment the following lines to allow failures on nightly julia -# # (tests will run but not make your overall status red) -# matrix: -# allow_failures: -# - julia_version: nightly + - JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.6/julia-0.6-latest-win32.exe" + - JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.6-latest-win64.exe" + - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe" + - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe" + +# uncomment the following lines to allow failures on nightly julia +# (tests will run but not make your overall status red) +matrix: + allow_failures: + - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe" + - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe" branches: only: - master - - /release-.*/ notifications: - provider: Email @@ -26,18 +23,24 @@ notifications: on_build_status_changed: false install: - - ps: iex ((new-object net.webclient).DownloadString("https://raw.githubusercontent.com/JuliaCI/Appveyor.jl/version-1/bin/install.ps1")) + - ps: "[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12" +# If there's a newer build queued for the same PR, cancel this one + - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod ` + https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | ` + Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { ` + throw "There are newer queued builds for this pull request, failing early." } +# Download most recent Julia Windows binary + - ps: (new-object net.webclient).DownloadFile( + $env:JULIA_URL, + "C:\projects\julia-binary.exe") +# Run installer silently, output to C:\projects\julia + - C:\projects\julia-binary.exe /S /D=C:\projects\julia build_script: - - echo "%JL_BUILD_SCRIPT%" - - C:\julia\bin\julia -e "%JL_BUILD_SCRIPT%" +# Need to convert from shallow to complete for Pkg.clone to work + - IF EXIST .git\shallow (git fetch --unshallow) + - C:\projects\julia\bin\julia -e "versioninfo(); + Pkg.clone(pwd(), \"IntervalArithmetic\"); Pkg.build(\"IntervalArithmetic\")" test_script: - - echo "%JL_TEST_SCRIPT%" - - C:\julia\bin\julia -e "%JL_TEST_SCRIPT%" - -# # Uncomment to support code coverage upload. Should only be enabled for packages -# # which would have coverage gaps without running on Windows -# on_success: -# - echo "%JL_CODECOV_SCRIPT%" -# - C:\julia\bin\julia -e "%JL_CODECOV_SCRIPT%" +- C:\projects\julia\bin\julia -e "Pkg.test(\"IntervalArithmetic\")" diff --git a/docs/src/usage.md b/docs/src/usage.md index 34f034cc0..8edd70c5a 100644 --- a/docs/src/usage.md +++ b/docs/src/usage.md @@ -293,7 +293,7 @@ to an `Interval{BigFloat}`, and then use routines from the `MPFR` library - `^` - `exp2`, `exp10` -- `atan`, `atanh` +- `atan2`, `atanh` Note, in particular, that in order to obtain correct rounding for the power function (`^`), intervals are converted to and from `BigFloat`; this implies a significant slow-down in this case. diff --git a/src/IntervalArithmetic.jl b/src/IntervalArithmetic.jl index 31c37ae2f..910ca1b48 100644 --- a/src/IntervalArithmetic.jl +++ b/src/IntervalArithmetic.jl @@ -5,16 +5,20 @@ __precompile__(true) module IntervalArithmetic import CRlibm - using StaticArrays using FastRounding -using SetRounding - -using Markdown - -using LinearAlgebra -import LinearAlgebra: ×, dot -export ×, dot +using AdjacentFloats +using Compat + +if VERSION <= v"0.7.0-DEV.2004" + import Base: ×, dot + import Compat.Sys + export ⊇ +else + using Markdown + import Base: ⊇ + import LinearAlgebra: ×, dot +end import Base: @@ -23,26 +27,24 @@ import Base: in, zero, one, eps, typemin, typemax, abs, abs2, real, min, max, sqrt, exp, log, sin, cos, tan, inv, exp2, exp10, log2, log10, - asin, acos, atan, + asin, acos, atan, atan2, sinh, cosh, tanh, asinh, acosh, atanh, union, intersect, isempty, convert, promote_rule, eltype, size, BigFloat, float, widen, big, - ∩, ∪, ⊆, ⊇, eps, + ∩, ∪, ⊆, eps, floor, ceil, trunc, sign, round, expm1, log1p, precision, isfinite, isnan, isinf, iszero, - show, + show, showall, isinteger, setdiff, parse, hash import Base: # for IntervalBox broadcast, length, getindex, setindex, - iterate, eltype - -import .Broadcast: broadcasted + start, next, done, eltype export AbstractInterval, Interval, @@ -65,13 +67,6 @@ export export setindex # re-export from StaticArrays for IntervalBox - -if VERSION < v"1.0-dev" - import Base.showall -end - -export showall - import Base: rounding, setrounding, setprecision diff --git a/src/bisect.jl b/src/bisect.jl index 607b0e809..2e8125627 100644 --- a/src/bisect.jl +++ b/src/bisect.jl @@ -21,7 +21,7 @@ end Bisect the `IntervalBox` `X` at position α ∈ [0,1] along its longest side. """ function bisect(X::IntervalBox, α=where_bisect) - i = argmax(diam.(X)) # find longest side + i = indmax(diam.(X)) # find longest side return bisect(X, i, α) end diff --git a/src/decorations/functions.jl b/src/decorations/functions.jl index 1d41070e1..2df84a532 100644 --- a/src/decorations/functions.jl +++ b/src/decorations/functions.jl @@ -1,8 +1,5 @@ # This file is part of the IntervalArithmetic.jl package; MIT licensed -Base.literal_pow(::typeof(^), x::DecoratedInterval{T}, ::Val{p}) where {T,p} = x^p - - # zero, one zero(a::DecoratedInterval{T}) where T<:Real = DecoratedInterval(zero(T)) zero(::Type{DecoratedInterval{T}}) where T<:Real = DecoratedInterval(zero(T)) @@ -258,7 +255,7 @@ following the IEEE-1788 Standard (see Sect. 11.7.1, pp 47). """ union -## Functions on unrestricted domains; tan and atan are treated separately +## Functions on unrestricted domains; tan and atan2 are treated separately unrestricted_functions =( :exp, :exp2, :exp10, :sin, :cos, @@ -293,10 +290,10 @@ function decay(a::DECORATION) ill end -function atan(yy::DecoratedInterval{T}, xx::DecoratedInterval{T}) where T +function atan2(yy::DecoratedInterval{T}, xx::DecoratedInterval{T}) where T x = interval_part(xx) y = interval_part(yy) - r = atan(y, x) + r = atan2(y, x) d = decoration(r) d = min(d, decoration(xx), decoration(yy)) # Check cases when decoration is trv and decays (from com or dac) diff --git a/src/display.jl b/src/display.jl index 7ca94be69..5df34fefc 100644 --- a/src/display.jl +++ b/src/display.jl @@ -109,7 +109,7 @@ end function round_string(x::BigFloat, digits::Int, r::RoundingMode) lng = digits + Int32(8) - buf = Array{UInt8}(undef, lng + 1) + @compat buf = Array{UInt8}(undef, lng + 1) lng = ccall((:mpfr_snprintf,:libmpfr), Int32, (Ptr{UInt8}, Culong, Ptr{UInt8}, Int32, Ref{BigFloat}...), @@ -117,7 +117,7 @@ function round_string(x::BigFloat, digits::Int, r::RoundingMode) repr = unsafe_string(pointer(buf)) - repr = replace(repr, "nan" => "NaN") + @compat repr = replace(repr, "nan" => "NaN") return repr end @@ -144,8 +144,8 @@ function basic_representation(a::Interval, format=nothing) bb = round_string(a.hi, sigfigs, RoundUp) output = "[$aa, $bb]" - output = replace(output, "inf" => "∞") - output = replace(output, "Inf" => "∞") + @compat output = replace(output, "inf" => "∞") + @compat output = replace(output, "Inf" => "∞") elseif format == :full output = "Interval($(a.lo), $(a.hi))" diff --git a/src/intervals/conversion.jl b/src/intervals/conversion.jl index ed0be660a..7a1a92b51 100644 --- a/src/intervals/conversion.jl +++ b/src/intervals/conversion.jl @@ -13,7 +13,6 @@ promote_rule(::Type{BigFloat}, ::Type{Interval{T}}) where T<:Real = # convert methods: -convert(::Type{Interval{T}}, x::Bool) where {T} = convert(Interval{T}, Int(x)) convert(::Type{Interval{T}}, x::Real) where {T} = atomic(Interval{T}, x) convert(::Type{Interval{T}}, x::T) where {T<:Real} = Interval{T}(x) convert(::Type{Interval{T}}, x::Interval{T}) where {T} = x diff --git a/src/intervals/rounding.jl b/src/intervals/rounding.jl index 155ae935c..5de0c97c3 100644 --- a/src/intervals/rounding.jl +++ b/src/intervals/rounding.jl @@ -118,13 +118,13 @@ for mode in (:Down, :Up) mode2 = Symbol("Round", mode) if mode == :Down - directed = :prevfloat + directed = :prev_float else - directed = :nextfloat + directed = :next_float end # binary functions: - for f in (:+, :-, :*, :/, :atan) + for f in (:+, :-, :*, :/, :atan2) @eval function $f(::IntervalRounding{:slow}, a::T, b::T, $mode1) where T<:AbstractFloat @@ -233,7 +233,7 @@ function _setrounding(::Type{Interval}, rounding_type::Symbol) roundtype = IntervalRounding{:slow}() end - for f in (:^, :atan) + for f in (:^, :atan2) @eval $f(a::T, b::T, r::RoundingMode) where {T<:AbstractFloat} = $f($roundtype, a, b, r) end diff --git a/src/intervals/trigonometric.jl b/src/intervals/trigonometric.jl index 80e266eee..4fbe5230b 100644 --- a/src/intervals/trigonometric.jl +++ b/src/intervals/trigonometric.jl @@ -17,9 +17,9 @@ half_pi(x::T) where {T<:AbstractFloat} = half_pi(T) two_pi(::Type{Float64}) = multiply_by_positive_constant(2.0, pi_interval(Float64)) two_pi(::Type{T}) where {T} = 2 * pi_interval(T) -range_atan(::Type{T}) where {T<:Real} = Interval(-(pi_interval(T).hi), pi_interval(T).hi) -half_range_atan(::Type{T}) where {T} = (temp = half_pi(T); Interval(-(temp.hi), temp.hi) ) -pos_range_atan(::Type{T}) where {T<:Real} = Interval(zero(T), pi_interval(T).hi) +range_atan2(::Type{T}) where {T<:Real} = Interval(-(pi_interval(T).hi), pi_interval(T).hi) +half_range_atan2(::Type{T}) where {T} = (temp = half_pi(T); Interval(-(temp.hi), temp.hi) ) +pos_range_atan2(::Type{T}) where {T<:Real} = Interval(zero(T), pi_interval(T).hi) """Finds the quadrant(s) corresponding to a given floating-point @@ -194,16 +194,17 @@ function atan(a::Interval{T}) where T end -#atan{T<:Real, S<:Real}(y::Interval{T}, x::Interval{S}) = atan(promote(y, x)...) +#atan2{T<:Real, S<:Real}(y::Interval{T}, x::Interval{S}) = atan2(promote(y, x)...) -function atan(y::Interval{Float64}, x::Interval{Float64}) +function atan2(y::Interval{Float64}, x::Interval{Float64}) (isempty(y) || isempty(x)) && return emptyinterval(Float64) - atomic(Interval{Float64}, atan(big53(y), big53(x))) + atomic(Interval{Float64}, atan2(big53(y), big53(x))) end -function atan(y::Interval{BigFloat}, x::Interval{BigFloat}) + +function atan2(y::Interval{BigFloat}, x::Interval{BigFloat}) (isempty(y) || isempty(x)) && return emptyinterval(BigFloat) T = BigFloat @@ -222,47 +223,47 @@ function atan(y::Interval{BigFloat}, x::Interval{BigFloat}) y == zero(y) && return emptyinterval(T) y.lo ≥ zero(T) && return half_pi(T) y.hi ≤ zero(T) && return -half_pi(T) - return half_range_atan(T) + return half_range_atan2(T) elseif x.lo > zero(T) y == zero(y) && return y y.lo ≥ zero(T) && - return @round(atan(y.lo, x.hi), atan(y.hi, x.lo)) # refinement lo bound + return @round(atan2(y.lo, x.hi), atan2(y.hi, x.lo)) # refinement lo bound y.hi ≤ zero(T) && - return @round(atan(y.lo, x.lo), atan(y.hi, x.hi)) - return @round(atan(y.lo, x.lo), atan(y.hi, x.lo)) + return @round(atan2(y.lo, x.lo), atan2(y.hi, x.hi)) + return @round(atan2(y.lo, x.lo), atan2(y.hi, x.lo)) elseif x.hi < zero(T) y == zero(y) && return pi_interval(T) y.lo ≥ zero(T) && - return @round(atan(y.hi, x.hi), atan(y.lo, x.lo)) + return @round(atan2(y.hi, x.hi), atan2(y.lo, x.lo)) y.hi < zero(T) && - return @round(atan(y.hi, x.lo), atan(y.lo, x.hi)) - return range_atan(T) + return @round(atan2(y.hi, x.lo), atan2(y.lo, x.hi)) + return range_atan2(T) else # zero(T) ∈ x if x.lo == zero(T) y == zero(y) && return y - y.lo ≥ zero(T) && return @round(atan(y.lo, x.hi), half_range_atan(BigFloat).hi) + y.lo ≥ zero(T) && return @round(atan2(y.lo, x.hi), half_range_atan2(BigFloat).hi) - y.hi ≤ zero(T) && return @round(half_range_atan(BigFloat).lo, atan(y.hi, x.hi)) - return half_range_atan(T) + y.hi ≤ zero(T) && return @round(half_range_atan2(BigFloat).lo, atan2(y.hi, x.hi)) + return half_range_atan2(T) elseif x.hi == zero(T) y == zero(y) && return pi_interval(T) - y.lo ≥ zero(T) && return @round(half_pi(BigFloat).lo, atan(y.lo, x.lo)) - y.hi < zero(T) && return @round(atan(y.hi, x.lo), -(half_pi(BigFloat).lo)) - return range_atan(T) + y.lo ≥ zero(T) && return @round(half_pi(BigFloat).lo, atan2(y.lo, x.lo)) + y.hi < zero(T) && return @round(atan2(y.hi, x.lo), -(half_pi(BigFloat).lo)) + return range_atan2(T) else y.lo ≥ zero(T) && - return @round(atan(y.lo, x.hi), atan(y.lo, x.lo)) + return @round(atan2(y.lo, x.hi), atan2(y.lo, x.lo)) y.hi < zero(T) && - return @round(atan(y.hi, x.lo), atan(y.hi, x.hi)) - return range_atan(T) + return @round(atan2(y.hi, x.lo), atan2(y.hi, x.hi)) + return range_atan2(T) end end diff --git a/src/multidim/arithmetic.jl b/src/multidim/arithmetic.jl index 6c61f971a..b14547137 100644 --- a/src/multidim/arithmetic.jl +++ b/src/multidim/arithmetic.jl @@ -21,15 +21,9 @@ wrap(v::SVector{N,T} where {N,T<:Interval}) = IntervalBox(v) wrap(v) = v -Base.size(X::IntervalBox{2,Float64}) = (2,) -# -@inline broadcasted(f, X::IntervalBox) = wrap(f.(X.v)) -@inline broadcasted(f, X::IntervalBox, Y::IntervalBox) = wrap(f.(X.v, Y.v)) -@inline broadcasted(f, X::IntervalBox, y) = wrap(f.(X.v, y)) -@inline broadcasted(f, x, Y::IntervalBox) = wrap(f.(x, Y.v)) - # for literal_pow: -@inline broadcasted(f, x, y, Z::IntervalBox) = wrap(f.(x, y, Z.v)) -@inline broadcasted(f, x, Y::IntervalBox, z) = wrap(f.(x, Y.v, z)) +@inline Base.broadcast(f, X::IntervalBox) = wrap(f.(X.v)) +@inline Base.broadcast(f, X::IntervalBox, Y::IntervalBox) = wrap(f.(X.v, Y.v)) +@inline Base.broadcast(f, X::IntervalBox, y) = wrap(f.(X.v, y)) for op in (:+, :-, :∩, :∪, :⊆, :isinterior, :dot, :setdiff, :×) @eval $(op)(a::SVector, b::IntervalBox) = $(op)(IntervalBox(a), b) diff --git a/src/multidim/intervalbox.jl b/src/multidim/intervalbox.jl index 9cdf8cc67..422279977 100644 --- a/src/multidim/intervalbox.jl +++ b/src/multidim/intervalbox.jl @@ -23,13 +23,12 @@ setindex(X::IntervalBox, y, i) = IntervalBox( setindex(X.v, y, i) ) # iteration: -iterate(X::IntervalBox{N,T}) where {N, T} = (X[1], 1) -function iterate(X::IntervalBox{N,T}, state) where {N,T} - (state == N) && return nothing +start(X::IntervalBox{N,T}) where {N,T} = 1 - return X[state+1], state+1 -end +next(X::IntervalBox{N,T}, state) where {N,T} = (X[state], state+1) + +done(X::IntervalBox{N,T}, state) where {N,T} = state > N eltype(::Type{IntervalBox{N,T}}) where {N,T} = Interval{T} # Note that this is defined for the type @@ -91,8 +90,8 @@ contains_zero(X::IntervalBox) = all(contains_zero.(X)) ×(a::IntervalBox, b::Interval) = IntervalBox(a.v..., b) ×(a::IntervalBox, b::IntervalBox) = IntervalBox(a.v..., b.v...) -IntervalBox(x::Interval, ::Val{n}) where {n} = IntervalBox(SVector(ntuple( _ -> x, Val(n) ))) +IntervalBox(x::Interval, ::Type{Val{n}}) where {n} = IntervalBox(SVector(ntuple(i->x, Val{n}))) -IntervalBox(x::Interval, n::Int) = IntervalBox(x, Val(n)) +IntervalBox(x::Interval, n::Int) = IntervalBox(x, Val{n}) dot(x::IntervalBox, y::IntervalBox) = dot(x.v, y.v) diff --git a/src/parsing.jl b/src/parsing.jl index ab52e13a7..e50082999 100644 --- a/src/parsing.jl +++ b/src/parsing.jl @@ -41,7 +41,7 @@ Parse a string as an interval. Formats allowed include: function parse(::Type{Interval{T}}, s::AbstractString) where T # Check version! - if !(occursin("[", s)) # string like "3.1" + if !(@compat occursin("[", s)) # string like "3.1" m = match(r"(.*)±(.*)", s) if m != nothing @@ -81,8 +81,8 @@ function parse(::Type{Interval{T}}, s::AbstractString) where T end - expr1 = Meta.parse(lo) - expr2 = Meta.parse(hi) + @compat expr1 = Meta.parse(lo) + @compat expr2 = Meta.parse(hi) interval = eval(make_interval(T, expr1, [expr2])) diff --git a/test/ITF1788_tests/libieeep1788_tests_bool.jl b/test/ITF1788_tests/libieeep1788_tests_bool.jl index 7a172981e..0b4c2209b 100644 --- a/test/ITF1788_tests/libieeep1788_tests_bool.jl +++ b/test/ITF1788_tests/libieeep1788_tests_bool.jl @@ -20,7 +20,11 @@ #Language imports #Test library imports -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end #Arithmetic library imports using IntervalArithmetic diff --git a/test/ITF1788_tests/libieeep1788_tests_cancel.jl b/test/ITF1788_tests/libieeep1788_tests_cancel.jl index 69fc67659..ff653593b 100644 --- a/test/ITF1788_tests/libieeep1788_tests_cancel.jl +++ b/test/ITF1788_tests/libieeep1788_tests_cancel.jl @@ -20,7 +20,11 @@ #Language imports #Test library imports -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end #Arithmetic library imports using IntervalArithmetic diff --git a/test/ITF1788_tests/libieeep1788_tests_elem.jl b/test/ITF1788_tests/libieeep1788_tests_elem.jl index e26df7722..2b95cd4f5 100644 --- a/test/ITF1788_tests/libieeep1788_tests_elem.jl +++ b/test/ITF1788_tests/libieeep1788_tests_elem.jl @@ -20,7 +20,11 @@ #Language imports #Test library imports -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end #Arithmetic library imports using IntervalArithmetic @@ -3799,515 +3803,515 @@ end @test decoration(atan(DecoratedInterval(Interval(-0x1.fd219490eaac1p+38, -0x1.1af1c9d74f06dp+9), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54440cebp+0, -0x1.91abe5c1e4c6dp+0), com)) end -@testset "minimal_atan_test" begin - @test atan(∅, ∅) == ∅ - @test atan(∅, entireinterval(Float64)) == ∅ - @test atan(∅, Interval(0.0, 0.0)) == ∅ - @test atan(∅, Interval(-0.0, 0.0)) == ∅ - @test atan(∅, Interval(0.0, -0.0)) == ∅ - @test atan(∅, Interval(-0.0, -0.0)) == ∅ - @test atan(∅, Interval(-2.0, -0.1)) == ∅ - @test atan(∅, Interval(-2.0, 0.0)) == ∅ - @test atan(∅, Interval(-2.0, -0.0)) == ∅ - @test atan(∅, Interval(-2.0, 1.0)) == ∅ - @test atan(∅, Interval(0.0, 1.0)) == ∅ - @test atan(∅, Interval(-0.0, 1.0)) == ∅ - @test atan(∅, Interval(0.1, 1.0)) == ∅ - @test atan(entireinterval(Float64), ∅) == ∅ - @test atan(entireinterval(Float64), entireinterval(Float64)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(entireinterval(Float64), Interval(0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(entireinterval(Float64), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(entireinterval(Float64), Interval(-0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(entireinterval(Float64), Interval(-0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(entireinterval(Float64), Interval(-2.0, -0.1)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(entireinterval(Float64), Interval(-2.0, 0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(entireinterval(Float64), Interval(-2.0, -0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(entireinterval(Float64), Interval(-2.0, 1.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(entireinterval(Float64), Interval(0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(entireinterval(Float64), Interval(-0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(entireinterval(Float64), Interval(0.1, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.0, 0.0), ∅) == ∅ - @test atan(Interval(0.0, 0.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, 0.0), Interval(0.0, 0.0)) == ∅ - @test atan(Interval(0.0, 0.0), Interval(-0.0, 0.0)) == ∅ - @test atan(Interval(0.0, 0.0), Interval(0.0, -0.0)) == ∅ - @test atan(Interval(0.0, 0.0), Interval(-0.0, -0.0)) == ∅ - @test atan(Interval(0.0, 0.0), Interval(-2.0, -0.1)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, 0.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, 0.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, 0.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, 0.0), Interval(0.0, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(0.0, 0.0), Interval(-0.0, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(0.0, 0.0), Interval(0.1, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(-0.0, 0.0), ∅) == ∅ - @test atan(Interval(-0.0, 0.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, 0.0), Interval(0.0, 0.0)) == ∅ - @test atan(Interval(-0.0, 0.0), Interval(-0.0, 0.0)) == ∅ - @test atan(Interval(-0.0, 0.0), Interval(0.0, -0.0)) == ∅ - @test atan(Interval(-0.0, 0.0), Interval(-0.0, -0.0)) == ∅ - @test atan(Interval(-0.0, 0.0), Interval(-2.0, -0.1)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, 0.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, 0.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, 0.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, 0.0), Interval(0.0, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(-0.0, 0.0), Interval(-0.0, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(-0.0, 0.0), Interval(0.1, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(0.0, -0.0), ∅) == ∅ - @test atan(Interval(0.0, -0.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, -0.0), Interval(0.0, 0.0)) == ∅ - @test atan(Interval(0.0, -0.0), Interval(-0.0, 0.0)) == ∅ - @test atan(Interval(0.0, -0.0), Interval(0.0, -0.0)) == ∅ - @test atan(Interval(0.0, -0.0), Interval(-0.0, -0.0)) == ∅ - @test atan(Interval(0.0, -0.0), Interval(-2.0, -0.1)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, -0.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, -0.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, -0.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, -0.0), Interval(0.0, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(0.0, -0.0), Interval(-0.0, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(0.0, -0.0), Interval(0.1, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(-0.0, -0.0), ∅) == ∅ - @test atan(Interval(-0.0, -0.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, -0.0), Interval(0.0, 0.0)) == ∅ - @test atan(Interval(-0.0, -0.0), Interval(-0.0, 0.0)) == ∅ - @test atan(Interval(-0.0, -0.0), Interval(0.0, -0.0)) == ∅ - @test atan(Interval(-0.0, -0.0), Interval(-0.0, -0.0)) == ∅ - @test atan(Interval(-0.0, -0.0), Interval(-2.0, -0.1)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, -0.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, -0.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, -0.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, -0.0), Interval(0.0, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(-0.0, -0.0), Interval(-0.0, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(-0.0, -0.0), Interval(0.1, 1.0)) == Interval(0.0, 0.0) - @test atan(Interval(-2.0, -0.1), ∅) == ∅ - @test atan(Interval(-2.0, -0.1), entireinterval(Float64)) == Interval(-0x1.921fb54442d19p+1, 0.0) - @test atan(Interval(-2.0, -0.1), Interval(0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, -0.1), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, -0.1), Interval(-0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, -0.1), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, -0.1), Interval(-2.0, -0.1)) == Interval(-0x1.8bbaabde5e29cp+1, -0x1.9ee9c8100c211p+0) - @test atan(Interval(-2.0, -0.1), Interval(-2.0, 0.0)) == Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, -0.1), Interval(-2.0, -0.0)) == Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, -0.1), Interval(-2.0, 1.0)) == Interval(-0x1.8bbaabde5e29cp+1, -0x1.983e282e2cc4cp-4) - @test atan(Interval(-2.0, -0.1), Interval(0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4) - @test atan(Interval(-2.0, -0.1), Interval(-0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4) - @test atan(Interval(-2.0, -0.1), Interval(0.1, 1.0)) == Interval(-0x1.8555a2787982p+0, -0x1.983e282e2cc4cp-4) - @test atan(Interval(-2.0, 0.0), ∅) == ∅ - @test atan(Interval(-2.0, 0.0), entireinterval(Float64)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, 0.0), Interval(0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, 0.0), Interval(-0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, 0.0), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, 0.0), Interval(-0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, 0.0), Interval(-2.0, -0.1)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, 0.0), Interval(-2.0, 0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, 0.0), Interval(-2.0, -0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, 0.0), Interval(-2.0, 1.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, 0.0), Interval(0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0.0) - @test atan(Interval(-2.0, 0.0), Interval(-0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0.0) - @test atan(Interval(-2.0, 0.0), Interval(0.1, 1.0)) == Interval(-0x1.8555a2787982p+0, 0.0) - @test atan(Interval(-2.0, -0.0), ∅) == ∅ - @test atan(Interval(-2.0, -0.0), entireinterval(Float64)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, -0.0), Interval(0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, -0.0), Interval(-0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, -0.0), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, -0.0), Interval(-0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) - @test atan(Interval(-2.0, -0.0), Interval(-2.0, -0.1)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, -0.0), Interval(-2.0, 0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, -0.0), Interval(-2.0, -0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, -0.0), Interval(-2.0, 1.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, -0.0), Interval(0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0.0) - @test atan(Interval(-2.0, -0.0), Interval(-0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0.0) - @test atan(Interval(-2.0, -0.0), Interval(0.1, 1.0)) == Interval(-0x1.8555a2787982p+0, 0.0) - @test atan(Interval(-2.0, 1.0), ∅) == ∅ - @test atan(Interval(-2.0, 1.0), entireinterval(Float64)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, 1.0), Interval(0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(-2.0, 1.0), Interval(-0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(-2.0, 1.0), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(-2.0, 1.0), Interval(-0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(-2.0, 1.0), Interval(-2.0, -0.1)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, 1.0), Interval(-2.0, 0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, 1.0), Interval(-2.0, -0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, 1.0), Interval(-2.0, 1.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) - @test atan(Interval(-2.0, 1.0), Interval(0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(-2.0, 1.0), Interval(-0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(-2.0, 1.0), Interval(0.1, 1.0)) == Interval(-0x1.8555a2787982p+0, 0x1.789bd2c160054p+0) - @test atan(Interval(-0.0, 1.0), ∅) == ∅ - @test atan(Interval(-0.0, 1.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, 1.0), Interval(0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(-0.0, 1.0), Interval(-0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(-0.0, 1.0), Interval(0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(-0.0, 1.0), Interval(-0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(-0.0, 1.0), Interval(-2.0, -0.1)) == Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, 1.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, 1.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, 1.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(-0.0, 1.0), Interval(0.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+0) - @test atan(Interval(-0.0, 1.0), Interval(-0.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+0) - @test atan(Interval(-0.0, 1.0), Interval(0.1, 1.0)) == Interval(0.0, 0x1.789bd2c160054p+0) - @test atan(Interval(0.0, 1.0), ∅) == ∅ - @test atan(Interval(0.0, 1.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, 1.0), Interval(0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.0, 1.0), Interval(-0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.0, 1.0), Interval(0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.0, 1.0), Interval(-0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.0, 1.0), Interval(-2.0, -0.1)) == Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, 1.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, 1.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, 1.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(0.0, 1.0), Interval(0.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.0, 1.0), Interval(-0.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.0, 1.0), Interval(0.1, 1.0)) == Interval(0.0, 0x1.789bd2c160054p+0) - @test atan(Interval(0.1, 1.0), ∅) == ∅ - @test atan(Interval(0.1, 1.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) - @test atan(Interval(0.1, 1.0), Interval(0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.1, 1.0), Interval(-0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.1, 1.0), Interval(0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.1, 1.0), Interval(-0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) - @test atan(Interval(0.1, 1.0), Interval(-2.0, -0.1)) == Interval(0x1.aba397c7259ddp+0, 0x1.8bbaabde5e29cp+1) - @test atan(Interval(0.1, 1.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1) - @test atan(Interval(0.1, 1.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1) - @test atan(Interval(0.1, 1.0), Interval(-2.0, 1.0)) == Interval(0x1.983e282e2cc4cp-4, 0x1.8bbaabde5e29cp+1) - @test atan(Interval(0.1, 1.0), Interval(0.0, 1.0)) == Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0) - @test atan(Interval(0.1, 1.0), Interval(-0.0, 1.0)) == Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0) - @test atan(Interval(0.1, 1.0), Interval(0.1, 1.0)) == Interval(0x1.983e282e2cc4cp-4, 0x1.789bd2c160054p+0) +@testset "minimal_atan2_test" begin + @test atan2(∅, ∅) == ∅ + @test atan2(∅, entireinterval(Float64)) == ∅ + @test atan2(∅, Interval(0.0, 0.0)) == ∅ + @test atan2(∅, Interval(-0.0, 0.0)) == ∅ + @test atan2(∅, Interval(0.0, -0.0)) == ∅ + @test atan2(∅, Interval(-0.0, -0.0)) == ∅ + @test atan2(∅, Interval(-2.0, -0.1)) == ∅ + @test atan2(∅, Interval(-2.0, 0.0)) == ∅ + @test atan2(∅, Interval(-2.0, -0.0)) == ∅ + @test atan2(∅, Interval(-2.0, 1.0)) == ∅ + @test atan2(∅, Interval(0.0, 1.0)) == ∅ + @test atan2(∅, Interval(-0.0, 1.0)) == ∅ + @test atan2(∅, Interval(0.1, 1.0)) == ∅ + @test atan2(entireinterval(Float64), ∅) == ∅ + @test atan2(entireinterval(Float64), entireinterval(Float64)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(entireinterval(Float64), Interval(0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(entireinterval(Float64), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(entireinterval(Float64), Interval(-0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(entireinterval(Float64), Interval(-0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(entireinterval(Float64), Interval(-2.0, -0.1)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(entireinterval(Float64), Interval(-2.0, 0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(entireinterval(Float64), Interval(-2.0, -0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(entireinterval(Float64), Interval(-2.0, 1.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(entireinterval(Float64), Interval(0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(entireinterval(Float64), Interval(-0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(entireinterval(Float64), Interval(0.1, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.0, 0.0), ∅) == ∅ + @test atan2(Interval(0.0, 0.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, 0.0), Interval(0.0, 0.0)) == ∅ + @test atan2(Interval(0.0, 0.0), Interval(-0.0, 0.0)) == ∅ + @test atan2(Interval(0.0, 0.0), Interval(0.0, -0.0)) == ∅ + @test atan2(Interval(0.0, 0.0), Interval(-0.0, -0.0)) == ∅ + @test atan2(Interval(0.0, 0.0), Interval(-2.0, -0.1)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, 0.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, 0.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, 0.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, 0.0), Interval(0.0, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(0.0, 0.0), Interval(-0.0, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(0.0, 0.0), Interval(0.1, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(-0.0, 0.0), ∅) == ∅ + @test atan2(Interval(-0.0, 0.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, 0.0), Interval(0.0, 0.0)) == ∅ + @test atan2(Interval(-0.0, 0.0), Interval(-0.0, 0.0)) == ∅ + @test atan2(Interval(-0.0, 0.0), Interval(0.0, -0.0)) == ∅ + @test atan2(Interval(-0.0, 0.0), Interval(-0.0, -0.0)) == ∅ + @test atan2(Interval(-0.0, 0.0), Interval(-2.0, -0.1)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, 0.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, 0.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, 0.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, 0.0), Interval(0.0, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(-0.0, 0.0), Interval(-0.0, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(-0.0, 0.0), Interval(0.1, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(0.0, -0.0), ∅) == ∅ + @test atan2(Interval(0.0, -0.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, -0.0), Interval(0.0, 0.0)) == ∅ + @test atan2(Interval(0.0, -0.0), Interval(-0.0, 0.0)) == ∅ + @test atan2(Interval(0.0, -0.0), Interval(0.0, -0.0)) == ∅ + @test atan2(Interval(0.0, -0.0), Interval(-0.0, -0.0)) == ∅ + @test atan2(Interval(0.0, -0.0), Interval(-2.0, -0.1)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, -0.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, -0.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, -0.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, -0.0), Interval(0.0, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(0.0, -0.0), Interval(-0.0, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(0.0, -0.0), Interval(0.1, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(-0.0, -0.0), ∅) == ∅ + @test atan2(Interval(-0.0, -0.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, -0.0), Interval(0.0, 0.0)) == ∅ + @test atan2(Interval(-0.0, -0.0), Interval(-0.0, 0.0)) == ∅ + @test atan2(Interval(-0.0, -0.0), Interval(0.0, -0.0)) == ∅ + @test atan2(Interval(-0.0, -0.0), Interval(-0.0, -0.0)) == ∅ + @test atan2(Interval(-0.0, -0.0), Interval(-2.0, -0.1)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, -0.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, -0.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, -0.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, -0.0), Interval(0.0, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(-0.0, -0.0), Interval(-0.0, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(-0.0, -0.0), Interval(0.1, 1.0)) == Interval(0.0, 0.0) + @test atan2(Interval(-2.0, -0.1), ∅) == ∅ + @test atan2(Interval(-2.0, -0.1), entireinterval(Float64)) == Interval(-0x1.921fb54442d19p+1, 0.0) + @test atan2(Interval(-2.0, -0.1), Interval(0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, -0.1), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, -0.1), Interval(-0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, -0.1), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, -0.1), Interval(-2.0, -0.1)) == Interval(-0x1.8bbaabde5e29cp+1, -0x1.9ee9c8100c211p+0) + @test atan2(Interval(-2.0, -0.1), Interval(-2.0, 0.0)) == Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, -0.1), Interval(-2.0, -0.0)) == Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, -0.1), Interval(-2.0, 1.0)) == Interval(-0x1.8bbaabde5e29cp+1, -0x1.983e282e2cc4cp-4) + @test atan2(Interval(-2.0, -0.1), Interval(0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4) + @test atan2(Interval(-2.0, -0.1), Interval(-0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4) + @test atan2(Interval(-2.0, -0.1), Interval(0.1, 1.0)) == Interval(-0x1.8555a2787982p+0, -0x1.983e282e2cc4cp-4) + @test atan2(Interval(-2.0, 0.0), ∅) == ∅ + @test atan2(Interval(-2.0, 0.0), entireinterval(Float64)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, 0.0), Interval(0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, 0.0), Interval(-0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, 0.0), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, 0.0), Interval(-0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, 0.0), Interval(-2.0, -0.1)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, 0.0), Interval(-2.0, 0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, 0.0), Interval(-2.0, -0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, 0.0), Interval(-2.0, 1.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, 0.0), Interval(0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0.0) + @test atan2(Interval(-2.0, 0.0), Interval(-0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0.0) + @test atan2(Interval(-2.0, 0.0), Interval(0.1, 1.0)) == Interval(-0x1.8555a2787982p+0, 0.0) + @test atan2(Interval(-2.0, -0.0), ∅) == ∅ + @test atan2(Interval(-2.0, -0.0), entireinterval(Float64)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, -0.0), Interval(0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, -0.0), Interval(-0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, -0.0), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, -0.0), Interval(-0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0) + @test atan2(Interval(-2.0, -0.0), Interval(-2.0, -0.1)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, -0.0), Interval(-2.0, 0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, -0.0), Interval(-2.0, -0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, -0.0), Interval(-2.0, 1.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, -0.0), Interval(0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0.0) + @test atan2(Interval(-2.0, -0.0), Interval(-0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0.0) + @test atan2(Interval(-2.0, -0.0), Interval(0.1, 1.0)) == Interval(-0x1.8555a2787982p+0, 0.0) + @test atan2(Interval(-2.0, 1.0), ∅) == ∅ + @test atan2(Interval(-2.0, 1.0), entireinterval(Float64)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, 1.0), Interval(0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-2.0, 1.0), Interval(-0.0, 0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-2.0, 1.0), Interval(0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-2.0, 1.0), Interval(-0.0, -0.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-2.0, 1.0), Interval(-2.0, -0.1)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, 1.0), Interval(-2.0, 0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, 1.0), Interval(-2.0, -0.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, 1.0), Interval(-2.0, 1.0)) == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1) + @test atan2(Interval(-2.0, 1.0), Interval(0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-2.0, 1.0), Interval(-0.0, 1.0)) == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-2.0, 1.0), Interval(0.1, 1.0)) == Interval(-0x1.8555a2787982p+0, 0x1.789bd2c160054p+0) + @test atan2(Interval(-0.0, 1.0), ∅) == ∅ + @test atan2(Interval(-0.0, 1.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, 1.0), Interval(0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-0.0, 1.0), Interval(-0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-0.0, 1.0), Interval(0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-0.0, 1.0), Interval(-0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-0.0, 1.0), Interval(-2.0, -0.1)) == Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, 1.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, 1.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, 1.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(-0.0, 1.0), Interval(0.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-0.0, 1.0), Interval(-0.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+0) + @test atan2(Interval(-0.0, 1.0), Interval(0.1, 1.0)) == Interval(0.0, 0x1.789bd2c160054p+0) + @test atan2(Interval(0.0, 1.0), ∅) == ∅ + @test atan2(Interval(0.0, 1.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, 1.0), Interval(0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.0, 1.0), Interval(-0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.0, 1.0), Interval(0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.0, 1.0), Interval(-0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.0, 1.0), Interval(-2.0, -0.1)) == Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, 1.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, 1.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, 1.0), Interval(-2.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.0, 1.0), Interval(0.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.0, 1.0), Interval(-0.0, 1.0)) == Interval(0.0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.0, 1.0), Interval(0.1, 1.0)) == Interval(0.0, 0x1.789bd2c160054p+0) + @test atan2(Interval(0.1, 1.0), ∅) == ∅ + @test atan2(Interval(0.1, 1.0), entireinterval(Float64)) == Interval(0.0, 0x1.921fb54442d19p+1) + @test atan2(Interval(0.1, 1.0), Interval(0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.1, 1.0), Interval(-0.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.1, 1.0), Interval(0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.1, 1.0), Interval(-0.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.1, 1.0), Interval(-2.0, -0.1)) == Interval(0x1.aba397c7259ddp+0, 0x1.8bbaabde5e29cp+1) + @test atan2(Interval(0.1, 1.0), Interval(-2.0, 0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1) + @test atan2(Interval(0.1, 1.0), Interval(-2.0, -0.0)) == Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1) + @test atan2(Interval(0.1, 1.0), Interval(-2.0, 1.0)) == Interval(0x1.983e282e2cc4cp-4, 0x1.8bbaabde5e29cp+1) + @test atan2(Interval(0.1, 1.0), Interval(0.0, 1.0)) == Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.1, 1.0), Interval(-0.0, 1.0)) == Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0) + @test atan2(Interval(0.1, 1.0), Interval(0.1, 1.0)) == Interval(0x1.983e282e2cc4cp-4, 0x1.789bd2c160054p+0) end -@testset "minimal_atan_dec_test" begin - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, 0.0), dac)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, 0.0), dac))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, -0.0), trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, -0.0), trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, -0.1), com)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, -0.1), com))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, 0.0), dac)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, 0.0), dac))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, -0.0), def)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, -0.0), def))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, 1.0), trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, 1.0), trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, 1.0), com)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, 1.0), com))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.1, 1.0), def)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.1, 1.0), def))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, -0.1), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, -0.1), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, -0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, -0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, 1.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, 1.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, 1.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, 1.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), def) - @test decoration(atan(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), def)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), def), DecoratedInterval(Interval(0.0, 0.0), trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), def), DecoratedInterval(Interval(0.0, 0.0), trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), dac)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), dac))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), def), DecoratedInterval(Interval(0.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), def), DecoratedInterval(Interval(0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(Interval(0.0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), com) - @test decoration(atan(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), def), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), def), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), def), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(Interval(0.0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), def), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), com) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(0.0, 0.0), dac)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(0.0, 0.0), dac))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), com)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), com))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-0.0, -0.0), trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-0.0, -0.0), trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(-2.0, 0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(-2.0, 0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(0.0, 1.0), trv)) == DecoratedInterval(Interval(0.0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(0.0, 1.0), trv))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(-0.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(-0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), def)) == DecoratedInterval(Interval(0.0, 0.0), def) - @test decoration(atan(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0.0), def)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), def)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), def))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.0, -0.0), trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.0, -0.0), trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), def) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), def)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(-2.0, -0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(-2.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(Interval(-2.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(Interval(-2.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(Interval(0.0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), com) - @test decoration(atan(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0.0), def) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0.0), def)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), trv), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), trv), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, -0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), dac) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), dac)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(Interval(-0.0, 0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), def) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(Interval(-0.0, 0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), def)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(Interval(-2.0, -0.1), com)) == DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.9ee9c8100c211p+0), def) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(Interval(-2.0, -0.1), com))) == decoration(DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.9ee9c8100c211p+0), def)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(-2.0, 0.0), def)) == DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0), def) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(-2.0, 0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0), def)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), trv), DecoratedInterval(Interval(-2.0, -0.0), dac)) == DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), trv), DecoratedInterval(Interval(-2.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(Interval(-2.0, 1.0), trv)) == DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.983e282e2cc4cp-4), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(Interval(-2.0, 1.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.983e282e2cc4cp-4), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, 1.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4), def) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4), def)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(Interval(-0.0, 1.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4), dac) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(Interval(-0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4), dac)) - @test atan(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(-0x1.8555a2787982p+0, -0x1.983e282e2cc4cp-4), com) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.8555a2787982p+0, -0x1.983e282e2cc4cp-4), com)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), dac), DecoratedInterval(Interval(0.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), dac), DecoratedInterval(Interval(0.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(Interval(-0.0, -0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(Interval(-0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 1.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(Interval(0.0, 1.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(Interval(0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0.0), com) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0.0), com)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), trv), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), trv), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-0.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-0.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-0.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-0.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-2.0, -0.1), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-2.0, -0.1), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-2.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-2.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(Interval(-2.0, -0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(Interval(-2.0, -0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-2.0, 1.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-2.0, 1.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), trv), DecoratedInterval(Interval(0.0, 1.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), trv), DecoratedInterval(Interval(0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-0.0, 1.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0.0), com) - @test decoration(atan(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0.0), com)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(-0.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(-0.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(-0.0, -0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(-0.0, -0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(-2.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(-2.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(0.0, 1.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0x1.789bd2c160054p+0), com) - @test decoration(atan(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0x1.789bd2c160054p+0), com)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(0.0, -0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(0.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(Interval(-0.0, -0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(Interval(-0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(Interval(-2.0, -0.1), com)) == DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1), dac) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(Interval(-2.0, -0.1), com))) == decoration(DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1), dac)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(-2.0, -0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(-2.0, -0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), dac)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 1.0), dac)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(0.0, 0x1.789bd2c160054p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0x1.789bd2c160054p+0), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(Interval(-0.0, -0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(Interval(-0.0, -0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1), dac) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1), dac)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 1.0), trv)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 1.0), trv))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-0.0, 1.0), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(0.0, 1.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(0.0, 0x1.789bd2c160054p+0), com) - @test decoration(atan(DecoratedInterval(Interval(0.0, 1.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0x1.789bd2c160054p+0), com)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), def) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), def)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), def) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), def)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(-0.0, -0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), def) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(-0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), def)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, -0.1), trv)) == DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.8bbaabde5e29cp+1), trv) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, -0.1), trv))) == decoration(DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.8bbaabde5e29cp+1), trv)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, 0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1), dac) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1), dac)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1), dac) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1), dac)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(-2.0, 1.0), dac)) == DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.8bbaabde5e29cp+1), def) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(-2.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.8bbaabde5e29cp+1), def)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(0.0, 1.0), def)) == DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0), def) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0), def)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(-0.0, 1.0), def)) == DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0), def) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(-0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0), def)) - @test atan(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(0.1, 1.0), def)) == DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.789bd2c160054p+0), def) - @test decoration(atan(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(0.1, 1.0), def))) == decoration(DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.789bd2c160054p+0), def)) +@testset "minimal_atan2_dec_test" begin + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, 0.0), dac)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, 0.0), dac))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, -0.0), trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, -0.0), trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, -0.1), com)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, -0.1), com))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, 0.0), dac)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, 0.0), dac))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, -0.0), def)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, -0.0), def))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, 1.0), trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-2.0, 1.0), trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, 1.0), com)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.0, 1.0), com))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.1, 1.0), def)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(∅, trv), DecoratedInterval(Interval(0.1, 1.0), def))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, -0.1), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, -0.1), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, -0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, -0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, 1.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-2.0, 1.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, 1.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, 1.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(-0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), def) + @test decoration(atan2(DecoratedInterval(entireinterval(Float64), def), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), def)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), def), DecoratedInterval(Interval(0.0, 0.0), trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), def), DecoratedInterval(Interval(0.0, 0.0), trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), dac)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), dac))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), def), DecoratedInterval(Interval(0.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), def), DecoratedInterval(Interval(0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(Interval(0.0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), com) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), def), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), def), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), def), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(Interval(0.0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), def), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), com) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(0.0, 0.0), dac)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(0.0, 0.0), dac))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), com)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), com))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-0.0, -0.0), trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-0.0, -0.0), trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), dac)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(-2.0, 0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(-2.0, 0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), dac), DecoratedInterval(Interval(-2.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(0.0, 1.0), trv)) == DecoratedInterval(Interval(0.0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(0.0, 1.0), trv))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(-0.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), def), DecoratedInterval(Interval(-0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), def)) == DecoratedInterval(Interval(0.0, 0.0), def) + @test decoration(atan2(DecoratedInterval(Interval(0.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0.0), def)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), def)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), def))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.0, -0.0), trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.0, -0.0), trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(-0.0, -0.0), com))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), def) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), def)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-2.0, 0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(-2.0, -0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), dac), DecoratedInterval(Interval(-2.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(Interval(-2.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), def), DecoratedInterval(Interval(-2.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(Interval(0.0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(0.0, 0.0), com) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0.0), def) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0.0), def)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), trv), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), trv), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, -0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), dac) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), dac)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(Interval(-0.0, 0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), def) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(Interval(-0.0, 0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), def)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(Interval(-2.0, -0.1), com)) == DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.9ee9c8100c211p+0), def) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(Interval(-2.0, -0.1), com))) == decoration(DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.9ee9c8100c211p+0), def)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(-2.0, 0.0), def)) == DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0), def) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(-2.0, 0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0), def)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), trv), DecoratedInterval(Interval(-2.0, -0.0), dac)) == DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), trv), DecoratedInterval(Interval(-2.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(Interval(-2.0, 1.0), trv)) == DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.983e282e2cc4cp-4), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), def), DecoratedInterval(Interval(-2.0, 1.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.8bbaabde5e29cp+1, -0x1.983e282e2cc4cp-4), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, 1.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4), def) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4), def)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(Interval(-0.0, 1.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4), dac) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), dac), DecoratedInterval(Interval(-0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.983e282e2cc4cp-4), dac)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(-0x1.8555a2787982p+0, -0x1.983e282e2cc4cp-4), com) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.1), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.8555a2787982p+0, -0x1.983e282e2cc4cp-4), com)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), dac), DecoratedInterval(Interval(0.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), dac), DecoratedInterval(Interval(0.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), trv), DecoratedInterval(Interval(-0.0, 0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(0.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(Interval(-0.0, -0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(Interval(-0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), dac), DecoratedInterval(Interval(-2.0, 0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 1.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), trv), DecoratedInterval(Interval(-2.0, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(Interval(0.0, 1.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), def), DecoratedInterval(Interval(0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0.0), com) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 0.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0.0), com)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), trv), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), trv), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-0.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-0.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-0.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-0.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, -0x1.921fb54442d18p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-2.0, -0.1), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-2.0, -0.1), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-2.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-2.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(Interval(-2.0, -0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), dac), DecoratedInterval(Interval(-2.0, -0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-2.0, 1.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), def), DecoratedInterval(Interval(-2.0, 1.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), trv), DecoratedInterval(Interval(0.0, 1.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), trv), DecoratedInterval(Interval(0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-0.0, 1.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(-0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0.0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0.0), com) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, -0.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0.0), com)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(-0.0, 0.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(-0.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(-0.0, -0.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(-0.0, -0.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), def)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), def)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), def))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(-2.0, -0.0), trv)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(-2.0, -0.0), trv))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), com)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(0.0, 1.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac)) == DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0x1.789bd2c160054p+0), com) + @test decoration(atan2(DecoratedInterval(Interval(-2.0, 1.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(-0x1.8555a2787982p+0, 0x1.789bd2c160054p+0), com)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(0.0, -0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(0.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(Interval(-0.0, -0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(Interval(-0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(Interval(-2.0, -0.1), com)) == DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1), dac) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), com), DecoratedInterval(Interval(-2.0, -0.1), com))) == decoration(DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1), dac)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(-2.0, -0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), def), DecoratedInterval(Interval(-2.0, -0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), dac)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 1.0), dac)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 1.0), com)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(0.0, 0x1.789bd2c160054p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(-0.0, 1.0), trv), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0x1.789bd2c160054p+0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(Interval(-0.0, -0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(Interval(-0.0, -0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac)) == DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1), dac) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.1), dac))) == decoration(DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.921fb54442d19p+1), dac)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), trv)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), def), DecoratedInterval(Interval(-2.0, 0.0), trv))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-2.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 1.0), trv)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(0.0, 1.0), trv))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-0.0, 1.0), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), dac), DecoratedInterval(Interval(-0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(0.0, 1.0), com), DecoratedInterval(Interval(0.1, 1.0), com)) == DecoratedInterval(Interval(0.0, 0x1.789bd2c160054p+0), com) + @test decoration(atan2(DecoratedInterval(Interval(0.0, 1.0), com), DecoratedInterval(Interval(0.1, 1.0), com))) == decoration(DecoratedInterval(Interval(0.0, 0x1.789bd2c160054p+0), com)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(∅, trv)) == DecoratedInterval(∅, trv) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(∅, trv))) == decoration(DecoratedInterval(∅, trv)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(entireinterval(Float64), def)) == DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), def) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(entireinterval(Float64), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.921fb54442d19p+1), def)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), com)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), def) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(0.0, 0.0), com))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), def)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), trv), DecoratedInterval(Interval(-0.0, 0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), trv), DecoratedInterval(Interval(0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), trv)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(-0.0, -0.0), def)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), def) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(-0.0, -0.0), def))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d19p+0), def)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, -0.1), trv)) == DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.8bbaabde5e29cp+1), trv) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, -0.1), trv))) == decoration(DecoratedInterval(Interval(0x1.aba397c7259ddp+0, 0x1.8bbaabde5e29cp+1), trv)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, 0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1), dac) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, 0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1), dac)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac)) == DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1), dac) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), com), DecoratedInterval(Interval(-2.0, -0.0), dac))) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+0, 0x1.8bbaabde5e29cp+1), dac)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(-2.0, 1.0), dac)) == DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.8bbaabde5e29cp+1), def) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(-2.0, 1.0), dac))) == decoration(DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.8bbaabde5e29cp+1), def)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(0.0, 1.0), def)) == DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0), def) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), def), DecoratedInterval(Interval(0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0), def)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(-0.0, 1.0), def)) == DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0), def) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(-0.0, 1.0), def))) == decoration(DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.921fb54442d19p+0), def)) + @test atan2(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(0.1, 1.0), def)) == DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.789bd2c160054p+0), def) + @test decoration(atan2(DecoratedInterval(Interval(0.1, 1.0), dac), DecoratedInterval(Interval(0.1, 1.0), def))) == decoration(DecoratedInterval(Interval(0x1.983e282e2cc4cp-4, 0x1.789bd2c160054p+0), def)) end @testset "minimal_sinh_test" begin diff --git a/test/ITF1788_tests/libieeep1788_tests_mul_rev.jl b/test/ITF1788_tests/libieeep1788_tests_mul_rev.jl index 916dd57f1..9ab675adc 100644 --- a/test/ITF1788_tests/libieeep1788_tests_mul_rev.jl +++ b/test/ITF1788_tests/libieeep1788_tests_mul_rev.jl @@ -20,7 +20,11 @@ #Language imports #Test library imports -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end #Arithmetic library imports using IntervalArithmetic diff --git a/test/ITF1788_tests/libieeep1788_tests_num.jl b/test/ITF1788_tests/libieeep1788_tests_num.jl index 47cfb0717..183bf3096 100644 --- a/test/ITF1788_tests/libieeep1788_tests_num.jl +++ b/test/ITF1788_tests/libieeep1788_tests_num.jl @@ -20,7 +20,11 @@ #Language imports #Test library imports -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end #Arithmetic library imports using IntervalArithmetic diff --git a/test/ITF1788_tests/libieeep1788_tests_overlap.jl b/test/ITF1788_tests/libieeep1788_tests_overlap.jl index e7f2faa4f..fda5c2f3a 100644 --- a/test/ITF1788_tests/libieeep1788_tests_overlap.jl +++ b/test/ITF1788_tests/libieeep1788_tests_overlap.jl @@ -20,7 +20,11 @@ #Language imports #Test library imports -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end #Arithmetic library imports using IntervalArithmetic diff --git a/test/ITF1788_tests/libieeep1788_tests_rec_bool.jl b/test/ITF1788_tests/libieeep1788_tests_rec_bool.jl index 751433fe2..7f8f9a775 100644 --- a/test/ITF1788_tests/libieeep1788_tests_rec_bool.jl +++ b/test/ITF1788_tests/libieeep1788_tests_rec_bool.jl @@ -20,7 +20,12 @@ #Language imports #Test library imports -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end + #Arithmetic library imports using IntervalArithmetic diff --git a/test/ITF1788_tests/libieeep1788_tests_rev.jl b/test/ITF1788_tests/libieeep1788_tests_rev.jl index ca10e7f0a..faefee152 100644 --- a/test/ITF1788_tests/libieeep1788_tests_rev.jl +++ b/test/ITF1788_tests/libieeep1788_tests_rev.jl @@ -20,7 +20,11 @@ #Language imports #Test library imports -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end #Arithmetic library imports using IntervalArithmetic diff --git a/test/ITF1788_tests/libieeep1788_tests_set.jl b/test/ITF1788_tests/libieeep1788_tests_set.jl index 4d5524034..1964bf5f6 100644 --- a/test/ITF1788_tests/libieeep1788_tests_set.jl +++ b/test/ITF1788_tests/libieeep1788_tests_set.jl @@ -20,7 +20,11 @@ #Language imports #Test library imports -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end #Arithmetic library imports using IntervalArithmetic diff --git a/test/decoration_tests/decoration_tests.jl b/test/decoration_tests/decoration_tests.jl index 81117f41b..323ddaae4 100644 --- a/test/decoration_tests/decoration_tests.jl +++ b/test/decoration_tests/decoration_tests.jl @@ -1,7 +1,9 @@ using IntervalArithmetic -using Test - -let b +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end @testset "DecoratedInterval tests" begin a = DecoratedInterval(@interval(1, 2), com) @@ -59,5 +61,3 @@ end DecoratedInterval(Interval(1, 2), dac) end - -end diff --git a/test/display_tests/display.jl b/test/display_tests/display.jl index e0d52af76..9c22410ca 100644 --- a/test/display_tests/display.jl +++ b/test/display_tests/display.jl @@ -1,7 +1,9 @@ using IntervalArithmetic -using Test - -let x, b +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end setprecision(Interval, Float64) @@ -99,7 +101,7 @@ setprecision(Interval, Float64) @test string(a) == "[2, 3]₂₅₆_com" setformat(:full) - @test string(a) == "DecoratedInterval(Interval(2.0, 3.0), com)" + @test string(a) == "DecoratedInterval(Interval(2.000000000000000000000000000000000000000000000000000000000000000000000000000000, 3.000000000000000000000000000000000000000000000000000000000000000000000000000000), com)" setformat(:midpoint) @test string(a) == "2.5 ± 0.5_com" @@ -120,7 +122,7 @@ setprecision(Interval, Float64) @test string(a) == "[1, 1]₁₂₈" setformat(:full) - @test string(a) == "Interval(1.0, 1.0)" + @test string(a) == "Interval(1.000000000000000000000000000000000000000, 1.000000000000000000000000000000000000000)" a = DecoratedInterval(big(2), big(3), com) @@ -133,7 +135,7 @@ setprecision(Interval, Float64) @test string(a) == "[2, 3]₁₂₈_com" setformat(:full) - @test string(a) == "DecoratedInterval(Interval(2.0, 3.0), com)" + @test string(a) == "DecoratedInterval(Interval(2.000000000000000000000000000000000000000, 3.000000000000000000000000000000000000000), com)" end @@ -172,7 +174,7 @@ end x = @biginterval(0, 1) @test string(x) == "[0, 1]₁₂₈" - @test sprint(showall, x) == "Interval(0.0, 1.0)" + @test sprint(showall, x) == "Interval(0.000000000000000000000000000000000000000, 1.000000000000000000000000000000000000000)" x = DecoratedInterval(0, 1, dac) @test string(x) == "[0, 1]" @@ -180,7 +182,7 @@ end x = DecoratedInterval(big(0), big(1), def) @test string(x) == "[0, 1]₁₂₈" - @test sprint(showall, x) == "DecoratedInterval(Interval(0.0, 1.0), def)" + @test sprint(showall, x) == "DecoratedInterval(Interval(0.000000000000000000000000000000000000000, 1.000000000000000000000000000000000000000), def)" setformat(decorations=true) @test string(x) == "[0, 1]₁₂₈_def" @@ -199,5 +201,3 @@ end @format 10 @test string(x) == "[0.09999999999, 0.3000000001]" end - -end diff --git a/test/interval_tests/bisect.jl b/test/interval_tests/bisect.jl index 40263a989..bd0bbaa7a 100644 --- a/test/interval_tests/bisect.jl +++ b/test/interval_tests/bisect.jl @@ -1,5 +1,5 @@ using IntervalArithmetic -using Test +using Base.Test @testset "`bisect` function" begin diff --git a/test/interval_tests/complex.jl b/test/interval_tests/complex.jl index d0b8ca726..4214ad78f 100644 --- a/test/interval_tests/complex.jl +++ b/test/interval_tests/complex.jl @@ -1,5 +1,9 @@ using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end @testset "Complex interval operations" begin a = @interval 1im @@ -12,8 +16,7 @@ using Test @test a + a == Interval(2)*im @test a - a == 0 @test a / a == 1 - - @test_broken a^2 == -1 + @test a^2 == -1 @test 3+2im ∈ c @test a ∪ b == (@interval 0 3) + (@interval 1 4)*im @@ -24,7 +27,7 @@ end @testset "Complex functions" begin Z = (3 ± 1e-7) + (4 ± 1e-7)*im - @test sin(Z) == complex(sin(real(Z)) * cosh(imag(Z)), sinh(imag(Z)) * cos(real(Z))) + @test sin(Z) == complex(sin(real(Z))*cosh(imag(Z)),sinh(imag(Z))*cos(real(Z))) @test exp(-im * Interval(π)) == Interval(-1.0, -0.9999999999999999) - Interval(1.224646799147353e-16, 1.2246467991473532e-16)*im sZ = sqrt(Z) diff --git a/test/interval_tests/consistency.jl b/test/interval_tests/consistency.jl index 5836cadfa..13d39b614 100644 --- a/test/interval_tests/consistency.jl +++ b/test/interval_tests/consistency.jl @@ -1,7 +1,11 @@ # This file is part of the IntervalArithmetic.jl package; MIT licensed using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end setprecision(Interval, Float64) @@ -350,7 +354,7 @@ setprecision(Interval, Float64) @test isatomic(Interval(1)) @test isatomic(Interval(2.3, 2.3)) @test isatomic(emptyinterval()) - @test isatomic(@interval(∞)) # Interval(floatmax(), Inf) + @test isatomic(@interval(∞)) # Interval(realmax(), Inf) @test !isatomic(1..2) @test !isatomic(Interval(1, nextfloat(1.0, 2))) diff --git a/test/interval_tests/construction.jl b/test/interval_tests/construction.jl index 78270af55..97237e5c2 100644 --- a/test/interval_tests/construction.jl +++ b/test/interval_tests/construction.jl @@ -1,9 +1,13 @@ # This file is part of the IntervalArithmetic.jl package; MIT licensed using IntervalArithmetic -using Test - -const eeuler = Base.MathConstants.e +if VERSION < v"0.7.0-DEV.2004" + using Base.Test + const eeuler = Base.e +else + using Test + const eeuler = Base.MathConstants.e +end @testset "Constructing intervals" begin diff --git a/test/interval_tests/hyperbolic.jl b/test/interval_tests/hyperbolic.jl index 2772bc191..9cb3c74f0 100644 --- a/test/interval_tests/hyperbolic.jl +++ b/test/interval_tests/hyperbolic.jl @@ -1,7 +1,12 @@ # This file is part of the IntervalArithmetic.jl package; MIT licensed using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end + setprecision(Interval, 128) setprecision(Interval, Float64) diff --git a/test/interval_tests/linear_algebra.jl b/test/interval_tests/linear_algebra.jl index 721c7e573..66b3dc3b6 100644 --- a/test/interval_tests/linear_algebra.jl +++ b/test/interval_tests/linear_algebra.jl @@ -1,5 +1,10 @@ using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test + # using LinearAlgebra, SparseArrays +end diff --git a/test/interval_tests/loops.jl b/test/interval_tests/loops.jl index 43a60650e..95be5dc0f 100644 --- a/test/interval_tests/loops.jl +++ b/test/interval_tests/loops.jl @@ -1,5 +1,9 @@ using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end @testset "Interval loop tests" begin diff --git a/test/interval_tests/non_BigFloat.jl b/test/interval_tests/non_BigFloat.jl index d11d29171..210454728 100644 --- a/test/interval_tests/non_BigFloat.jl +++ b/test/interval_tests/non_BigFloat.jl @@ -1,5 +1,9 @@ using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end @testset "Tests with rational intervals" begin diff --git a/test/interval_tests/numeric.jl b/test/interval_tests/numeric.jl index c892658e3..82c321e88 100644 --- a/test/interval_tests/numeric.jl +++ b/test/interval_tests/numeric.jl @@ -1,7 +1,11 @@ # This file is part of the IntervalArithmetic.jl package; MIT licensed using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end setprecision(Interval, Float64) # # setrounding(Interval, :narrow) @@ -240,7 +244,7 @@ end @test isinterior(x^50, pow(x, 50)) x = Interval(2) - @test pow(x, 2000) == Interval(floatmax(), Inf) + @test pow(x, 2000) == Interval(realmax(), Inf) end @testset "Fast real powers" begin @@ -276,7 +280,7 @@ end a = Interval{Float32}(1e38) b = Interval{Float32}(1e2) - @test a * b == Interval{Float32}(floatmax(Float32), Inf) + @test a * b == Interval{Float32}(realmax(Float32), Inf) end =# end diff --git a/test/interval_tests/parsing.jl b/test/interval_tests/parsing.jl index 651bf7534..f61ed2aab 100644 --- a/test/interval_tests/parsing.jl +++ b/test/interval_tests/parsing.jl @@ -1,5 +1,9 @@ using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end setformat(:standard, decorations=true, sigfigs=6) diff --git a/test/interval_tests/rounding.jl b/test/interval_tests/rounding.jl index 0304c7acf..9614e40bb 100644 --- a/test/interval_tests/rounding.jl +++ b/test/interval_tests/rounding.jl @@ -1,5 +1,9 @@ using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end setformat(:full) diff --git a/test/interval_tests/rounding_macros.jl b/test/interval_tests/rounding_macros.jl index 56a06c642..2bfd6ee0c 100644 --- a/test/interval_tests/rounding_macros.jl +++ b/test/interval_tests/rounding_macros.jl @@ -1,5 +1,9 @@ using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end @test IntervalArithmetic.round_expr(:(a + b), RoundDown) == :($(Expr(:escape, :a)) + $(Expr(:escape, :b)) + $(RoundDown)) diff --git a/test/interval_tests/set_operations.jl b/test/interval_tests/set_operations.jl index 7d2ec901f..44aa753d6 100644 --- a/test/interval_tests/set_operations.jl +++ b/test/interval_tests/set_operations.jl @@ -1,7 +1,11 @@ # This file is part of the IntervalArithmetic.jl package; MIT licensed using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end setprecision(Interval, Float64) diff --git a/test/interval_tests/trig.jl b/test/interval_tests/trig.jl index 29ff592d5..7da3ca79e 100644 --- a/test/interval_tests/trig.jl +++ b/test/interval_tests/trig.jl @@ -1,7 +1,11 @@ # This file is part of the IntervalArithmetic.jl package; MIT licensed using IntervalArithmetic -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end setprecision(Interval, 128) setprecision(Interval, Float64) @@ -80,98 +84,98 @@ end @test atan(@biginterval(-1, 1)) ⊆ atan(@interval(-1, 1)) end -@testset "atan" begin - @test atan(∅, entireinterval()) == ∅ - @test atan(entireinterval(), ∅) == ∅ - @test atan(@interval(0.0, 1.0), @biginterval(0.0)) == @biginterval(pi/2) - @test atan(@interval(0.0, 1.0), @interval(0.0)) == @interval(pi/2) - @test atan(@interval(-1.0, -0.1), @interval(0.0)) == @interval(-pi/2) - @test atan(@interval(-1.0, 1.0), @interval(0.0)) == @interval(-pi/2, pi/2) - @test atan(@interval(0.0), @interval(0.1, 1.0)) == @interval(0.0) - @test atan(@biginterval(0.0, 0.1), @biginterval(0.1, 1.0)) ⊆ - atan(@interval(0.0, 0.1), @interval(0.1, 1.0)) - @test atan(@interval(0.0, 0.1), @interval(0.1, 1.0)) == +@testset "atan2" begin + @test atan2(∅, entireinterval()) == ∅ + @test atan2(entireinterval(), ∅) == ∅ + @test atan2(@interval(0.0, 1.0), @biginterval(0.0)) == @biginterval(pi/2) + @test atan2(@interval(0.0, 1.0), @interval(0.0)) == @interval(pi/2) + @test atan2(@interval(-1.0, -0.1), @interval(0.0)) == @interval(-pi/2) + @test atan2(@interval(-1.0, 1.0), @interval(0.0)) == @interval(-pi/2, pi/2) + @test atan2(@interval(0.0), @interval(0.1, 1.0)) == @interval(0.0) + @test atan2(@biginterval(0.0, 0.1), @biginterval(0.1, 1.0)) ⊆ + atan2(@interval(0.0, 0.1), @interval(0.1, 1.0)) + @test atan2(@interval(0.0, 0.1), @interval(0.1, 1.0)) == Interval(0.0, 0.7853981633974484) - @test atan(@biginterval(-0.1, 0.0), @biginterval(0.1, 1.0)) ⊆ - atan(@interval(-0.1, 0.0), @interval(0.1, 1.0)) - @test atan(@interval(-0.1, 0.0), @interval(0.1, 1.0)) == + @test atan2(@biginterval(-0.1, 0.0), @biginterval(0.1, 1.0)) ⊆ + atan2(@interval(-0.1, 0.0), @interval(0.1, 1.0)) + @test atan2(@interval(-0.1, 0.0), @interval(0.1, 1.0)) == Interval(-0.7853981633974484, 0.0) - @test atan(@biginterval(-0.1, -0.1), @biginterval(0.1, Inf)) ⊆ - atan(@interval(-0.1, -0.1), @interval(0.1, Inf)) - @test atan(@interval(-0.1, 0.0), @interval(0.1, Inf)) == + @test atan2(@biginterval(-0.1, -0.1), @biginterval(0.1, Inf)) ⊆ + atan2(@interval(-0.1, -0.1), @interval(0.1, Inf)) + @test atan2(@interval(-0.1, 0.0), @interval(0.1, Inf)) == Interval(-0.7853981633974484, 0.0) - @test atan(@biginterval(0.0, 0.1), @biginterval(-2.0, -0.1)) ⊆ - atan(@interval(0.0, 0.1), @interval(-2.0, -0.1)) - @test atan(@interval(0.0, 0.1), @interval(-2.0, -0.1)) == + @test atan2(@biginterval(0.0, 0.1), @biginterval(-2.0, -0.1)) ⊆ + atan2(@interval(0.0, 0.1), @interval(-2.0, -0.1)) + @test atan2(@interval(0.0, 0.1), @interval(-2.0, -0.1)) == Interval(2.356194490192345, 3.1415926535897936) - @test atan(@biginterval(-0.1, 0.0), @biginterval(-2.0, -0.1)) ⊆ - atan(@interval(-0.1, 0.0), @interval(-2.0, -0.1)) - @test atan(@interval(-0.1, 0.0), @interval(-2.0, -0.1)) == + @test atan2(@biginterval(-0.1, 0.0), @biginterval(-2.0, -0.1)) ⊆ + atan2(@interval(-0.1, 0.0), @interval(-2.0, -0.1)) + @test atan2(@interval(-0.1, 0.0), @interval(-2.0, -0.1)) == @interval(-pi, pi) - @test atan(@biginterval(-0.1, 0.1), @biginterval(-Inf, -0.1)) ⊆ - atan(@interval(-0.1, 0.1), @interval(-Inf, -0.1)) - @test atan(@interval(-0.1, 0.1), @interval(-Inf, -0.1)) == + @test atan2(@biginterval(-0.1, 0.1), @biginterval(-Inf, -0.1)) ⊆ + atan2(@interval(-0.1, 0.1), @interval(-Inf, -0.1)) + @test atan2(@interval(-0.1, 0.1), @interval(-Inf, -0.1)) == @interval(-pi, pi) - @test atan(@biginterval(0.0, 0.0), @biginterval(-2.0, 0.0)) ⊆ - atan(@interval(0.0, 0.0), @interval(-2.0, 0.0)) - @test atan(@interval(-0.0, 0.0), @interval(-2.0, 0.0)) == + @test atan2(@biginterval(0.0, 0.0), @biginterval(-2.0, 0.0)) ⊆ + atan2(@interval(0.0, 0.0), @interval(-2.0, 0.0)) + @test atan2(@interval(-0.0, 0.0), @interval(-2.0, 0.0)) == Interval(3.141592653589793, 3.1415926535897936) - @test atan(@biginterval(0.0, 0.1), @biginterval(-0.1, 0.0)) ⊆ - atan(@interval(0.0, 0.1), @interval(-0.1, 0.0)) - @test atan(@interval(-0.0, 0.1), @interval(-0.1, 0.0)) == + @test atan2(@biginterval(0.0, 0.1), @biginterval(-0.1, 0.0)) ⊆ + atan2(@interval(0.0, 0.1), @interval(-0.1, 0.0)) + @test atan2(@interval(-0.0, 0.1), @interval(-0.1, 0.0)) == Interval(1.5707963267948966, 3.1415926535897936) - @test atan(@biginterval(-0.1, -0.1), @biginterval(-0.1, 0.0)) ⊆ - atan(@interval(-0.1, -0.1), @interval(-0.1, 0.0)) - @test atan(@interval(-0.1, -0.1), @interval(-0.1, 0.0)) == + @test atan2(@biginterval(-0.1, -0.1), @biginterval(-0.1, 0.0)) ⊆ + atan2(@interval(-0.1, -0.1), @interval(-0.1, 0.0)) + @test atan2(@interval(-0.1, -0.1), @interval(-0.1, 0.0)) == Interval(-2.3561944901923453, -1.5707963267948966) - @test atan(@biginterval(-0.1, 0.1), @biginterval(-2.0, 0.0)) ⊆ - atan(@interval(-0.1, 0.1), @interval(-2.0, 0.0)) - @test atan(@interval(-0.1, 0.1), @interval(-2.0, 0.0)) == + @test atan2(@biginterval(-0.1, 0.1), @biginterval(-2.0, 0.0)) ⊆ + atan2(@interval(-0.1, 0.1), @interval(-2.0, 0.0)) + @test atan2(@interval(-0.1, 0.1), @interval(-2.0, 0.0)) == @interval(-pi, pi) - @test atan(@biginterval(0.0, 0.0), @biginterval(-2.0, 0.0)) ⊆ - atan(@interval(0.0, 0.0), @interval(-2.0, 0.0)) - @test atan(@interval(-0.0, 0.0), @interval(-2.0, 0.0)) == + @test atan2(@biginterval(0.0, 0.0), @biginterval(-2.0, 0.0)) ⊆ + atan2(@interval(0.0, 0.0), @interval(-2.0, 0.0)) + @test atan2(@interval(-0.0, 0.0), @interval(-2.0, 0.0)) == Interval(3.141592653589793, 3.1415926535897936) - @test atan(@biginterval(0.0, 0.1), @biginterval(-0.1, 0.0)) ⊆ - atan(@interval(0.0, 0.1), @interval(-0.1, 0.0)) - @test atan(@interval(-0.0, 0.1), @interval(-0.1, 0.0)) == + @test atan2(@biginterval(0.0, 0.1), @biginterval(-0.1, 0.0)) ⊆ + atan2(@interval(0.0, 0.1), @interval(-0.1, 0.0)) + @test atan2(@interval(-0.0, 0.1), @interval(-0.1, 0.0)) == Interval(1.5707963267948966, 3.1415926535897936) - @test atan(@biginterval(-0.1, -0.1), @biginterval(-0.1, 0.0)) ⊆ - atan(@interval(-0.1, -0.1), @interval(-0.1, 0.0)) - @test atan(@interval(-0.1, -0.1), @interval(-0.1, 0.0)) == + @test atan2(@biginterval(-0.1, -0.1), @biginterval(-0.1, 0.0)) ⊆ + atan2(@interval(-0.1, -0.1), @interval(-0.1, 0.0)) + @test atan2(@interval(-0.1, -0.1), @interval(-0.1, 0.0)) == Interval(-2.3561944901923453, -1.5707963267948966) - @test atan(@biginterval(-0.1, 0.1), @biginterval(-2.0, 0.0)) ⊆ - atan(@interval(-0.1, 0.1), @interval(-2.0, 0.0)) - @test atan(@interval(-0.1, 0.1), @interval(-2.0, 0.0)) == + @test atan2(@biginterval(-0.1, 0.1), @biginterval(-2.0, 0.0)) ⊆ + atan2(@interval(-0.1, 0.1), @interval(-2.0, 0.0)) + @test atan2(@interval(-0.1, 0.1), @interval(-2.0, 0.0)) == @interval(-pi, pi) - @test atan(@biginterval(0.0, 0.1), @biginterval(-2.0, 0.1)) ⊆ - atan(@interval(0.0, 0.1), @interval(-2.0, 0.1)) - @test atan(@interval(-0.0, 0.1), @interval(-2.0, 0.1)) == + @test atan2(@biginterval(0.0, 0.1), @biginterval(-2.0, 0.1)) ⊆ + atan2(@interval(0.0, 0.1), @interval(-2.0, 0.1)) + @test atan2(@interval(-0.0, 0.1), @interval(-2.0, 0.1)) == Interval(0.0, 3.1415926535897936) - @test atan(@biginterval(-0.1, -0.1), @biginterval(-0.1, 0.1)) ⊆ - atan(@interval(-0.1, -0.1), @interval(-0.1, 0.1)) - @test atan(@interval(-0.1, -0.1), @interval(-0.1, 0.1)) == + @test atan2(@biginterval(-0.1, -0.1), @biginterval(-0.1, 0.1)) ⊆ + atan2(@interval(-0.1, -0.1), @interval(-0.1, 0.1)) + @test atan2(@interval(-0.1, -0.1), @interval(-0.1, 0.1)) == Interval(-2.3561944901923453, -0.7853981633974482) - @test atan(@biginterval(-0.1, 0.1), @biginterval(-2.0, 0.1)) ⊆ - atan(@interval(-0.1, 0.1), @interval(-2.0, 0.1)) - @test atan(@interval(-0.1, 0.1), @interval(-2.0, 0.1)) == + @test atan2(@biginterval(-0.1, 0.1), @biginterval(-2.0, 0.1)) ⊆ + atan2(@interval(-0.1, 0.1), @interval(-2.0, 0.1)) + @test atan2(@interval(-0.1, 0.1), @interval(-2.0, 0.1)) == @interval(-pi, pi) - @test atan(@interval(-0.1, 0.1), @interval(0.1, 0.1)) == + @test atan2(@interval(-0.1, 0.1), @interval(0.1, 0.1)) == Interval(-0.7853981633974484, 0.7853981633974484) - @test atan(@biginterval(-0.1, 0.1), @biginterval(0.1, 0.1)) ⊆ - atan(@interval(-0.1, 0.1), @interval(0.1, 0.1)) - @test atan(@interval(0.0), @interval(-0.0, 0.1)) == @interval(0.0) - @test atan(@interval(0.0, 0.1), @interval(-0.0, 0.1)) == + @test atan2(@biginterval(-0.1, 0.1), @biginterval(0.1, 0.1)) ⊆ + atan2(@interval(-0.1, 0.1), @interval(0.1, 0.1)) + @test atan2(@interval(0.0), @interval(-0.0, 0.1)) == @interval(0.0) + @test atan2(@interval(0.0, 0.1), @interval(-0.0, 0.1)) == Interval(0.0, 1.5707963267948968) - @test atan(@interval(-0.1, 0.0), @interval(0.0, 0.1)) == + @test atan2(@interval(-0.1, 0.0), @interval(0.0, 0.1)) == Interval(-1.5707963267948968, 0.0) - @test atan(@interval(-0.1, 0.1), @interval(-0.0, 0.1)) == + @test atan2(@interval(-0.1, 0.1), @interval(-0.0, 0.1)) == Interval(-1.5707963267948968, 1.5707963267948968) - @test atan(@biginterval(-0.1, 0.1), @biginterval(-0.0, 0.1)) ⊆ - atan(@interval(-0.1, 0.1), @interval(0.0, 0.1)) + @test atan2(@biginterval(-0.1, 0.1), @biginterval(-0.0, 0.1)) ⊆ + atan2(@interval(-0.1, 0.1), @interval(0.0, 0.1)) end @testset "Trig" begin diff --git a/test/multidim_tests/multidim.jl b/test/multidim_tests/multidim.jl index b78906fb2..2f035093e 100644 --- a/test/multidim_tests/multidim.jl +++ b/test/multidim_tests/multidim.jl @@ -1,9 +1,13 @@ using IntervalArithmetic using StaticArrays -using Test +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test + using LinearAlgebra: dot +end -let X, A # avoid problems with global variables @testset "Operations on boxes" begin A = IntervalBox(1..2, 3..4) @@ -83,6 +87,18 @@ end @test inv.(A) == IntervalBox(inv(A[1]), inv(A[2])) end +# @testset "@intervalbox tests" begin +# @intervalbox f(x, y) = (x + y, x - y) +# +# X = IntervalBox(1..1, 2..2) +# @test f(X) == IntervalBox(3..3, -1 .. -1) +# +# @intervalbox g(x, y) = x - y +# @test isa(g(X), IntervalBox) +# +# @test emptyinterval(X) == IntervalBox(∅, ∅) +# +# end @testset "setdiff for IntervalBox" begin X = IntervalBox(2..4, 3..5) @@ -175,11 +191,11 @@ end end @testset "Constructing multidimensional IntervalBoxes" begin - @test IntervalBox(1..2, Val(1)) == IntervalBox(1..2) - @test IntervalBox(1..2, Val(2)) == (1..2) × (1..2) - @test IntervalBox(1..2, Val(5)) == (1..2) × (1..2) × (1..2) × (1..2) × (1..2) + @test IntervalBox(1..2, Val{1}) == IntervalBox(1..2) + @test IntervalBox(1..2, Val{2}) == (1..2) × (1..2) + @test IntervalBox(1..2, Val{5}) == (1..2) × (1..2) × (1..2) × (1..2) × (1..2) - @test IntervalBox(1..2, 3) == IntervalBox(1..2, Val(3)) + @test IntervalBox(1..2, 3) == IntervalBox(1..2, Val{3}) @test IntervalBox((1..2, 2..3)) == IntervalBox(1..2, 2..3) @test IntervalBox((1, 2)) == IntervalBox(1..1, 2..2) @test IntervalBox( (1, 2, 3) ) == IntervalBox(1..1, 2..2, 3..3) @@ -189,7 +205,7 @@ end @test IntervalBox(3) == IntervalBox(3..3) @test IntervalBox(1:5) == IntervalBox(1..1, 2..2, 3..3, 4..4, 5..5) @test IntervalBox([1:5...]) == IntervalBox(1..1, 2..2, 3..3, 4..4, 5..5) - @test IntervalBox((1..2) × (2..3), 2) == (1..2) × (2..3) × (1..2) × (2..3) + @test IntervalBox((1..2) × (2..3), 2) == IntervalBox((1..2) × (2..3) × (1..2) × (2..3)) end @@ -217,5 +233,3 @@ end @test mid.(X) == SVector(mid(X[1]), mid(X[2])) @test diam.(X) == SVector(diam(X[1]), diam(X[2])) end - -end diff --git a/test/runtests.jl b/test/runtests.jl index 055cd85d5..b3b494522 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,7 +1,7 @@ using IntervalArithmetic if VERSION < v"0.7.0-DEV.2004" - using Test + using Base.Test else using Test end