wcomm 0.1.3

API for wireless communications
Documentation
use wcomm::{HuffmanCoding, Message, SourceCoding};

fn main() {
    let small_msg = Message::from_string("Hello world!", "HEADER");
    let encoder = HuffmanCoding::from_message(&small_msg);
    let small_enc = encoder.encode(&small_msg);
    let small_dec = encoder.decode(&small_enc, 0);
    println!("{}", encoder);
    println!("{} -> DECODED : {}", small_msg, small_dec);
    println!(
        "\n=== SIZES ===\n{} b -> ENCODED : {} b -> DECODED : {} b",
        small_msg.bit_size(),
        small_enc.bit_size(),
        small_dec.bit_size()
    );

    println!("\n\n");

    let msg1 = Message::from_string(
        "Peter Piper picked a peck of pickled peppers
    A peck of pickled peppers Peter Piper picked
    If Peter Piper picked a peck of pickled peppers
    Where's the peck of pickled peppers Peter Piper picked?",
        "THIS IS A TEST HEADER",
    );
    let encoder1 = HuffmanCoding::from_message(&msg1);
    let msg1_enc = encoder1.encode(&msg1);
    let msg1_dec = encoder1.decode(&msg1_enc, 0);
    println!("{}", encoder);
    println!("{} -> DECODED : {}", msg1, msg1_dec);
    println!(
        "\n=== SIZES ===\n{} b -> ENCODED : {} b -> DECODED : {} b",
        msg1.bit_size(),
        msg1_enc.bit_size(),
        msg1_dec.bit_size()
    );
}