-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Solve invalidations #344
Solve invalidations #344
Conversation
@lrnv Does this help to solve the invalidations? There are still some triggered when IntervalArithmetic is loaded; I'll try to solve them, but IntervalArithmetic is currently under deep revision... |
Following the code in this comment, using the code in this branch, I now get: julia> show(trees[end]) # show the most invalidating method
inserting broadcasted(::Base.Broadcast.DefaultArrayStyle{N}, op, r::FillArrays.AbstractFill{T, N}) where {T, N} @ FillArrays ~/.julia/packages/FillArrays/2eiCe/src/fillbroadcast.jl:78 invalidated:
backedges: 1: superseding broadcasted(::S, f, args...) where S<:BroadcastStyle @ Base.Broadcast broadcast.jl:1319 with MethodInstance for Base.Broadcast.broadcasted(::Base.Broadcast.BroadcastStyle, ::typeof(esc), ::Any) (21 children)
1 mt_cache
false So it seems it worked. I'll check the implications in |
@PerezHz, it seems that no problems occur in TaylorIntegration, as far as I checked the tests, but it would be nice if you can double check this. Can you do it? |
I checked the invalidations wrt Aqua.detect_ambiguities(TaylorSeries; recursive = true)
2-element Vector{Tuple{Method, Method}}:
(^(a::TaylorN{Interval{T}}, r::S) where {T<:Real, S<:Real} @ TaylorSeriesIAExt ~/.julia/dev/TaylorSeries/ext/TaylorSeriesIAExt.jl:46, ^(a::TaylorN, x::S) where S<:Rational @ TaylorSeries ~/.julia/dev/TaylorSeries/src/power.jl:50)
(^(a::Taylor1{Interval{T}}, r::S) where {T<:Real, S<:Real} @ TaylorSeriesIAExt ~/.julia/dev/TaylorSeries/ext/TaylorSeriesIAExt.jl:22, ^(a::Taylor1, x::S) where S<:Rational @ TaylorSeries ~/.julia/dev/TaylorSeries/src/power.jl:50) |
@lbenet Looking at your code I do not understand why, but indeed it solved the invalidations I was having. GG ! Number of invals reduced from 502 to 192, which is great. The remaining ones are NOT from TaylorSeries.jl, so you are out of the woods: I'll wait for this PR to get merged and versionned and then I'll take these invalidations somewhere else :) If you need something else from me do not hesitate to ping me again. Thanks a lot ! |
Just double-checked and everything seems to be fine! 👍 |
@lrnv I only commented out all the lines that were pointed out by SnoopCompile; I do not understand the invalidations, because the methods seemed quite concrete to me... Anyway, I also noticed that there were some issues related to There are still some ambiguities which appear when |
Excellent! I guess this holds for PlanetaryEphemeris and NEOs... |
Indeed! |
@lbenet: just to be clear on my previous comment, PlanetaryEphemeris and NEOs tests pass using this branch of TaylorSeries (a very small issue appeared on the latter, but that's completely unrelated to this PR). |
Merging! |
Fixes #339