/src/test/run-pass/bitwise.rs

http://github.com/jruderman/rust · Rust · 34 lines · 29 code · 4 blank · 1 comment · 10 complexity · e4ce9d94afe07ea5158bb2863243bc0e MD5 · raw file

  1. // -*- rust -*-
  2. #[cfg(target_arch = "x86")]
  3. fn target() {
  4. assert (-1000 as uint >> 3u == 536870787u);
  5. }
  6. #[cfg(target_arch = "x86_64")]
  7. fn target() {
  8. assert (-1000 as uint >> 3u == 2305843009213693827u);
  9. }
  10. fn general() {
  11. let mut a: int = 1;
  12. let mut b: int = 2;
  13. a ^= b;
  14. b ^= a;
  15. a = a ^ b;
  16. log(debug, a);
  17. log(debug, b);
  18. assert (b == 1);
  19. assert (a == 2);
  20. assert (!0xf0 & 0xff == 0xf);
  21. assert (0xf0 | 0xf == 0xff);
  22. assert (0xf << 4 == 0xf0);
  23. assert (0xf0 >> 4 == 0xf);
  24. assert (-16 >> 2 == -4);
  25. assert (0b1010_1010 | 0b0101_0101 == 0xff);
  26. }
  27. fn main() {
  28. general();
  29. target();
  30. }