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}