pub trait NumDigits {
    // Required methods
    fn cross_sum(&self) -> Self;
    fn digits(&self) -> Vec<u8>;
}
Expand description

Trait for the Digits of a given number.

Required Methods§

source

fn cross_sum(&self) -> Self

Calculates the cross sum of a number.

Returns

A Self.

Examples
use lib_rapid::math::general::NumDigits;
 
assert_eq!(3u8, 12.cross_sum());
assert_eq!(9u16, 342.cross_sum());
assert_eq!(52u64, 4928947234u64.cross_sum());
source

fn digits(&self) -> Vec<u8>

Gets the digits as a number with the 1s place at index 0.

Returns

A Vec<u8>.

Examples
use lib_rapid::math::general::NumDigits;
 
assert_eq!(vec![4,3,2,1], 1234u16.digits());
assert_eq!(vec![0], 0u8.digits());

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, T> NumDigits for T
where u8: TryFrom<T>, T: From<u8> + PartialEq + DivAssign + PartialOrd + Rem<Output = T> + Copy + AddAssign + Div<Output = T> + Sub<Output = T> + Add<Output = T> + Mul<Output = T> + SubAssign + MulAssign,