37 lines
807 B
Rust
37 lines
807 B
Rust
use crate::storage::Storage;
|
|
|
|
use super::Observation;
|
|
|
|
pub struct GaussianObservation {
|
|
m: usize,
|
|
items: Vec<usize>,
|
|
coeffs: Vec<f64>,
|
|
indices: Vec<usize>,
|
|
ns_cav: Vec<f64>,
|
|
xs_cav: Vec<f64>,
|
|
t: f64,
|
|
logpart: f64,
|
|
exp_ll: usize,
|
|
margin: f64,
|
|
}
|
|
|
|
impl GaussianObservation {
|
|
pub fn new(storage: &mut Storage, elems: &[(usize, f64)], diff: f64, t: f64, var: f64) -> Self {
|
|
unimplemented!();
|
|
}
|
|
}
|
|
|
|
impl Observation for GaussianObservation {
|
|
fn match_moments(&self, mean_cav: f64, cov_cav: f64) -> (f64, f64, f64) {
|
|
unimplemented!();
|
|
}
|
|
|
|
fn ep_update(&mut self, lr: f64, storage: &mut Storage) -> f64 {
|
|
unimplemented!();
|
|
}
|
|
|
|
fn kl_update(&mut self, lr: f64, storage: &mut Storage) -> f64 {
|
|
unimplemented!();
|
|
}
|
|
}
|