Trait malachite_base::num::arithmetic::traits::CeilingRoot
source · [−]pub trait CeilingRoot<POW> {
type Output;
fn ceiling_root(self, pow: POW) -> Self::Output;
}
Expand description
Finds the ceiling of the $n$th root of a number.
Required Associated Types
Required Methods
fn ceiling_root(self, pow: POW) -> Self::Output
Implementations on Foreign Types
sourceimpl CeilingRoot<u64> for u8
impl CeilingRoot<u64> for u8
sourceimpl CeilingRoot<u64> for u16
impl CeilingRoot<u64> for u16
sourceimpl CeilingRoot<u64> for u32
impl CeilingRoot<u64> for u32
sourcefn ceiling_root(self, exp: u64) -> u32
fn ceiling_root(self, exp: u64) -> u32
Returns the ceiling of the $n$th root of a u32
.
$f(x, n) = \lceil\sqrt[n]{x}\rceil$.
Worst-case complexity
Constant time and additional memory.
Panics
Panics if exp
is zero.
Examples
See here.
Notes
For cube roots, the u32
implementation uses a piecewise Chebyshev approximation. For
other roots, it uses Newton’s method. In both implementations, the result of these
approximations is adjusted afterwards to account for error.
type Output = u32
sourceimpl CeilingRoot<u64> for u64
impl CeilingRoot<u64> for u64
sourcefn ceiling_root(self, exp: u64) -> u64
fn ceiling_root(self, exp: u64) -> u64
Returns the ceiling of the $n$th root of a u64
.
$f(x, n) = \lceil\sqrt[n]{x}\rceil$.
Worst-case complexity
Constant time and additional memory.
Panics
Panics if exp
is zero.
Examples
See here.
Notes
For cube roots, the u64
implementation uses a piecewise Chebyshev approximation. For
other roots, it uses Newton’s method. In both implementations, the result of these
approximations is adjusted afterwards to account for error.
type Output = u64
sourceimpl CeilingRoot<u64> for usize
impl CeilingRoot<u64> for usize
sourceimpl CeilingRoot<u64> for u128
impl CeilingRoot<u64> for u128
sourcefn ceiling_root(self, exp: u64) -> u128
fn ceiling_root(self, exp: u64) -> u128
Returns the ceiling of the $n$th root of a u128
.
$f(x, n) = \lceil\sqrt[n]{x}\rceil$.
Worst-case complexity
Constant time and additional memory.
Panics
Panics if exp
is zero.
Examples
See here.
Notes
The u128
implementation computes the root using floating-point arithmetic. The
approximate result is adjusted afterwards to account for error.
type Output = u128
sourceimpl CeilingRoot<u64> for i8
impl CeilingRoot<u64> for i8
sourcefn ceiling_root(self, exp: u64) -> i8
fn ceiling_root(self, exp: u64) -> i8
Returns the ceiling of the $n$th root of an integer.
$f(x, n) = \lceil\sqrt[n]{x}\rceil$.
Worst-case complexity
Constant time and additional memory.
Panics
Panics if exp
is zero, or if self
is negative and exp
is even.
Examples
See here.
type Output = i8
sourceimpl CeilingRoot<u64> for i16
impl CeilingRoot<u64> for i16
sourcefn ceiling_root(self, exp: u64) -> i16
fn ceiling_root(self, exp: u64) -> i16
Returns the ceiling of the $n$th root of an integer.
$f(x, n) = \lceil\sqrt[n]{x}\rceil$.
Worst-case complexity
Constant time and additional memory.
Panics
Panics if exp
is zero, or if self
is negative and exp
is even.
Examples
See here.
type Output = i16
sourceimpl CeilingRoot<u64> for i32
impl CeilingRoot<u64> for i32
sourcefn ceiling_root(self, exp: u64) -> i32
fn ceiling_root(self, exp: u64) -> i32
Returns the ceiling of the $n$th root of an integer.
$f(x, n) = \lceil\sqrt[n]{x}\rceil$.
Worst-case complexity
Constant time and additional memory.
Panics
Panics if exp
is zero, or if self
is negative and exp
is even.
Examples
See here.
type Output = i32
sourceimpl CeilingRoot<u64> for i64
impl CeilingRoot<u64> for i64
sourcefn ceiling_root(self, exp: u64) -> i64
fn ceiling_root(self, exp: u64) -> i64
Returns the ceiling of the $n$th root of an integer.
$f(x, n) = \lceil\sqrt[n]{x}\rceil$.
Worst-case complexity
Constant time and additional memory.
Panics
Panics if exp
is zero, or if self
is negative and exp
is even.
Examples
See here.
type Output = i64
sourceimpl CeilingRoot<u64> for i128
impl CeilingRoot<u64> for i128
sourcefn ceiling_root(self, exp: u64) -> i128
fn ceiling_root(self, exp: u64) -> i128
Returns the ceiling of the $n$th root of an integer.
$f(x, n) = \lceil\sqrt[n]{x}\rceil$.
Worst-case complexity
Constant time and additional memory.
Panics
Panics if exp
is zero, or if self
is negative and exp
is even.
Examples
See here.
type Output = i128
sourceimpl CeilingRoot<u64> for isize
impl CeilingRoot<u64> for isize
sourcefn ceiling_root(self, exp: u64) -> isize
fn ceiling_root(self, exp: u64) -> isize
Returns the ceiling of the $n$th root of an integer.
$f(x, n) = \lceil\sqrt[n]{x}\rceil$.
Worst-case complexity
Constant time and additional memory.
Panics
Panics if exp
is zero, or if self
is negative and exp
is even.
Examples
See here.