#![warn(missing_docs)]
mod permutation;
#[doc(inline)]
pub use crate::permutation::Permutation;
mod permutations;
#[doc(inline)]
pub use crate::permutations::Permutations;
#[cfg(test)]
mod tests {
fn factorial(n: u128) -> u128 {
(1..=n).product::<u128>()
}
#[test]
fn test_limits() {
assert!(factorial(8) < 2_u128.pow(16));
assert!(factorial(9) >= 2_u128.pow(16));
assert!(factorial(12) < 2_u128.pow(32));
assert!(factorial(13) >= 2_u128.pow(32));
assert!(factorial(20) < 2_u128.pow(64));
assert!(factorial(21) >= 2_u128.pow(64));
}
}