Function factor

Source
pub fn factor(n: u64) -> Result<Vec<u64>, FactorError>
Expand description

Factors a number into its primes

use com_croftsoft_core::math::math_lib::*;
assert_eq!(factor(0).unwrap_err(), FactorError::ArgumentIsZeroOrOne(0));
assert_eq!(factor(1).unwrap_err(), FactorError::ArgumentIsZeroOrOne(1));
assert_eq!(factor(2).unwrap(), vec!(2));
assert_eq!(factor(3).unwrap(), vec!(3));
assert_eq!(factor(4).unwrap(), vec!(2, 2));
assert_eq!(factor(5).unwrap(), vec!(5));
assert_eq!(factor(6).unwrap(), vec!(2, 3));
assert_eq!(factor(7).unwrap(), vec!(7));
assert_eq!(factor(8).unwrap(), vec!(2, 2, 2));
assert_eq!(factor(9).unwrap(), vec!(3, 3));