even_or_odd/lib.rs
1/// Returns a bool that indicates whether or not number is even.
2///
3/// # Examples
4/// ```
5/// let number = 5;
6/// if is_even(number) {
7/// println!("{number} is even.")
8/// } else {
9/// println!("{number} is not even.")
10/// }
11/// ```
12pub fn is_even<T> (number: T) -> bool where
13 T:
14 std::ops::Rem<Output = T> +
15 std::cmp::PartialEq<T> +
16 From<u8>
17{
18 number % T::from(2) == T::from(0)
19}
20
21/// Returns a bool that indicates whether or not number is odd.
22///
23/// # Examples
24/// ```
25/// let number = 5;
26/// if is_odd(number) {
27/// println!("{number} is odd.")
28/// } else {
29/// println!("{number} is not odd.")
30/// }
31/// ```
32pub fn is_odd<T> (number: T) -> bool where
33 T:
34 std::ops::Rem<Output = T> +
35 std::cmp::PartialEq<T> +
36 From<u8>
37{
38 number % T::from(2) != T::from(0)
39}