difftreelog
feat std.sqrt builtin
in: master
2 files changed
crates/jrsonnet-evaluator/src/builtin/mod.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/builtin/mod.rs
+++ b/crates/jrsonnet-evaluator/src/builtin/mod.rs
@@ -89,6 +89,7 @@
("ceil".into(), builtin_ceil),
("log".into(), builtin_log),
("pow".into(), builtin_pow),
+ ("sqrt".into(), builtin_sqrt),
("extVar".into(), builtin_ext_var),
("native".into(), builtin_native),
("filter".into(), builtin_filter),
@@ -304,6 +305,14 @@
})
}
+fn builtin_sqrt(context: Context, _loc: Option<&ExprLocation>, args: &ArgsDesc) -> Result<Val> {
+ parse_args!(context, "sqrt", args, 1, [
+ 0, x: ty!(BoundedNumber<(Some(0.0)), (None)>) => Val::Num;
+ ], {
+ Ok(Val::Num(x.sqrt()))
+ })
+}
+
fn builtin_ext_var(context: Context, _loc: Option<&ExprLocation>, args: &ArgsDesc) -> Result<Val> {
parse_args!(context, "extVar", args, 1, [
0, x: ty!(string) => Val::Str;
crates/jrsonnet-stdlib/src/std.jsonnetdiffbeforeafterboth13 modulo:: $intrinsic(modulo),13 modulo:: $intrinsic(modulo),14 floor:: $intrinsic(floor),14 floor:: $intrinsic(floor),15 ceil:: $intrinsic(ceil),15 ceil:: $intrinsic(ceil),16 log:: $intrinsic(log),17 pow:: $intrinsic(pow),18 extVar:: $intrinsic(extVar),16 extVar:: $intrinsic(extVar),19 native:: $intrinsic(native),17 native:: $intrinsic(native),20 filter:: $intrinsic(filter),18 filter:: $intrinsic(filter),24 trace:: $intrinsic(trace),22 trace:: $intrinsic(trace),25 id:: $intrinsic(id),23 id:: $intrinsic(id),26 parseJson:: $intrinsic(parseJson),24 parseJson:: $intrinsic(parseJson),2526 log:: $intrinsic(log),27 pow:: $intrinsic(pow),28 sqrt:: $intrinsic(sqrt),272928 isString(v):: std.type(v) == 'string',30 isString(v):: std.type(v) == 'string',29 isNumber(v):: std.type(v) == 'number',31 isNumber(v):: std.type(v) == 'number',