pub fn is_computable(residual_orbits: &Vec<core::orbit_ops::Orbit>) -> bool {
    let mut computation: usize = 1;
    for rp in residual_orbits.iter() {
        if rp.len() > 20 { // factorial() will overflow
            return false
        }

        computation *= combinatorial::factorial(rp.len());
        if computation > core::config::COMPUTATION_POWER {
            return false
        }
    }

    true
}
/// Check whether brutal force computation is feasible or not accroding to the parameter COMPUTATION_POWER
Check whether brutal force computation is feasible or not accroding to the parameter COMPUTATION_POWER
Check whether brutal force computation is feasible or not accroding to the parameter COMPUTATION_POWER
pub fn is_computable(residual_orbits: &Vec<core::orbit_ops::Orbit>) -> bool {
    let mut computation: usize = 1;
    for rp in residual_orbits.iter() {
        if rp.len() > 20 { // factorial() will overflow
            return false
        }
        computation *= combinatorial::factorial(rp.len());
        if computation > core::config::COMPUTATION_POWER {
            return false
        }
    }
    true
}
pub fn is_computable ( residual_orbits : & Vec < core :: orbit_ops :: Orbit > ) -> bool { let mut computation : usize = 1 ; for rp in residual_orbits . iter ( ) { if rp . len ( ) > 20 { // factorial() will overflow return false } computation *= combinatorial :: factorial ( rp . len ( ) ) ; if computation > core :: config :: COMPUTATION_POWER { return false } } true }
Check whether brutal force computation is feasible or not accroding to the parameter COMPUTATION_POWER
Check whether brutal force computation is feasible or not accroding to the parameter COMPUTATION_POWER
residual_orbits
&Vec<core::orbit_ops::Orbit>
residual_orbits
&Vec<core::orbit_ops::Orbit>