WIP pulse diff
This commit is contained in:
@@ -1565,6 +1565,7 @@ pub enum AggKind {
|
||||
DimXBinsN(u32),
|
||||
Plain,
|
||||
TimeWeightedScalar,
|
||||
PulseIdDiff,
|
||||
}
|
||||
|
||||
impl AggKind {
|
||||
@@ -1575,6 +1576,7 @@ impl AggKind {
|
||||
Self::DimXBins1 => false,
|
||||
Self::DimXBinsN(_) => false,
|
||||
Self::Plain => false,
|
||||
Self::PulseIdDiff => false,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1585,6 +1587,7 @@ impl AggKind {
|
||||
Self::DimXBins1 => false,
|
||||
Self::DimXBinsN(_) => false,
|
||||
Self::Plain => false,
|
||||
Self::PulseIdDiff => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1610,6 +1613,7 @@ pub fn x_bin_count(shape: &Shape, agg_kind: &AggKind) -> usize {
|
||||
Shape::Wave(n) => *n as usize,
|
||||
Shape::Image(j, k) => *j as usize * *k as usize,
|
||||
},
|
||||
AggKind::PulseIdDiff => 0,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1631,6 +1635,9 @@ impl fmt::Display for AggKind {
|
||||
Self::TimeWeightedScalar => {
|
||||
write!(fmt, "TimeWeightedScalar")
|
||||
}
|
||||
Self::PulseIdDiff => {
|
||||
write!(fmt, "PulseIdDiff")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1655,6 +1662,8 @@ impl FromStr for AggKind {
|
||||
} else if s.starts_with(nmark) {
|
||||
let nbins: u32 = s[nmark.len()..].parse()?;
|
||||
Ok(AggKind::DimXBinsN(nbins))
|
||||
} else if s == "PulseIdDiff" {
|
||||
Ok(AggKind::PulseIdDiff)
|
||||
} else {
|
||||
Err(Error::with_msg(format!("can not parse {} as AggKind", s)))
|
||||
}
|
||||
|
||||
@@ -519,6 +519,9 @@ pub fn binning_scheme_append_to_url(agg_kind: &AggKind, url: &mut Url) {
|
||||
g.append_pair("binningScheme", "binnedX");
|
||||
g.append_pair("binnedXcount", &format!("{}", n));
|
||||
}
|
||||
AggKind::PulseIdDiff => {
|
||||
g.append_pair("binningScheme", "pulseIdDiff");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -537,6 +540,8 @@ pub fn agg_kind_from_binning_scheme(pairs: &BTreeMap<String, String>) -> Result<
|
||||
} else if s == "binnedX" {
|
||||
let u = pairs.get("binnedXcount").map_or("1", |k| k).parse()?;
|
||||
AggKind::DimXBinsN(u)
|
||||
} else if s == "pulseIdDiff" {
|
||||
AggKind::PulseIdDiff
|
||||
} else {
|
||||
return Err(Error::with_msg("can not extract binningScheme"));
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user