Skip to content
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

Remove FactorMetaData #1611

Merged
merged 4 commits into from
Aug 25, 2022
Merged

Remove FactorMetaData #1611

merged 4 commits into from
Aug 25, 2022

Conversation

Affie
Copy link
Member

@Affie Affie commented Aug 24, 2022

Outstanding:

  • should fullvariables be filtered by hypo
  • solvefor weirdness in DERelative
  • update news for breaking changes
  • bump minor version

Also, CPT should be removed in the same release to avoid possible issues.

This will close #1563

@codecov
Copy link

codecov bot commented Aug 24, 2022

Codecov Report

Merging #1611 (e4c1d27) into master (d1bdff5) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1611      +/-   ##
==========================================
- Coverage   77.52%   77.52%   -0.01%     
==========================================
  Files          73       73              
  Lines        5433     5424       -9     
==========================================
- Hits         4212     4205       -7     
+ Misses       1221     1219       -2     
Impacted Files Coverage Δ
src/entities/FactorOperationalMemory.jl 100.00% <ø> (ø)
src/services/DeconvUtils.jl 70.00% <ø> (-0.50%) ⬇️
src/services/EvalFactor.jl 85.49% <ø> (-0.30%) ⬇️
src/services/SolverUtilities.jl 45.71% <ø> (ø)
src/Factors/Mixture.jl 95.65% <100.00%> (ø)
src/ODE/DERelative.jl 100.00% <100.00%> (ø)
src/ParametricUtils.jl 69.94% <100.00%> (ø)
src/services/CalcFactor.jl 89.23% <100.00%> (+1.17%) ⬆️
src/services/NumericalCalculations.jl 92.47% <100.00%> (+0.08%) ⬆️
... and 1 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more


## TODO Consolidation WIP with FactorMetadata
# full list of variables connected to the factor
fullvariables::Vector{DFGVariable}
Copy link
Member

@dehann dehann Aug 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah dynamic types. Let's do Vector just to get rid of FMd and the come back for {T<:Tuple} (separate PR)?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, currently it’s dispatched dynamically in any case and this way it at least saves on compile time.
But the plan is to figure out the best way after the cleanup and not waste time now.

@@ -181,6 +153,8 @@ mutable struct CommonConvWrapper{ T<:AbstractFactor,
_gradients::G
# type used for cache
dummyCache::CT
#
fullvariables::Vector{DFGVariable}
Copy link
Member

@dehann dehann Aug 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, cleanup of CCW after FMd and CPT are removed. That should start to help performance, allocations, dynamic dispatch etc. (separate PRs)

cache = ccwl.dummyCache )
cache = ccwl.dummyCache,
fullvariables=ccwl.fullvariables,
solvefor=ccwl.varidx)
Copy link
Member

@dehann dehann Aug 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we are also going to have to double check this with the multihypo recipes. Basically the ground rule is that a CalcFactor object represents one specific hypothesis. If there are particles with different hypos, then each particle gets a different CalcFactor object.

From that, .fullvariables and solvefor should only represent one active hypothesis choice for each CalcFactor object.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should fullvariables be filtered by hypo

Yes it should be filtered by hypo

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. I figured that much, but couldn’t quite see how it was done / can be done without first removing CPT.

src/services/CalcFactor.jl Outdated Show resolved Hide resolved
src/services/CalcFactor.jl Outdated Show resolved Hide resolved
test/testMultihypoFMD.jl Outdated Show resolved Hide resolved
@Affie Affie force-pushed the 22Q3/maint/rem_fmd branch from a15c32f to a55203c Compare August 25, 2022 11:38
@Affie
Copy link
Member Author

Affie commented Aug 25, 2022

We should probably tag a new patch release before merging this into master.

@Affie Affie marked this pull request as ready for review August 25, 2022 17:24
@Affie Affie merged commit f3864a5 into master Aug 25, 2022
@Affie Affie deleted the 22Q3/maint/rem_fmd branch August 25, 2022 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove FMd (should be replaced by CalcFactor)
2 participants