crumb 0.1.0

Encode a nibble from a u64 as a u8.
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 crate::CrumbExt;

fn main() {
    let test: u64 = 0b11111111;
    // let crumb: u8 = unsafe { test.get_unchecked_crumb(1) };
    let crumb: u8 = test.get_crumb(1).unwrap();
    assert_eq!(0b11110000u64, u64::from_crumb(crumb));
}

Name

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

How?

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

Why?

I don't think there are too many applications for this, I have one in mind but that is an entire project in itself.