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

difftreelog

feat std.exp builtin

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

2 files changed

modifiedcrates/jrsonnet-evaluator/src/builtin/mod.rsdiffbeforeafterboth
96 ("asin".into(), builtin_asin),96 ("asin".into(), builtin_asin),
97 ("acos".into(), builtin_acos),97 ("acos".into(), builtin_acos),
98 ("atan".into(), builtin_atan),98 ("atan".into(), builtin_atan),
99 ("exp".into(), builtin_exp),
99 ("extVar".into(), builtin_ext_var),100 ("extVar".into(), builtin_ext_var),
100 ("native".into(), builtin_native),101 ("native".into(), builtin_native),
101 ("filter".into(), builtin_filter),102 ("filter".into(), builtin_filter),
367 })368 })
368}369}
370
371fn builtin_exp(context: Context, _loc: Option<&ExprLocation>, args: &ArgsDesc) -> Result<Val> {
372 parse_args!(context, "exp", args, 1, [
373 0, x: ty!(number) => Val::Num;
374 ], {
375 Ok(Val::Num(x.exp()))
376 })
377}
369378
370fn builtin_ext_var(context: Context, _loc: Option<&ExprLocation>, args: &ArgsDesc) -> Result<Val> {379fn builtin_ext_var(context: Context, _loc: Option<&ExprLocation>, args: &ArgsDesc) -> Result<Val> {
371 parse_args!(context, "extVar", args, 1, [380 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
@@ -34,6 +34,8 @@
   acos:: $intrinsic(acos),
   atan:: $intrinsic(atan),
 
+  exp:: $intrinsic(exp),
+
   isString(v):: std.type(v) == 'string',
   isNumber(v):: std.type(v) == 'number',
   isBoolean(v):: std.type(v) == 'boolean',