fn test_coef()

in src/dp.rs [270:296]


fn test_coef() {
    // base2 = 2^1
    let number = BigUint::from_str_radix("0010101111010101", 2).unwrap();
    let splits = value_split_per_base(&number, 1);
    assert_eq!(splits, vec![1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1]);

    // base4 = 2^2
    let number = BigUint::from_str_radix("0010101111010101", 2).unwrap();
    let splits = value_split_per_base(&number, 2);
    assert_eq!(splits, vec![2, 2, 3, 3, 1, 1, 1]);

    // base4 = 2^2
    let number = BigUint::from_str_radix("312", 4).unwrap();
    let splits = value_split_per_base(&number, 2);
    assert_eq!(splits, vec![3, 1, 2]);

    // base16 = 2^4
    let number = BigUint::from_str_radix("D55", 16).unwrap();
    let splits = value_split_per_base(&number, 4);
    assert_eq!(splits, vec![13, 5, 5]);

    // base256 = 2^8
    // 16777209 (decimal) = 1111_1111_1111_1111_1111_1001 (binary)
    let number = &BigUint::from_str_radix("16777209", 10).unwrap();
    let splits = value_split_per_base(&number, 8);
    assert_eq!(splits, vec![255, 255, 249]);
}