pub trait FloorRoot<POW> {
    type Output;

    fn floor_root(self, pow: POW) -> Self::Output;
}
Expand description

Finds the floor of the $n$th root of a number.

Required Associated Types

Required Methods

Implementations on Foreign Types

Returns the floor of the $n$th root of a u8.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

Worst-case complexity

Constant time and additional memory.

Panics

Panics if exp is zero.

Examples

See here.

Notes

The u8 implementation uses lookup tables.

Returns the floor of the $n$th root of a u16.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

Worst-case complexity

Constant time and additional memory.

Panics

Panics if exp is zero.

Examples

See here.

Notes

The u16 implementation calls the implementation for u32s.

Returns the floor of the $n$th root of a u32.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

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.

Returns the floor of the $n$th root of a u64.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

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.

Returns the floor of the $n$th root of a usize.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

Worst-case complexity

Constant time and additional memory.

Panics

Panics if exp is zero.

Examples

See here.

Notes

The usize implementation calls the u32 or u64 implementations.

Returns the floor of the $n$th root of a u128.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

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.

Returns the floor of the $n$th root of an integer.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

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.

Returns the floor of the $n$th root of an integer.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

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.

Returns the floor of the $n$th root of an integer.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

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.

Returns the floor of the $n$th root of an integer.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

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.

Returns the floor of the $n$th root of an integer.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

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.

Returns the floor of the $n$th root of an integer.

$f(x, n) = \lfloor\sqrt[n]{x}\rfloor$.

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.

Implementors