Crate twiddle[−][src]
A small library for bit-twiddling.
Example
extern crate twiddle; use twiddle::Twiddle; struct UnpackedF32 { negative: bool, exponent: i16, fraction: u32, } impl From<f32> for UnpackedF32 { fn from(f: f32) -> UnpackedF32 { let b = f.to_bits(); UnpackedF32 { negative: b.bit(31), exponent: (b.bits(30..=23) as i16) - 127, fraction: b.bits(22..=0) } } } fn main() { for f in -5..=5 { let u = UnpackedF32::from(f as f32); println!("{:+} = {}1.{:023b} * 2^{}", f, match u.negative { false => "+", true => "-" }, u.fraction, u.exponent ); } }
Structs
Split |
An iterator over sets of bits. See |
Traits
Int |
A helper trait to avoid dependencies. |
Twiddle |
A trait for bit-twiddling utility functions. |