pub trait NthRoot:
Copy
+ Mul<Output = Self>
+ Ord
+ Shl<usize, Output = Self>
+ Shr<usize, Output = Self>
+ Div<Output = Self>
+ Add<Output = Self>
+ Sub<Output = Self>
+ From<u64>
+ Debug {
const BITS: usize;
const MAX: Self;
// Required methods
fn checked_mul(self, other: Self) -> Option<Self>;
fn mul_usize(self, other: usize) -> Self;
fn div_usize(self, other: usize) -> Self;
fn bits(self) -> usize;
fn init_root<N: RootDegree>(self) -> InitRoot<Self>;
// Provided methods
fn nth_root<N: RootDegree>(self) -> Self { ... }
fn truncate(self, next_bits: usize, multiply: usize) -> (Self, usize) { ... }
}
Required Associated Constants§
Required Methods§
fn checked_mul(self, other: Self) -> Option<Self>
fn mul_usize(self, other: usize) -> Self
fn div_usize(self, other: usize) -> Self
fn bits(self) -> usize
fn init_root<N: RootDegree>(self) -> InitRoot<Self>
Provided Methods§
fn nth_root<N: RootDegree>(self) -> Self
fn truncate(self, next_bits: usize, multiply: usize) -> (Self, usize)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.