Small refactor

This commit is contained in:
2023-01-12 09:44:53 +01:00
parent f81ffd784b
commit 0598531547

View File

@@ -10,31 +10,25 @@ pub use message::*;
pub use variable::*;
pub struct PriorFactor {
id: MessageId,
variable_msg: MessageId,
variable: VariableId,
gaussian: Gaussian,
}
impl PriorFactor {
pub fn new(
message_arena: &mut MessageArena,
variable: VariableId,
gaussian: Gaussian,
) -> PriorFactor {
let id = message_arena.create();
PriorFactor {
id,
pub fn new(message_arena: &mut MessageArena, variable: VariableId, gaussian: Gaussian) -> Self {
Self {
variable_msg: message_arena.create(),
variable,
gaussian,
}
}
pub fn start(&self, variable_arena: &mut VariableArena, message_arena: &mut MessageArena) {
let old = message_arena[self.id];
let old = message_arena[self.variable_msg];
let value = variable_arena[self.variable];
message_arena[self.id] = self.gaussian * old / value;
message_arena[self.variable_msg] = self.gaussian * old / value;
variable_arena[self.variable] = self.gaussian;
}
}
@@ -53,8 +47,8 @@ impl LikelihoodFactor {
mean: VariableId,
value: VariableId,
variance: f64,
) -> LikelihoodFactor {
LikelihoodFactor {
) -> Self {
Self {
mean_msg: message_arena.create(),
value_msg: message_arena.create(),
mean,
@@ -112,8 +106,8 @@ impl SumFactor {
sum: VariableId,
terms: Vec<VariableId>,
coeffs: Vec<f64>,
) -> SumFactor {
SumFactor {
) -> Self {
Self {
sum_msg: message_arena.create(),
terms_msg: terms
.iter()
@@ -265,8 +259,8 @@ impl TruncateFactor {
variable: VariableId,
epsilon: f64,
draw: bool,
) -> TruncateFactor {
TruncateFactor {
) -> Self {
Self {
variable_msg: message_arena.create(),
variable,
epsilon,