pub struct DerivedSeriesEngine { /* private fields */ }Expand description
Engine that evaluates derived series in topological order.
§Evaluation Strategy
Definitions are topologically sorted into wave-front levels:
nodes within the same level share no mutual dependencies and are
evaluated in parallel via rayon. After each level completes,
results are merged into the MultiSeriesContext so that the
next level’s expressions can reference them.
Implementations§
Source§impl DerivedSeriesEngine
impl DerivedSeriesEngine
Sourcepub fn new(definitions: Vec<DerivedSeriesDefinition>) -> Self
pub fn new(definitions: Vec<DerivedSeriesDefinition>) -> Self
Creates a new engine from the given definitions.
Sourcepub fn evaluate(
&self,
ctx: &mut MultiSeriesContext,
) -> Result<HashMap<String, Vec<f64>>, MultivariateError>
pub fn evaluate( &self, ctx: &mut MultiSeriesContext, ) -> Result<HashMap<String, Vec<f64>>, MultivariateError>
Topologically sort and evaluate all definitions.
Nodes within the same wave-front level are evaluated in parallel via rayon. Results are merged into the context after each level so that the next level’s expressions can reference them.
Auto Trait Implementations§
impl !RefUnwindSafe for DerivedSeriesEngine
impl !UnwindSafe for DerivedSeriesEngine
impl Freeze for DerivedSeriesEngine
impl Send for DerivedSeriesEngine
impl Sync for DerivedSeriesEngine
impl Unpin for DerivedSeriesEngine
impl UnsafeUnpin for DerivedSeriesEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more