W3cubDocs

/Rust

Function std::intrinsics::ctlz

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);

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);

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/intrinsics/fn.ctlz.html