git.delta.rocks / jrsonnet / refs/commits / 64b86a5a335e

difftreelog

feat std.sqrt builtin

Yaroslav Bolyukin2021-07-12parent: #b81ad33.patch.diff
in: master

2 files changed

modifiedcrates/jrsonnet-evaluator/src/builtin/mod.rsdiffbeforeafterboth
89 ("ceil".into(), builtin_ceil),89 ("ceil".into(), builtin_ceil),
90 ("log".into(), builtin_log),90 ("log".into(), builtin_log),
91 ("pow".into(), builtin_pow),91 ("pow".into(), builtin_pow),
92 ("sqrt".into(), builtin_sqrt),
92 ("extVar".into(), builtin_ext_var),93 ("extVar".into(), builtin_ext_var),
93 ("native".into(), builtin_native),94 ("native".into(), builtin_native),
94 ("filter".into(), builtin_filter),95 ("filter".into(), builtin_filter),
304 })305 })
305}306}
307
308fn builtin_sqrt(context: Context, _loc: Option<&ExprLocation>, args: &ArgsDesc) -> Result<Val> {
309 parse_args!(context, "sqrt", args, 1, [
310 0, x: ty!(BoundedNumber<(Some(0.0)), (None)>) => Val::Num;
311 ], {
312 Ok(Val::Num(x.sqrt()))
313 })
314}
306315
307fn builtin_ext_var(context: Context, _loc: Option<&ExprLocation>, args: &ArgsDesc) -> Result<Val> {316fn builtin_ext_var(context: Context, _loc: Option<&ExprLocation>, args: &ArgsDesc) -> Result<Val> {
308 parse_args!(context, "extVar", args, 1, [317 parse_args!(context, "extVar", args, 1, [
modifiedcrates/jrsonnet-stdlib/src/std.jsonnetdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/std.jsonnet
+++ b/crates/jrsonnet-stdlib/src/std.jsonnet
@@ -13,8 +13,6 @@
   modulo:: $intrinsic(modulo),
   floor:: $intrinsic(floor),
   ceil:: $intrinsic(ceil),
-  log:: $intrinsic(log),
-  pow:: $intrinsic(pow),
   extVar:: $intrinsic(extVar),
   native:: $intrinsic(native),
   filter:: $intrinsic(filter),
@@ -25,6 +23,10 @@
   id:: $intrinsic(id),
   parseJson:: $intrinsic(parseJson),
 
+  log:: $intrinsic(log),
+  pow:: $intrinsic(pow),
+  sqrt:: $intrinsic(sqrt),
+
   isString(v):: std.type(v) == 'string',
   isNumber(v):: std.type(v) == 'number',
   isBoolean(v):: std.type(v) == 'boolean',