You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
julia> @testset "pertubations" begin
a = p2(2.0)
b = p2(1.0, 1.0)
c = p2(1.0, - 1.0)
q = (-eps(Float64)/2, 0.0)
x = incircle(a,b,c,q)
@show x
end
x = 0
Test Summary: |
pertubations | No tests
Test.DefaultTestSet("pertubations", Any[], 0, false)
julia> @testset "pertubations" begin
a = p2(2.0)
b = p2(1.0, 1.0)
c = p2(1.0, - 1.0)
q = (-nextfloat(eps(Float64)/2), 0.0)
x = incircle(a,b,c,q)
@show x
end
x = -1
Test Summary: |
pertubations | No tests
Test.DefaultTestSet("pertubations", Any[], 0, false)
It fails for anything with magnitude eps/2 or smaller.
One global state change: this case needs to call setrounding(Interval, ...), so after the first run IntervalArithmetic is in a different rounding mode. Setting the rounding mode involves eval'ing a bunch of method definitions (as well as calling mktemp() ... ?!). I still don't know exactly why that causes this failure, but there is definitely a lot going on.
MWE from PkgEval error in ExactPredicates.jl (https://github.com/maleadt/BasePkgEvalReports/blob/0bb12607c245153c8e7215788e580d43d7d2d51a/pkgeval-9bd498d_vs_2e6715c/logs/ExactPredicates/1.4.0-DEV-082f446f52.log#L64-L81)
Running
and then running the code below twice(!!)
makes it fail with
If we move the definitions of
a
,b
,c
,q
outside the@testset
, the@test
never fails even after executing it many times.The package does some pretty heavy metaprogramming https://github.com/lairez/ExactPredicates.jl/blob/216010eb619e71b51f24020e71902382411d0d81/src/Codegen.jl#L371-L478 but not sure if that is relevant.
This doesn't happen on 1.3.1.
The text was updated successfully, but these errors were encountered: