git.delta.rocks / jrsonnet / refs/commits / ff1f4b41911d

difftreelog

Merge pull request #100 from CertainLach/xor-builtin

Yaroslav Bolyukin2023-04-09parents: #ff6854d #cbbe450.patch.diff
in: master

3 files changed

modifiedcrates/jrsonnet-stdlib/src/lib.rsdiffbeforeafterboth
--- 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),
@@ -105,6 +106,7 @@
 		("mod", builtin_mod::INST),
 		("primitiveEquals", builtin_primitive_equals::INST),
 		("equals", builtin_equals::INST),
+		("xor", builtin_xor::INST),
 		("format", builtin_format::INST),
 		// Sort
 		("sort", builtin_sort::INST),
modifiedcrates/jrsonnet-stdlib/src/math.rsdiffbeforeafterboth
24 a.min(b)24 a.min(b)
25}25}
26
27#[builtin]
28pub fn builtin_sum(arr: Vec<f64>) -> f64 {
29 arr.iter().sum()
30}
2631
27#[builtin]32#[builtin]
28pub fn builtin_modulo(x: f64, y: f64) -> f64 {33pub fn builtin_modulo(x: f64, y: f64) -> f64 {
modifiedcrates/jrsonnet-stdlib/src/operator.rsdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/operator.rs
+++ b/crates/jrsonnet-stdlib/src/operator.rs
@@ -34,6 +34,11 @@
 }
 
 #[builtin]
+pub fn builtin_xor(x: bool, y: bool) -> bool {
+	x ^ y
+}
+
+#[builtin]
 pub fn builtin_format(str: IStr, vals: Val) -> Result<String> {
 	std_format(&str, vals)
 }