cfx_math/nth_root/
const_generic.rsuse std::ops::{Add, Mul, Sub};
use super::RootDegree;
use typenum::*;
pub trait SubU1 {
type Output: Unsigned;
}
impl<T> SubU1 for T
where
T: Sub<U1>,
<T as Sub<U1>>::Output: Unsigned,
{
type Output = <T as Sub<U1>>::Output;
}
pub trait RootInvParams {}
impl<N: RootDegree, P: Unsigned> RootInvParams for (N, P)
where
P: Unsigned + Add<U1>,
N: RootDegree + Mul<<P as Add<U1>>::Output>,
<N as Mul<<P as Add<U1>>::Output>>::Output:
IsLessOrEqual<U256, Output = True>,
{
}