Remove dependency.
This commit is contained in:
@@ -7,7 +7,6 @@ license = "MIT OR Apache-2.0"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
cblas = "0.2"
|
cblas = "0.2"
|
||||||
derivative = "2.1"
|
|
||||||
lapacke = "0.2"
|
lapacke = "0.2"
|
||||||
ndarray = "0.13"
|
ndarray = "0.13"
|
||||||
ordered-float = "1.0"
|
ordered-float = "1.0"
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
use derivative::Derivative;
|
use std::fmt;
|
||||||
|
|
||||||
|
// use derivative::Derivative;
|
||||||
use ndarray::prelude::*;
|
use ndarray::prelude::*;
|
||||||
use ndarray::stack;
|
use ndarray::stack;
|
||||||
|
|
||||||
@@ -6,11 +8,8 @@ use crate::kernel::Kernel;
|
|||||||
|
|
||||||
use super::Fitter;
|
use super::Fitter;
|
||||||
|
|
||||||
#[derive(Derivative)]
|
|
||||||
#[derivative(Debug)]
|
|
||||||
pub struct RecursiveFitter {
|
pub struct RecursiveFitter {
|
||||||
ts_new: Vec<f64>,
|
ts_new: Vec<f64>,
|
||||||
#[derivative(Debug = "ignore")]
|
|
||||||
kernel: Box<dyn Kernel>,
|
kernel: Box<dyn Kernel>,
|
||||||
ts: Vec<f64>,
|
ts: Vec<f64>,
|
||||||
ms: ArrayD<f64>, // TODO Replace with a vec
|
ms: ArrayD<f64>, // TODO Replace with a vec
|
||||||
@@ -58,6 +57,30 @@ impl RecursiveFitter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl fmt::Debug for RecursiveFitter {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
|
f.debug_struct("RecursiveFitter")
|
||||||
|
.field("ts_new", &self.ts_new)
|
||||||
|
.field("ts", &self.ts)
|
||||||
|
.field("ms", &self.ms)
|
||||||
|
.field("vs", &self.vs)
|
||||||
|
.field("ns", &self.ns)
|
||||||
|
.field("xs", &self.xs)
|
||||||
|
.field("is_fitted", &self.is_fitted)
|
||||||
|
.field("h", &self.h)
|
||||||
|
.field("i", &self.i)
|
||||||
|
.field("a", &self.a)
|
||||||
|
.field("q", &self.q)
|
||||||
|
.field("m_p", &self.m_p)
|
||||||
|
.field("p_p", &self.p_p)
|
||||||
|
.field("m_f", &self.m_f)
|
||||||
|
.field("p_f", &self.p_f)
|
||||||
|
.field("m_s", &self.m_s)
|
||||||
|
.field("p_s", &self.p_s)
|
||||||
|
.finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl Fitter for RecursiveFitter {
|
impl Fitter for RecursiveFitter {
|
||||||
fn add_sample(&mut self, t: f64) -> usize {
|
fn add_sample(&mut self, t: f64) -> usize {
|
||||||
let idx = self.ts.len() + self.ts_new.len();
|
let idx = self.ts.len() + self.ts_new.len();
|
||||||
@@ -146,8 +169,6 @@ impl Fitter for RecursiveFitter {
|
|||||||
let k = self.p_p[i].dot(&self.h)
|
let k = self.p_p[i].dot(&self.h)
|
||||||
/ (1.0 + self.xs[i] * self.h.dot(&self.p_p[i]).dot(&self.h));
|
/ (1.0 + self.xs[i] * self.h.dot(&self.p_p[i]).dot(&self.h));
|
||||||
|
|
||||||
// let k = Array1::from(k);
|
|
||||||
|
|
||||||
self.m_f[i] =
|
self.m_f[i] =
|
||||||
&self.m_p[i] + &(&k * (self.ns[i] - self.xs[i] * self.h.dot(&self.m_p[i])));
|
&self.m_p[i] + &(&k * (self.ns[i] - self.xs[i] * self.h.dot(&self.m_p[i])));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user