--- a/crates/jrsonnet-stdlib/src/lib.rs +++ b/crates/jrsonnet-stdlib/src/lib.rs @@ -86,6 +86,7 @@ ("sign", builtin_sign::INST), ("max", builtin_max::INST), ("min", builtin_min::INST), + ("sum", builtin_sum::INST), ("modulo", builtin_modulo::INST), ("floor", builtin_floor::INST), ("ceil", builtin_ceil::INST), --- a/crates/jrsonnet-stdlib/src/math.rs +++ b/crates/jrsonnet-stdlib/src/math.rs @@ -25,6 +25,11 @@ } #[builtin] +pub fn builtin_sum(arr: Vec) -> f64 { + arr.iter().sum() +} + +#[builtin] pub fn builtin_modulo(x: f64, y: f64) -> f64 { x % y }