From 71c4ed00ac8dac18c54181a9536fb8fca2a8eb5f Mon Sep 17 00:00:00 2001 From: sfrembling Date: Tue, 3 Mar 2026 09:03:40 -0600 Subject: [PATCH] revert 3a0440874f8a64a75076b8aad9e82e9280dc5b46 revert revert c8ae4edc5c769fd262e701b858345c199287ded3 revert add is_even and is_odd recursive functions (#1) Reviewed-on: http://192.168.1.227:3000/sfrembling/timeshift/pulls/1 Co-authored-by: Shea Frembling Co-committed-by: Shea Frembling --- src/main.rs | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index e7a11a9..9642ac8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,40 @@ fn main() { - println!("Hello, world!"); + let src = 12; + let result = is_even(src); + println!("{src} is even? {result}"); +} + +fn is_even(n: u32) -> bool { + match n { + 0 => true, + 1 => false, + _ => is_odd(n - 1), + } +} + +fn is_odd(n: u32) -> bool { + match n { + 0 => false, + 1 => true, + _ => is_even(n - 1), + } +} + +#[cfg(test)] +mod tests { + use crate::{is_even, is_odd}; + + #[test] + fn it_works() { + let src = 12; + let result = is_even(src); + assert!(result); + } + + #[test] + fn it_works_again() { + let src = 5; + let result = is_odd(src); + assert!(result); + } }