mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-05-01 01:50:00 -07:00
global: big snapshot
This commit is contained in:
@@ -11,7 +11,9 @@ use super::{Distribution, SumCum};
|
||||
/// Matches the common full_stats() pattern: average + minmax + percentiles + sum + cumulative
|
||||
#[derive(Clone, Traversable)]
|
||||
pub struct Full<I: VecIndex, T: ComputedVecValue + JsonSchema> {
|
||||
#[traversable(flatten)]
|
||||
pub distribution: Distribution<I, T>,
|
||||
#[traversable(flatten)]
|
||||
pub sum_cum: SumCum<I, T>,
|
||||
}
|
||||
|
||||
|
||||
@@ -11,8 +11,11 @@ use super::{MinMax, SumCum};
|
||||
/// Sum + Cumulative + Average + Min + Max. Like `Full` but without percentiles.
|
||||
#[derive(Clone, Traversable)]
|
||||
pub struct Stats<I: VecIndex, T: ComputedVecValue + JsonSchema> {
|
||||
#[traversable(flatten)]
|
||||
pub sum_cum: SumCum<I, T>,
|
||||
#[traversable(flatten)]
|
||||
pub average: AverageVec<I, T>,
|
||||
#[traversable(flatten)]
|
||||
pub minmax: MinMax<I, T>,
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,14 @@ impl<I: VecIndex, T: ComputedVecValue + JsonSchema> SumCum<I, T> {
|
||||
})
|
||||
}
|
||||
|
||||
/// Import with raw sum name (no _sum suffix) for cases where sum should merge with base.
|
||||
pub fn forced_import_sum_raw(db: &Database, name: &str, version: Version) -> Result<Self> {
|
||||
Ok(Self {
|
||||
sum: SumVec::forced_import_raw(db, name, version)?,
|
||||
cumulative: CumulativeVec::forced_import(db, name, version)?,
|
||||
})
|
||||
}
|
||||
|
||||
/// Compute sum and cumulative from source data.
|
||||
pub fn compute<A>(
|
||||
&mut self,
|
||||
|
||||
Reference in New Issue
Block a user