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
13 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),
25
26 log:: $intrinsic(log),
27 pow:: $intrinsic(pow),
28 sqrt:: $intrinsic(sqrt),
2729
28 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',