pub trait Basis<const N: usize>: Send + Sync {
// Required methods
fn num_features(&self) -> usize;
fn evaluate(&self, state: &[f64; N], buffer: &mut [f64]);
// Provided methods
fn evaluate_buffers(&self, state: &[f64; N], buffer: &mut Vec<f64>) { ... }
fn eval_dot(&self, state: &[f64; N], weights: &[f64]) -> f64 { ... }
}Expand description
Trait defining a set of basis functions $\Phi(x) = [\phi_1(x), …, \phi_K(x)]$.
Used for linear function approximation $V(x) \approx \sum w_i \phi_i(x)$.
Required Methods§
Sourcefn num_features(&self) -> usize
fn num_features(&self) -> usize
Returns the number of basis functions (K).
Provided Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".