Skip to main content

function

bit_floor

bit_floor(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.

Args:

  • val (Int): The input value.

Returns:

The largest power of 2 that is less than or equal to the input value.

bit_floor[type: DType, simd_width: Int](val: SIMD[type, simd_width]) -> SIMD[$0, $1]

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.

Constraints:

The element type of the input vector must be integral.

Parameters:

  • type (DType): dtype used for the computation.
  • simd_width (Int): SIMD width used for the computation.

Args:

  • val (SIMD[type, simd_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.