pub struct Ema {
pub period: usize,
}Expand description
Exponential Moving Average aggregation EMA = price * k + EMA(previous) * (1 - k) where k = 2 / (n + 1)
Fields§
§period: usizeImplementations§
Trait Implementations§
Source§impl AggregateFunc for Ema
impl AggregateFunc for Ema
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Returns the name of this aggregation function (e.g., “sum”, “avg”).
Source§fn apply(&self, events: &[Event], field: Option<&str>) -> Value
fn apply(&self, events: &[Event], field: Option<&str>) -> Value
Apply the aggregation to a slice of events. Read more
Source§fn apply_refs(&self, events: &[&Event], field: Option<&str>) -> Value
fn apply_refs(&self, events: &[&Event], field: Option<&str>) -> Value
Apply aggregation to event references (internal helper)
Apply aggregation to shared events (avoids cloning in hot paths). Read more
Source§fn apply_columnar(
&self,
buffer: &mut ColumnarBuffer,
field: Option<&str>,
) -> Value
fn apply_columnar( &self, buffer: &mut ColumnarBuffer, field: Option<&str>, ) -> Value
Apply aggregation to columnar buffer (SIMD-optimized for numeric aggregations). Read more
Auto Trait Implementations§
impl Freeze for Ema
impl RefUnwindSafe for Ema
impl Send for Ema
impl Sync for Ema
impl Unpin for Ema
impl UnsafeUnpin for Ema
impl UnwindSafe for Ema
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
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