logisheets_controller/calc_engine/calculator/math/
combine.rs

1use num::ToPrimitive;
2
3use super::fact::fact;
4
5// Return None if the result is more than 64 bits.
6pub fn calc_combine(number: u64, chosen: u64) -> Option<u64> {
7    let res = fact(number) / fact(chosen) / fact(number - chosen);
8    res.to_u64()
9}
10
11// Return None if the result is more than 64 bits.
12pub fn calc_permut(number: u64, chosen: u64) -> Option<u64> {
13    let res = fact(number) / fact(number - chosen);
14    res.to_u64()
15}