Shared Rust kernels
catalogue/logical_more
All modules · quoted at commit 9e1884369a67 of DnaCalc/DnaCalc. Comments are the source's own.
selected · 7 lines · calc-func/src/catalogue/logical_more.rs on GitHubfn selected(value: &CalcValue) -> CalcValue {
if value.is_missing() {
CalcValue::number(0.0)
} else {
value.clone()
}
}
Used by 2 functions.
selection · 12 lines · calc-func/src/catalogue/logical_more.rs on GitHub/// A selected result may be an array. The caller owns lifting array conditions/cases;
/// scalar selectors return their chosen result whole, without inspecting unused results.
/// A callable keeps its identity here; worksheet publication owns its visible core.
fn selection(
id: FunctionId,
arguments: &[CalcValue],
services: &EvalServices<'_>,
select: fn(&Site<'_>, &[CalcValue]) -> Step<CalcValue>,
) -> Result<CalcValue, FunctionFault> {
let site = Site::new(id, services);
Site::finish(site.binary64().and_then(|()| select(&site, arguments)))
}
Used by 2 functions.