Mojo function
prev_power_of_two
prev_power_of_two(val: Int) -> Int
Computes the largest power of 2 that is less than or equal to the input value. Any integral value less than or equal to 0 will be floored to 0.
This operation is called bit_floor()
in C++.
Args:
- val (
Int
): The input value.
Returns:
The largest power of 2 that is less than or equal to the input value.
prev_power_of_two[type: DType, width: Int, //](val: SIMD[type, width]) -> SIMD[type, width]
Computes the largest power of 2 that is less than or equal to the input value for each element of a SIMD vector. Any integral value less than or equal to 0 will be floored to 0.
This operation is called bit_floor()
in C++.
Constraints:
The element type of the input vector must be integral.
Parameters:
- type (
DType
):dtype
used for the computation. - width (
Int
): SIMD width used for the computation.
Args:
- val (
SIMD[type, width]
): The input value.
Returns:
A SIMD value where the element at position i
is the largest power of 2 that is less than or equal to the integer at position i
of the input value.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!