pub trait FloorLogBasePowerOf2<POW> {
    type Output;

    // Required method
    fn floor_log_base_power_of_2(self, pow: POW) -> Self::Output;
}
Expand description

Calculates the floor of the base-$2^k$ logarithm of a number.

Required Associated Types§

Required Methods§

source

fn floor_log_base_power_of_2(self, pow: POW) -> Self::Output

Implementations on Foreign Types§

source§

impl FloorLogBasePowerOf2<u64> for f32

source§

fn floor_log_base_power_of_2(self, pow: u64) -> i64

Returns the floor of the base-$2^k$ logarithm of a positive float.

$f(x, k) = \lfloor\log_{2^k} x\rfloor$.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self or pow are 0.

§Examples

See here.

§

type Output = i64

source§

impl FloorLogBasePowerOf2<u64> for f64

source§

fn floor_log_base_power_of_2(self, pow: u64) -> i64

Returns the floor of the base-$2^k$ logarithm of a positive float.

$f(x, k) = \lfloor\log_{2^k} x\rfloor$.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self or pow are 0.

§Examples

See here.

§

type Output = i64

source§

impl FloorLogBasePowerOf2<u64> for u8

source§

fn floor_log_base_power_of_2(self, pow: u64) -> u64

Returns the floor of the base-$2^k$ logarithm of a positive integer.

$f(x, k) = \lfloor\log_{2^k} x\rfloor$.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is infinite, NaN, or less than or equal to zero, or if pow is zero.

§Examples

See here.

§

type Output = u64

source§

impl FloorLogBasePowerOf2<u64> for u16

source§

fn floor_log_base_power_of_2(self, pow: u64) -> u64

Returns the floor of the base-$2^k$ logarithm of a positive integer.

$f(x, k) = \lfloor\log_{2^k} x\rfloor$.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is infinite, NaN, or less than or equal to zero, or if pow is zero.

§Examples

See here.

§

type Output = u64

source§

impl FloorLogBasePowerOf2<u64> for u32

source§

fn floor_log_base_power_of_2(self, pow: u64) -> u64

Returns the floor of the base-$2^k$ logarithm of a positive integer.

$f(x, k) = \lfloor\log_{2^k} x\rfloor$.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is infinite, NaN, or less than or equal to zero, or if pow is zero.

§Examples

See here.

§

type Output = u64

source§

impl FloorLogBasePowerOf2<u64> for u64

source§

fn floor_log_base_power_of_2(self, pow: u64) -> u64

Returns the floor of the base-$2^k$ logarithm of a positive integer.

$f(x, k) = \lfloor\log_{2^k} x\rfloor$.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is infinite, NaN, or less than or equal to zero, or if pow is zero.

§Examples

See here.

§

type Output = u64

source§

impl FloorLogBasePowerOf2<u64> for u128

source§

fn floor_log_base_power_of_2(self, pow: u64) -> u64

Returns the floor of the base-$2^k$ logarithm of a positive integer.

$f(x, k) = \lfloor\log_{2^k} x\rfloor$.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is infinite, NaN, or less than or equal to zero, or if pow is zero.

§Examples

See here.

§

type Output = u64

source§

impl FloorLogBasePowerOf2<u64> for usize

source§

fn floor_log_base_power_of_2(self, pow: u64) -> u64

Returns the floor of the base-$2^k$ logarithm of a positive integer.

$f(x, k) = \lfloor\log_{2^k} x\rfloor$.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is infinite, NaN, or less than or equal to zero, or if pow is zero.

§Examples

See here.

§

type Output = u64

Implementors§