Function bitwise::word::ceil_pow2
[−]
[src]
pub fn ceil_pow2<T: Word>(x: T) -> T
Round x
to the next power of 2.
Panics
If the next power of 2 cannot be represented by T
.
Examples
use bitwise::word::*; assert_eq!(2.ceil_pow2(), 2); assert_eq!(ceil_pow2(3), 4); assert_eq!(4.ceil_pow2(), 4); assert_eq!(5.ceil_pow2(), 8); assert_eq!(6.ceil_pow2(), 8); assert_eq!(7.ceil_pow2(), 8); assert_eq!(8.ceil_pow2(), 8); assert_eq!(2u32.pow(30).ceil_pow2(), 2u32.pow(30)); assert_eq!((2u32.pow(30) + 1).ceil_pow2(), 2u32.pow(31)); assert_eq!(2u32.pow(31).ceil_pow2(), 2u32.pow(31)); // panics: // assert_eq!((2u32.pow(31) + 1).ceil_pow2(), 2u32.pow(32));