Function std::intrinsics::ctlz [] [src]

pub unsafe extern "rust-intrinsic" fn ctlz<T>(x: T) -> T
🔬 This is a nightly-only experimental API. (core_intrinsics)

intrinsics are unlikely to ever be stabilized, instead they should be used through stabilized interfaces in the rest of the standard library

[]

Returns the number of leading unset bits (zeroes) in an integer type T.

Examples

#![feature(core_intrinsics)]

use std::intrinsics::ctlz;

let x = 0b0001_1100_u8;
let num_leading = unsafe { ctlz(x) };
assert_eq!(num_leading, 3);Run

An x with value 0 will return the bit width of T.

#![feature(core_intrinsics)]

use std::intrinsics::ctlz;

let x = 0u16;
let num_leading = unsafe { ctlz(x) };
assert_eq!(num_leading, 16);Run