From e11bd2a193f170bebbb2723acc6c52bab2106b0c Mon Sep 17 00:00:00 2001 From: HarmoGlace <23212967+HarmoGlace@users.noreply.github.com> Date: Thu, 13 Apr 2023 14:38:51 +0200 Subject: Add factorial, permutation and binomial to calculation functions (#639) --- src/eval/cast.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/eval') diff --git a/src/eval/cast.rs b/src/eval/cast.rs index 7b306633..e2ae115f 100644 --- a/src/eval/cast.rs +++ b/src/eval/cast.rs @@ -114,6 +114,21 @@ cast_to_value! { v: usize => Value::Int(v as i64) } +cast_from_value! { + u64, + int: i64 => int.try_into().map_err(|_| { + if int < 0 { + "number must be at least zero" + } else { + "number too large" + } + })?, +} + +cast_to_value! { + v: u64 => Value::Int(v as i64) +} + cast_from_value! { NonZeroUsize, int: i64 => int -- cgit v1.2.3