Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. const MASKS: [u8; 8] = [
  2. 1,
  3. 1 << 1,
  4. 1 << 2,
  5. 1 << 3,
  6. 1 << 4,
  7. 1 << 5,
  8. 1 << 6,
  9. 1 << 7,
  10. ];
  11.  
  12. const REV_MASKS: [u8; 8] = [
  13. 1 << 7,
  14. 1 << 6,
  15. 1 << 5,
  16. 1 << 4,
  17. 1 << 3,
  18. 1 << 2,
  19. 1 << 1,
  20. 1
  21. ];
  22.  
  23. pub enum Color{
  24. A,
  25. B,
  26. C,
  27. D,
  28. }
  29.  
  30.  
  31. pub fn from_bytes(upper: u8, lower: u8) -> [Color; 8] {
  32. let mut colors = [Color::A, Color::A, Color::A, Color::A,
  33. Color::A, Color::A, Color::A, Color::A];
  34. let mask = if true {&MASKS} else {&REV_MASKS};
  35. for (dst, msk) in colors.iter_mut().zip(mask) {
  36. *dst = match (upper & msk !=0, lower & msk != 0) {
  37. (false, false) => Color::A,
  38. (true, false) => Color::B,
  39. (false, true) => Color::C,
  40. (true, true) => Color::D,
  41. };
  42. }
  43. colors
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement