@@ -228,7 +228,7 @@ function listVariables(
228
228
return map (
229
229
v -> v. label,
230
230
getVariables (dfg, regexFilter; tags = tags, solvable = solvable),
231
- )
231
+ ):: Vector{Symbol}
232
232
else
233
233
variables = copy (dfg. g. variables. keys)
234
234
! isnothing (regexFilter) && filter! (v -> occursin (regexFilter, String (v)), variables)
@@ -247,7 +247,7 @@ function getFactors(
247
247
)
248
248
# factors = map(v -> v.dfgNode, filter(n -> n.dfgNode isa DFGFactor, vertices(dfg.g)))
249
249
factors = collect (values (dfg. g. factors))
250
- if regexFilter != nothing
250
+ if ! isnothing (regexFilter)
251
251
factors = filter (f -> occursin (regexFilter, String (f. label)), factors)
252
252
end
253
253
if solvable != 0
@@ -274,7 +274,7 @@ function listFactors(
274
274
)
275
275
end
276
276
factors = copy (dfg. g. factors. keys)
277
- if regexFilter != nothing
277
+ if ! isnothing (regexFilter)
278
278
factors = filter (f -> occursin (regexFilter, String (f)), factors)
279
279
end
280
280
if solvable != 0
@@ -298,25 +298,7 @@ function _isSolvable(dfg::GraphsDFG, label::Symbol, ready::Int)
298
298
end
299
299
300
300
function listNeighbors (dfg:: GraphsDFG , node:: DFGNode ; solvable:: Int = 0 )
301
- label = node. label
302
- if ! exists (dfg, label)
303
- error (
304
- " Variable/factor with label '$(node. label) ' does not exist in the factor graph" ,
305
- )
306
- end
307
-
308
- neighbors_il = FactorGraphs. outneighbors (dfg. g, dfg. g. labels[label])
309
- neighbors_ll = [dfg. g. labels[i] for i in neighbors_il]
310
- # Additional filtering
311
- solvable != 0 && filter! (lbl -> _isSolvable (dfg, lbl, solvable), neighbors_ll)
312
-
313
- # Variable sorting (order is important)
314
- if typeof (node) <: AbstractDFGFactor
315
- order = intersect (node. _variableOrderSymbols, neighbors_ll)# map(v->v.dfgNode.label, neighbors))
316
- return order
317
- end
318
-
319
- return neighbors_ll:: Vector{Symbol}
301
+ return listNeighbors (dfg, node. label; solvable)
320
302
end
321
303
322
304
function listNeighbors (dfg:: GraphsDFG , label:: Symbol ; solvable:: Int = 0 )
@@ -332,10 +314,10 @@ function listNeighbors(dfg::GraphsDFG, label::Symbol; solvable::Int = 0)
332
314
# Variable sorting (order is important)
333
315
if haskey (dfg. g. factors, label)
334
316
order = intersect (dfg. g. factors[label]. _variableOrderSymbols, neighbors_ll)# map(v->v.dfgNode.label, neighbors))
335
- return order
317
+ return order:: Vector{Symbol}
336
318
end
337
319
338
- return neighbors_ll
320
+ return neighbors_ll:: Vector{Symbol}
339
321
end
340
322
341
323
function getNeighborhood (
0 commit comments