@@ -5,7 +5,7 @@ struct SingletonInferenceVariable <: InferenceVariable end
5
5
"""
6
6
$(TYPEDEF)
7
7
"""
8
- mutable struct VariableNodeData # TODO v0.5.0 {T<:InferenceVariable}
8
+ mutable struct VariableNodeData{T<: InferenceVariable }
9
9
val:: Array{Float64,2}
10
10
bw:: Array{Float64,2}
11
11
BayesNetOutVertIDs:: Array{Symbol,1}
@@ -14,7 +14,7 @@ mutable struct VariableNodeData #TODO v0.5.0 {T<:InferenceVariable}
14
14
eliminated:: Bool
15
15
BayesNetVertID:: Symbol # Union{Nothing, }
16
16
separator:: Array{Symbol,1}
17
- softtype:: InferenceVariable # TODO v0.5.0 T
17
+ softtype:: T
18
18
initialized:: Bool
19
19
inferdim:: Float64
20
20
ismargin:: Bool
@@ -24,7 +24,20 @@ mutable struct VariableNodeData #TODO v0.5.0 {T<:InferenceVariable}
24
24
# A valid, packable default constructor is needed.
25
25
26
26
end
27
- VariableNodeData () = VariableNodeData (zeros (1 ,1 ), zeros (1 ,1 ), Symbol[], Int[], 0 , false , :NOTHING , Symbol[], SingletonInferenceVariable (), false , 0.0 , false , false )
27
+
28
+ VariableNodeData (params... ) = VariableNodeData {InferenceVariable} (params... )
29
+
30
+ function VariableNodeData ()
31
+ st = stacktrace ()
32
+ @warn " VariableNodeData() is depreciated please use VariableNodeData{T}() or VariableNodeData(softtype::T) where T <: InferenceVariable\n $st "
33
+ VariableNodeData {InferenceVariable} (zeros (1 ,1 ), zeros (1 ,1 ), Symbol[], Int[], 0 , false , :NOTHING , Symbol[], SingletonInferenceVariable (), false , 0.0 , false , false )
34
+ end
35
+
36
+ VariableNodeData {T} () where {T <: InferenceVariable } =
37
+ VariableNodeData {T} (zeros (1 ,1 ), zeros (1 ,1 ), Symbol[], Int[], 0 , false , :NOTHING , Symbol[], T (), false , 0.0 , false , false )
38
+
39
+ VariableNodeData (softtype:: T ) where T <: InferenceVariable =
40
+ VariableNodeData {T} (zeros (1 ,1 ), zeros (1 ,1 ), Symbol[], Int[], 0 , false , :NOTHING , Symbol[], softtype, false , 0.0 , false , false )
28
41
29
42
"""
30
43
$(TYPEDEF)
@@ -94,7 +107,7 @@ mutable struct DFGVariable <: AbstractDFGVariable
94
107
timestamp:: DateTime
95
108
tags:: Vector{Symbol}
96
109
estimateDict:: Dict{Symbol, Dict{Symbol, <: AbstractVariableEstimate}}
97
- solverDataDict:: Dict{Symbol, VariableNodeData}
110
+ solverDataDict:: Dict{Symbol, VariableNodeData} # TODO v0.5.0 Dict{Symbol, VariableNodeData{<:InferenceVariable}}
98
111
smallData:: Dict{String, String}
99
112
bigData:: Dict{Symbol, AbstractBigDataEntry}
100
113
ready:: Int
@@ -106,11 +119,29 @@ end
106
119
$SIGNATURES
107
120
DFGVariable constructors.
108
121
"""
109
- DFGVariable (label:: Symbol , _internalId:: Int64 ) =
110
- DFGVariable (label, now (), Symbol[], Dict {Symbol, Dict{Symbol, VariableEstimate}} (), Dict {Symbol, VariableNodeData} (:default => VariableNodeData ()), Dict {String, String} (), Dict {Symbol,AbstractBigDataEntry} (), 0 , 0 , _internalId)
111
-
112
- DFGVariable (label:: Symbol ) =
113
- DFGVariable (label, now (), Symbol[], Dict {Symbol, VariableEstimate} (), Dict {Symbol, VariableNodeData} (:default => VariableNodeData ()), Dict {String, String} (), Dict {Symbol,AbstractBigDataEntry} (), 0 , 0 , 0 )
122
+ function DFGVariable (label:: Symbol , _internalId:: Int64 = 0 ) # where {T <:InferenceVariable}
123
+ st = stacktrace ()
124
+ @warn " DFGVariable(label::Symbol, _internalId::Int64 = 0) is depreciated please use DFGVariable(label::Symbol, softtype::T, _internalId::Int64 = 0) where T <: InferenceVariable\n $st "
125
+ T = InferenceVariable
126
+ DFGVariable (label, now (), Symbol[],
127
+ Dict {Symbol, Dict{Symbol, VariableEstimate}} (),
128
+ Dict {Symbol, VariableNodeData{T}} (:default => VariableNodeData ()),
129
+ Dict {String, String} (),
130
+ Dict {Symbol,AbstractBigDataEntry} (), 0 , 0 , _internalId)
131
+ end
132
+ DFGVariable (label:: Symbol , softtype:: T , _internalId:: Int64 = 0 ) where {T <: InferenceVariable } =
133
+ DFGVariable (label, now (), Symbol[],
134
+ Dict {Symbol, Dict{Symbol, VariableEstimate}} (),
135
+ Dict {Symbol, VariableNodeData{T}} (:default => VariableNodeData {T} ()),
136
+ Dict {String, String} (),
137
+ Dict {Symbol,AbstractBigDataEntry} (), 0 , 0 , _internalId)
138
+
139
+ # DFGVariable(label::Symbol, _internalId::Int64) =
140
+ # DFGVariable(label, now(), Symbol[], Dict{Symbol, Dict{Symbol, VariableEstimate}}(), Dict{Symbol, VariableNodeData}(:default => VariableNodeData()), Dict{String, String}(), Dict{Symbol,AbstractBigDataEntry}(), 0, 0, _internalId)
141
+ #
142
+ # DFGVariable(label::Symbol) =
143
+ # DFGVariable(label, now(), Symbol[], Dict{Symbol, VariableEstimate}(), Dict{Symbol, VariableNodeData}(:default => VariableNodeData()), Dict{String, String}(), Dict{Symbol,AbstractBigDataEntry}(), 0, 0, 0)
144
+ #
114
145
115
146
# Accessors
116
147
label (v:: DFGVariable ) = v. label
0 commit comments