3 unstable releases

0.2.1 Feb 7, 2022
0.2.0 Feb 7, 2022
0.1.0 Feb 7, 2021

#8 in #nibble

MIT license

5KB

License Crates.io Documentation

Encode an index of a nibble from a u64 as a u8.

| 4 bits | 4 bits |

| index of nibble | nibble of data |

Usage

use crumb::Crumb;

fn main() {
	let crumb = Crumb::new(1, 0b11111111).unwrap();
	assert_eq!(0b11110000u64, crumb.get_u64()); // external bits are discarded
}

Name

A nibble of something is about the size of a crumb or something like that...

Why?

Was doing some research on variable length integers and realized how nicely this fits.

For What?

Not sure!

I don't think there are too many applications for this.


lib.rs:

Encode an index of a nibble from a u64 as a u8.

| 4 bits | 4 bits |

| index of nibble | nibble of data |

Usage

use crumb::Crumb;

fn main() {
    let crumb = Crumb::new(1, 0b11111111).unwrap();
    // bits outside of the index are discarded
    assert_eq!(0b11110000u64, crumb.get_u64());
}

Name

A nibble of something is about the size of a crumb or something like that...

Why?

Was doing some research on variable length integers and realized how nicely this fits.

For What?

Not sure!

I don't think there are too many applications for this.

No runtime deps