#[cfg(test)]
mod tests {
use crate::bitman::unchecked::write::*;
#[test]
fn test_write_bits_scattered() {
assert_eq!(0b00000000u8.write_bits_scattered(&[], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[], 0b10100110u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[], 0b11111111u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0], 0b10100110u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0], 0b11111111u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1], 0b10100110u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1], 0b11111111u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3], 0b10100110u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3], 0b11111111u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7], 0b10100110u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7], 0b11111111u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0], 0b10100110u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0], 0b11111111u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1], 0b10100110u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1], 0b11111111u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3], 0b10100110u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3], 0b11111111u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7], 0b10100110u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7], 0b11111111u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0], 0b10100110u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0], 0b11111111u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1], 0b10100110u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1], 0b11111111u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3], 0b10100110u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3], 0b11111111u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7], 0b10100110u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7], 0b11111111u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0], 0b10100110u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0], 0b11111111u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1], 0b10100110u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1], 0b11111111u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3], 0b10100110u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3], 0b11111111u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7], 0b10100110u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7], 0b11111111u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0], 0b10100110u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0], 0b11111111u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1], 0b10100110u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1], 0b11111111u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3], 0b10100110u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3], 0b11111111u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7], 0b10100110u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7], 0b11111111u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 0], 0b10100110u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 0], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 0], 0b11111111u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 1], 0b10100110u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 1], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 1], 0b11111111u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 3], 0b10100110u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 3], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 3], 0b11111111u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 7], 0b10100110u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 7], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 0, 7], 0b11111111u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 0], 0b10100110u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 0], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 0], 0b11111111u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 1], 0b10100110u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 1], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 1], 0b11111111u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 3], 0b10100110u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 3], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 3], 0b11111111u8), 0b00001011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 7], 0b10100110u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 7], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 1, 7], 0b11111111u8), 0b10000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 0], 0b10100110u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 0], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 0], 0b11111111u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 1], 0b10100110u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 1], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 1], 0b11111111u8), 0b00001011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 3], 0b10100110u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 3], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 3], 0b11111111u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 7], 0b10100110u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 7], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 3, 7], 0b11111111u8), 0b10001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 0], 0b10100110u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 0], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 0], 0b11111111u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 1], 0b10100110u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 1], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 1], 0b11111111u8), 0b10000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 3], 0b10100110u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 3], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 3], 0b11111111u8), 0b10001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 7], 0b10100110u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 7], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[0, 7, 7], 0b11111111u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 0], 0b10100110u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 0], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 0], 0b11111111u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 1], 0b10100110u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 1], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 1], 0b11111111u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 3], 0b10100110u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 3], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 3], 0b11111111u8), 0b00001011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 7], 0b10100110u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 7], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 0, 7], 0b11111111u8), 0b10000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 0], 0b10100110u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 0], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 0], 0b11111111u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 1], 0b10100110u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 1], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 1], 0b11111111u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 3], 0b10100110u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 3], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 3], 0b11111111u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 7], 0b10100110u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 7], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 1, 7], 0b11111111u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 0], 0b10100110u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 0], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 0], 0b11111111u8), 0b00001011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 1], 0b10100110u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 1], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 1], 0b11111111u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 3], 0b10100110u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 3], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 3], 0b11111111u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 7], 0b10100110u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 7], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 3, 7], 0b11111111u8), 0b10001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 0], 0b10100110u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 0], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 0], 0b11111111u8), 0b10000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 1], 0b10100110u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 1], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 1], 0b11111111u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 3], 0b10100110u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 3], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 3], 0b11111111u8), 0b10001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 7], 0b10100110u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 7], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[1, 7, 7], 0b11111111u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 0], 0b10100110u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 0], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 0], 0b11111111u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 1], 0b10100110u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 1], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 1], 0b11111111u8), 0b00001011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 3], 0b10100110u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 3], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 3], 0b11111111u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 7], 0b10100110u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 7], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 0, 7], 0b11111111u8), 0b10001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 0], 0b10100110u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 0], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 0], 0b11111111u8), 0b00001011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 1], 0b10100110u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 1], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 1], 0b11111111u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 3], 0b10100110u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 3], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 3], 0b11111111u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 7], 0b10100110u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 7], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 1, 7], 0b11111111u8), 0b10001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 0], 0b10100110u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 0], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 0], 0b11111111u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 1], 0b10100110u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 1], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 1], 0b11111111u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 3], 0b10100110u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 3], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 3], 0b11111111u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 7], 0b10100110u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 7], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 3, 7], 0b11111111u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 0], 0b10100110u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 0], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 0], 0b11111111u8), 0b10001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 1], 0b10100110u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 1], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 1], 0b11111111u8), 0b10001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 3], 0b10100110u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 3], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 3], 0b11111111u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 7], 0b10100110u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 7], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[3, 7, 7], 0b11111111u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 0], 0b10100110u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 0], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 0], 0b11111111u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 1], 0b10100110u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 1], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 1], 0b11111111u8), 0b10000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 3], 0b10100110u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 3], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 3], 0b11111111u8), 0b10001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 7], 0b10100110u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 7], 0b11001010u8), 0b00000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 0, 7], 0b11111111u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 0], 0b10100110u8), 0b00000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 0], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 0], 0b11111111u8), 0b10000011u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 1], 0b10100110u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 1], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 1], 0b11111111u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 3], 0b10100110u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 3], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 3], 0b11111111u8), 0b10001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 7], 0b10100110u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 7], 0b11001010u8), 0b00000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 1, 7], 0b11111111u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 0], 0b10100110u8), 0b00001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 0], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 0], 0b11111111u8), 0b10001001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 1], 0b10100110u8), 0b00001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 1], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 1], 0b11111111u8), 0b10001010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 3], 0b10100110u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 3], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 3], 0b11111111u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 7], 0b10100110u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 7], 0b11001010u8), 0b00001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 3, 7], 0b11111111u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 0], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 0], 0b10100110u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 0], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 0], 0b11111111u8), 0b10000001u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 1], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 1], 0b10100110u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 1], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 1], 0b11111111u8), 0b10000010u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 3], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 3], 0b10100110u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 3], 0b11001010u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 3], 0b11111111u8), 0b10001000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 7], 0b00000000u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 7], 0b10100110u8), 0b10000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 7], 0b11001010u8), 0b00000000u8);
assert_eq!(0b00000000u8.write_bits_scattered(&[7, 7, 7], 0b11111111u8), 0b10000000u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1], 0b10100110u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7], 0b10100110u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0], 0b11001010u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3], 0b11001010u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0], 0b10100110u8), 0b10100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0], 0b11001010u8), 0b10100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3], 0b10100110u8), 0b10101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3], 0b11001010u8), 0b10101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7], 0b10100110u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0], 0b11001010u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3], 0b11001010u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0], 0b10100110u8), 0b00100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0], 0b11001010u8), 0b00100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1], 0b10100110u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3], 0b10100110u8), 0b00101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3], 0b11001010u8), 0b00101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 0], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 0], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 0], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 1], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 1], 0b11001010u8), 0b10100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 1], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 3], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 3], 0b10100110u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 3], 0b11001010u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 3], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 7], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 7], 0b11001010u8), 0b00100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 0, 7], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 0], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 0], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 0], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 1], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 1], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 1], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 3], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 3], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 3], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 3], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 7], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 7], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 7], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 1, 7], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 0], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 0], 0b10100110u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 0], 0b11001010u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 0], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 1], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 1], 0b11001010u8), 0b10101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 1], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 3], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 3], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 3], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 3], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 7], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 7], 0b11001010u8), 0b00101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 3, 7], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 0], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 0], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 0], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 1], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 1], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 1], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 1], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 3], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 3], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 3], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 3], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 7], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 7], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[0, 7, 7], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 0], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 0], 0b10100110u8), 0b10100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 0], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 1], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 1], 0b11001010u8), 0b10100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 1], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 3], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 3], 0b10100110u8), 0b10101101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 3], 0b11001010u8), 0b10100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 3], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 7], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 7], 0b10100110u8), 0b10100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 7], 0b11001010u8), 0b00100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 0, 7], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 0], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 0], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 0], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 1], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 1], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 1], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 3], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 3], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 3], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 7], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 7], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 7], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 1, 7], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 0], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 0], 0b10100110u8), 0b10101101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 0], 0b11001010u8), 0b10101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 0], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 1], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 1], 0b11001010u8), 0b10101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 1], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 3], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 3], 0b10100110u8), 0b10101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 3], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 7], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 7], 0b10100110u8), 0b10101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 7], 0b11001010u8), 0b00101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 3, 7], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 0], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 0], 0b10100110u8), 0b10100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 0], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 1], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 1], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 1], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 1], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 3], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 3], 0b10100110u8), 0b10101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 3], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 7], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 7], 0b10100110u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 7], 0b11001010u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[1, 7, 7], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 0], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 0], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 0], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 0], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 1], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 1], 0b11001010u8), 0b10100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 1], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 3], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 3], 0b10100110u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 3], 0b11001010u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 3], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 7], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 7], 0b11001010u8), 0b00100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 0, 7], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 0], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 0], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 0], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 0], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 1], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 1], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 1], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 3], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 3], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 3], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 7], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 7], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 7], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 1, 7], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 0], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 0], 0b10100110u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 0], 0b11001010u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 0], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 1], 0b00000000u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 1], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 1], 0b11001010u8), 0b10101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 1], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 3], 0b00000000u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 3], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 3], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 7], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 7], 0b11001010u8), 0b00101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 3, 7], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 0], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 0], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 0], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 0], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 1], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 1], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 1], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 1], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 3], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 3], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 3], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 7], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 7], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[3, 7, 7], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 0], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 0], 0b10100110u8), 0b00100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 0], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 1], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 1], 0b10100110u8), 0b00100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 1], 0b11001010u8), 0b00100101u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 1], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 3], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 3], 0b10100110u8), 0b00101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 3], 0b11001010u8), 0b00100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 3], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 7], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 7], 0b11001010u8), 0b00100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 0, 7], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 0], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 0], 0b10100110u8), 0b00100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 0], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 1], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 1], 0b10100110u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 1], 0b11001010u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 1], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 3], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 3], 0b10100110u8), 0b00101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 3], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 7], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 7], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 7], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 1, 7], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 0], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 0], 0b10100110u8), 0b00101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 0], 0b11001010u8), 0b00101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 0], 0b11111111u8), 0b10101111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 1], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 1], 0b10100110u8), 0b00101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 1], 0b11001010u8), 0b00101100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 1], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 3], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 3], 0b10100110u8), 0b00101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 3], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 7], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 7], 0b11001010u8), 0b00101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 3, 7], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 0], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 0], 0b10100110u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 0], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 0], 0b11111111u8), 0b10100111u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 1], 0b00000000u8), 0b00100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 1], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 1], 0b11001010u8), 0b10100100u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 1], 0b11111111u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 3], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 3], 0b10100110u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 3], 0b11001010u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 3], 0b11111111u8), 0b10101110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 7], 0b00000000u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 7], 0b10100110u8), 0b10100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 7], 0b11001010u8), 0b00100110u8);
assert_eq!(0b10100110u8.write_bits_scattered(&[7, 7, 7], 0b11111111u8), 0b10100110u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[], 0b00000000u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0], 0b00000000u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1], 0b10100110u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3], 0b10100110u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7], 0b10100110u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0], 0b00000000u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0], 0b11001010u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0], 0b10100110u8), 0b11001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0], 0b11001010u8), 0b11001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3], 0b10100110u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7], 0b10100110u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0], 0b10100110u8), 0b11000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0], 0b11001010u8), 0b11000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1], 0b10100110u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7], 0b10100110u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0], 0b10100110u8), 0b01001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0], 0b11001010u8), 0b01001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1], 0b10100110u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3], 0b10100110u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 0], 0b00000000u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 0], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 0], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 1], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 1], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 1], 0b11001010u8), 0b11001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 1], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 3], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 3], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 3], 0b11001010u8), 0b11000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 3], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 7], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 7], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 7], 0b11001010u8), 0b01001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 0, 7], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 0], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 0], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 0], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 1], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 1], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 1], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 1], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 3], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 3], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 3], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 3], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 7], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 7], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 7], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 1, 7], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 0], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 0], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 0], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 1], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 1], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 1], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 1], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 3], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 3], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 3], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 3], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 7], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 7], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 7], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 3, 7], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 0], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 0], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 0], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 1], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 1], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 1], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 1], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 3], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 3], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 3], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 3], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 7], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 7], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 7], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[0, 7, 7], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 0], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 0], 0b10100110u8), 0b11001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 0], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 1], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 1], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 1], 0b11001010u8), 0b11001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 1], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 3], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 3], 0b10100110u8), 0b11001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 3], 0b11001010u8), 0b11000001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 3], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 7], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 7], 0b10100110u8), 0b11001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 7], 0b11001010u8), 0b01001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 0, 7], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 0], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 0], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 0], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 1], 0b00000000u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 1], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 1], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 3], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 3], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 3], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 7], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 7], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 7], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 1, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 0], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 0], 0b10100110u8), 0b11001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 0], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 1], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 1], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 1], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 3], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 3], 0b10100110u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 3], 0b11001010u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 7], 0b00000000u8), 0b01000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 7], 0b10100110u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 7], 0b11001010u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 3, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 0], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 0], 0b10100110u8), 0b11001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 0], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 1], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 1], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 1], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 3], 0b00000000u8), 0b01000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 3], 0b10100110u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 3], 0b11001010u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 7], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 7], 0b10100110u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 7], 0b11001010u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[1, 7, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 0], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 0], 0b10100110u8), 0b11000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 0], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 1], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 1], 0b10100110u8), 0b11000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 1], 0b11001010u8), 0b11000001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 1], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 3], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 3], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 3], 0b11001010u8), 0b11000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 3], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 7], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 7], 0b10100110u8), 0b11000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 7], 0b11001010u8), 0b01000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 0, 7], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 0], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 0], 0b10100110u8), 0b11000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 0], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 1], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 1], 0b10100110u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 1], 0b11001010u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 3], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 3], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 3], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 7], 0b00000000u8), 0b01000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 7], 0b10100110u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 7], 0b11001010u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 1, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 0], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 0], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 0], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 1], 0b00000000u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 1], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 1], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 3], 0b00000000u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 3], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 3], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 7], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 7], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 7], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 3, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 0], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 0], 0b10100110u8), 0b11000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 0], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 1], 0b00000000u8), 0b01000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 1], 0b10100110u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 1], 0b11001010u8), 0b11000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 3], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 3], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 3], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 7], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 7], 0b10100110u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 7], 0b11001010u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[3, 7, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 0], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 0], 0b10100110u8), 0b01001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 0], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 1], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 1], 0b10100110u8), 0b01001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 1], 0b11001010u8), 0b01001001u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 1], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 3], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 3], 0b10100110u8), 0b01001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 3], 0b11001010u8), 0b01000011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 3], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 7], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 7], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 7], 0b11001010u8), 0b01001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 0, 7], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 0], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 0], 0b10100110u8), 0b01001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 0], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 1], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 1], 0b10100110u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 1], 0b11001010u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 3], 0b00000000u8), 0b01000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 3], 0b10100110u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 3], 0b11001010u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 7], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 7], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 7], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 1, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 0], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 0], 0b10100110u8), 0b01001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 0], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 1], 0b00000000u8), 0b01000000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 1], 0b10100110u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 1], 0b11001010u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 3], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 3], 0b10100110u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 3], 0b11001010u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 7], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 7], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 7], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 3, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 0], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 0], 0b10100110u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 0], 0b11001010u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 0], 0b11111111u8), 0b11001011u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 1], 0b00000000u8), 0b01001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 1], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 1], 0b11001010u8), 0b11001000u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 1], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 3], 0b00000000u8), 0b01000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 3], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 3], 0b11001010u8), 0b11000010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 3], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 7], 0b00000000u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 7], 0b10100110u8), 0b11001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 7], 0b11001010u8), 0b01001010u8);
assert_eq!(0b11001010u8.write_bits_scattered(&[7, 7, 7], 0b11111111u8), 0b11001010u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[], 0b00000000u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[], 0b11001010u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0], 0b00000000u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1], 0b00000000u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3], 0b00000000u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7], 0b00000000u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0], 0b00000000u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0], 0b11001010u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1], 0b00000000u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3], 0b00000000u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7], 0b00000000u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0], 0b00000000u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1], 0b00000000u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1], 0b11001010u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3], 0b00000000u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7], 0b00000000u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0], 0b00000000u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1], 0b00000000u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3], 0b00000000u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3], 0b11001010u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7], 0b00000000u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0], 0b00000000u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1], 0b00000000u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3], 0b00000000u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7], 0b00000000u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7], 0b11001010u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 0], 0b00000000u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 0], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 0], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 1], 0b00000000u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 1], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 1], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 3], 0b00000000u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 3], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 3], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 7], 0b00000000u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 7], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 7], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 0, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 0], 0b00000000u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 0], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 0], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 1], 0b00000000u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 1], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 1], 0b11001010u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 3], 0b00000000u8), 0b11110100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 3], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 3], 0b11001010u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 7], 0b00000000u8), 0b01111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 7], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 7], 0b11001010u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 1, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 0], 0b00000000u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 0], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 0], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 1], 0b00000000u8), 0b11110100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 1], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 1], 0b11001010u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 3], 0b00000000u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 3], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 3], 0b11001010u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 7], 0b00000000u8), 0b01110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 7], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 7], 0b11001010u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 3, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 0], 0b00000000u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 0], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 0], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 1], 0b00000000u8), 0b01111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 1], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 1], 0b11001010u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 3], 0b00000000u8), 0b01110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 3], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 3], 0b11001010u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 7], 0b00000000u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 7], 0b10100110u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 7], 0b11001010u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[0, 7, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 0], 0b00000000u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 0], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 0], 0b11001010u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 1], 0b00000000u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 1], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 1], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 3], 0b00000000u8), 0b11110100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 3], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 3], 0b11001010u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 7], 0b00000000u8), 0b01111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 7], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 7], 0b11001010u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 0, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 0], 0b00000000u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 0], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 0], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 1], 0b00000000u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 1], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 1], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 3], 0b00000000u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 3], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 3], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 7], 0b00000000u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 7], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 7], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 1, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 0], 0b00000000u8), 0b11110100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 0], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 0], 0b11001010u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 1], 0b00000000u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 1], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 1], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 3], 0b00000000u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 3], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 3], 0b11001010u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 7], 0b00000000u8), 0b01110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 7], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 7], 0b11001010u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 3, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 0], 0b00000000u8), 0b01111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 0], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 0], 0b11001010u8), 0b11111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 1], 0b00000000u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 1], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 1], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 3], 0b00000000u8), 0b01110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 3], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 3], 0b11001010u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 7], 0b00000000u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 7], 0b10100110u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 7], 0b11001010u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[1, 7, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 0], 0b00000000u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 0], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 0], 0b11001010u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 1], 0b00000000u8), 0b11110100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 1], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 1], 0b11001010u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 3], 0b00000000u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 3], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 3], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 7], 0b00000000u8), 0b01110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 7], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 7], 0b11001010u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 0, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 0], 0b00000000u8), 0b11110100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 0], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 0], 0b11001010u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 1], 0b00000000u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 1], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 1], 0b11001010u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 3], 0b00000000u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 3], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 3], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 7], 0b00000000u8), 0b01110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 7], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 7], 0b11001010u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 1, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 0], 0b00000000u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 0], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 0], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 1], 0b00000000u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 1], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 1], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 3], 0b00000000u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 3], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 3], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 7], 0b00000000u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 7], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 7], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 3, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 0], 0b00000000u8), 0b01110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 0], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 0], 0b11001010u8), 0b11110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 1], 0b00000000u8), 0b01110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 1], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 1], 0b11001010u8), 0b11110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 3], 0b00000000u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 3], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 3], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 7], 0b00000000u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 7], 0b10100110u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 7], 0b11001010u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[3, 7, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 0], 0b00000000u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 0], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 0], 0b11001010u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 1], 0b00000000u8), 0b01111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 1], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 1], 0b11001010u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 3], 0b00000000u8), 0b01110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 3], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 3], 0b11001010u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 7], 0b00000000u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 7], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 7], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 0, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 0], 0b00000000u8), 0b01111100u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 0], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 0], 0b11001010u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 1], 0b00000000u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 1], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 1], 0b11001010u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 3], 0b00000000u8), 0b01110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 3], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 3], 0b11001010u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 7], 0b00000000u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 7], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 7], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 1, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 0], 0b00000000u8), 0b01110110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 0], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 0], 0b11001010u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 1], 0b00000000u8), 0b01110101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 1], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 1], 0b11001010u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 3], 0b00000000u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 3], 0b10100110u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 3], 0b11001010u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 7], 0b00000000u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 7], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 7], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 3, 7], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 0], 0b00000000u8), 0b01111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 0], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 0], 0b11001010u8), 0b11111110u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 0], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 1], 0b00000000u8), 0b01111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 1], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 1], 0b11001010u8), 0b11111101u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 1], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 3], 0b00000000u8), 0b01110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 3], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 3], 0b11001010u8), 0b11110111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 3], 0b11111111u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 7], 0b00000000u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 7], 0b10100110u8), 0b11111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 7], 0b11001010u8), 0b01111111u8);
assert_eq!(0b11111111u8.write_bits_scattered(&[7, 7, 7], 0b11111111u8), 0b11111111u8);
}
}