Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const MASKS: [u8; 8] = [
- 1,
- 1 << 1,
- 1 << 2,
- 1 << 3,
- 1 << 4,
- 1 << 5,
- 1 << 6,
- 1 << 7,
- ];
- const REV_MASKS: [u8; 8] = [
- 1 << 7,
- 1 << 6,
- 1 << 5,
- 1 << 4,
- 1 << 3,
- 1 << 2,
- 1 << 1,
- 1
- ];
- pub enum Color{
- A,
- B,
- C,
- D,
- }
- pub fn from_bytes(upper: u8, lower: u8) -> [Color; 8] {
- let mut colors = [Color::A, Color::A, Color::A, Color::A,
- Color::A, Color::A, Color::A, Color::A];
- let mask = if true {&MASKS} else {&REV_MASKS};
- for (dst, msk) in colors.iter_mut().zip(mask) {
- *dst = match (upper & msk !=0, lower & msk != 0) {
- (false, false) => Color::A,
- (true, false) => Color::B,
- (false, true) => Color::C,
- (true, true) => Color::D,
- };
- }
- colors
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement