Skip to content

Commit 7af0dd7

Browse files
authored
Merge pull request #269 from JuliaRobotics/feat/1Q20/solvedcount
add unpack function for solvedCount
2 parents c2a3a2a + 4c77e49 commit 7af0dd7

File tree

5 files changed

+19
-13
lines changed

5 files changed

+19
-13
lines changed

src/DistributedFactorGraphs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export InferenceType, PackedInferenceType, FunctorInferenceType, InferenceVariab
2323
export FunctorSingleton, FunctorPairwise, FunctorPairwiseMinimize
2424
export getMaxPPE, getMeanPPE, getSuggestedPPE, getVariablePPE, getPPE, getVariablePPEs, getPPEs #, getEstimates
2525
export timestamp # DEPRECATED
26-
export getSolved, isSolved, setSolved!
26+
export getSolvedCount, isSolved, setSolvedCount!
2727
export label, getTimestamp, setTimestamp!, tags, setTags!, estimates, estimate, data, softtype, solverData, getData, solverDataDict, setSolverData, setSolverData!, internalId, smallData, setSmallData!, bigData
2828
export DFGVariableSummary, DFGFactorSummary, AbstractDFGSummary
2929
export addBigDataEntry!, getBigDataEntry, updateBigDataEntry!, deleteBigDataEntry!, getBigDataEntries, getBigDataKeys

src/entities/DFGVariable.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,11 @@ Get the number of times a variable has been inferred -- i.e. `solvedCount`.
308308
309309
Related
310310
311-
isSolved, setSolved!
311+
isSolved, setSolvedCount!
312312
"""
313-
getSolved(v::VariableNodeData) = v.solvedCount
314-
getSolved(v::VariableDataLevel2, solveKey::Symbol=:default) = solverData(v, solveKey) |> getSolved
315-
getSolved(dfg::AbstractDFG, sym::Symbol, solveKey::Symbol=:default) = getSolved(getVariable(dfg, sym), solveKey)
313+
getSolvedCount(v::VariableNodeData) = v.solvedCount
314+
getSolvedCount(v::VariableDataLevel2, solveKey::Symbol=:default) = solverData(v, solveKey) |> getSolvedCount
315+
getSolvedCount(dfg::AbstractDFG, sym::Symbol, solveKey::Symbol=:default) = getSolvedCount(getVariable(dfg, sym), solveKey)
316316

317317
"""
318318
$SIGNATURES
@@ -337,9 +337,9 @@ Related
337337
338338
getSolved, isSolved
339339
"""
340-
setSolved!(v::VariableNodeData, val::Int) = v.solvedCount = val
341-
setSolved!(v::VariableDataLevel2, val::Int, solveKey::Symbol=:default) = setSolved!(solverData(v, solveKey), val)
342-
setSolved!(dfg::AbstractDFG, sym::Symbol, val::Int, solveKey::Symbol=:default) = setSolved!(getVariable(dfg, sym), solveKey, val)
340+
setSolvedCount!(v::VariableNodeData, val::Int) = v.solvedCount = val
341+
setSolvedCount!(v::VariableDataLevel2, val::Int, solveKey::Symbol=:default) = setSolvedCount!(solverData(v, solveKey), val)
342+
setSolvedCount!(dfg::AbstractDFG, sym::Symbol, val::Int, solveKey::Symbol=:default) = setSolvedCount!(getVariable(dfg, sym), val, solveKey)
343343

344344

345345
"""

src/services/DFGVariable.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ function unpack(dfg::G, d::PackedVariableNodeData)::VariableNodeData where G <:
103103

104104
return VariableNodeData{typeof(st)}(M3,M4, d.BayesNetOutVertIDs,
105105
d.dimIDs, d.dims, d.eliminated, d.BayesNetVertID, d.separator,
106-
st, d.initialized, d.inferdim, d.ismargin, d.dontmargin, d.solveInProgress)
106+
st, d.initialized, d.inferdim, d.ismargin, d.dontmargin, d.solveInProgress, d.solvedCount)
107107
end
108108

109109
function compare(a::VariableNodeData, b::VariableNodeData)

test/fileDFGTests.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
using DistributedFactorGraphs
2+
using IncrementalInference
3+
dfg = LightDFG{NoSolverParams}()
4+
15
@testset "FileDFG Tests" begin
26

37
if typeof(dfg) <: CloudGraphsDFG
@@ -14,6 +18,7 @@
1418
verts[7].solvable = 1
1519
verts[8].solvable = 0
1620
solverData(verts[8]).solveInProgress = 1
21+
setSolvedCount!(verts[1], 5)
1722
#call update to set it on cloud
1823
updateVariable!(dfg, verts[7])
1924
updateVariable!(dfg, verts[8])

test/interfaceTests.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -212,12 +212,13 @@ end
212212
@test !isFactor(dfg, :doesntexist)
213213

214214
# test solveCount for variable
215-
# vari = getVariable(dfg, v1)
216215
@test !isSolved(v1)
217-
@test getSolved(v1) == 0
218-
setSolved!(v1, 1)
219-
@test getSolved(v1) == 1
216+
@test getSolvedCount(v1) == 0
217+
setSolvedCount!(v1, 1)
218+
@test getSolvedCount(v1) == 1
220219
@test isSolved(v1)
220+
setSolvedCount!(dfg, getLabel(v1), 2)
221+
@test getSolvedCount(dfg, getLabel(v1)) == 2
221222

222223
# Session, robot, and user small data tests
223224
smallUserData = Dict{Symbol, String}(:a => "42", :b => "Hello")

0 commit comments

Comments
 (0)