Change vs to be a vec instead of array

This commit is contained in:
2020-12-14 23:16:56 +01:00
parent 113168d7d0
commit 7cfa9ef5d8

View File

@@ -2,7 +2,6 @@ use std::fmt;
use std::iter;
use ndarray::prelude::*;
use ndarray::stack;
use crate::kernel::Kernel;
@@ -12,10 +11,10 @@ pub struct RecursiveFitter {
ts_new: Vec<f64>,
kernel: Box<dyn Kernel>,
ts: Vec<f64>,
ms: Vec<f64>, // TODO Replace with a vec
vs: Array1<f64>, // TODO Replace with a vec
ns: Vec<f64>, // TODO Replace with a vec
xs: Vec<f64>, // TODO Replace with a vec
ms: Vec<f64>,
vs: Vec<f64>,
ns: Vec<f64>,
xs: Vec<f64>,
is_fitted: bool,
h: Array1<f64>,
i: Array2<f64>,
@@ -39,7 +38,7 @@ impl RecursiveFitter {
kernel,
ts: Vec::new(),
ms: Vec::new(),
vs: Array1::zeros(0),
vs: Vec::new(),
ns: Vec::new(),
xs: Vec::new(),
is_fitted: true,
@@ -101,7 +100,7 @@ impl Fitter for RecursiveFitter {
// Usual variables.
self.ts.extend(self.ts_new.iter());
self.ms.extend(iter::repeat(0.0).take(n_new));
self.vs = stack![Axis(0), self.vs, self.kernel.k_diag(&self.ts_new)];
self.vs.extend(self.kernel.k_diag(&self.ts_new).iter());
self.ns.extend(iter::repeat(0.0).take(n_new));
self.xs.extend(iter::repeat(0.0).take(n_new));