difftreelog
perf faster range
in: master
2 files changed
crates/jrsonnet-evaluator/build.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/build.rs
+++ b/crates/jrsonnet-evaluator/build.rs
@@ -39,7 +39,7 @@
if **name == *"join" || **name == *"manifestJsonEx" ||
**name == *"escapeStringJson" || **name == *"equals" ||
**name == *"base64" || **name == *"foldl" || **name == *"foldr" ||
- **name == *"sortImpl"
+ **name == *"sortImpl" || **name == *"range"
)
})
.collect(),
crates/jrsonnet-evaluator/src/evaluate.rsdiffbeforeafterboth633 }633 }634 Ok(Val::Arr(Rc::new(new_arr)))634 Ok(Val::Arr(Rc::new(new_arr)))635 }))?,635 }))?,636 // faster637 ("std", "range") => parse_args!(context, "std.range", args, 2, [638 0, from: [Val::Num]!!Val::Num, vec![ValType::Num];639 0, to: [Val::Num]!!Val::Num, vec![ValType::Num];640 ], {641 let mut out = Vec::with_capacity((1+to as usize-from as usize).max(0));642 for i in from as usize..=to as usize {643 out.push(Val::Num(i as f64));644 }645 Val::Arr(Rc::new(out))646 }),636 ("std", "char") => parse_args!(context, "std.char", args, 1, [647 ("std", "char") => parse_args!(context, "std.char", args, 1, [637 0, n: [Val::Num]!!Val::Num, vec![ValType::Num];648 0, n: [Val::Num]!!Val::Num, vec![ValType::Num];638 ], {649 ], {