bitwise_on_bool.gravity 806 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #unittest {
  2. name: "Bitwise and on a bool";
  3. error: NONE;
  4. result: true;
  5. };
  6. func b_and() {
  7. var bool_ff = false & false; // false
  8. var bool_tf = true & false; // false
  9. var bool_ft = false & true; // false
  10. var bool_tt = true & true; // true
  11. return !bool_ff && !bool_tf && !bool_ft && bool_tt;
  12. }
  13. func b_or() {
  14. var bool_ff = false | false; // false
  15. var bool_tf = true | false; // true
  16. var bool_ft = false | true; // true
  17. var bool_tt = true | true; // true
  18. return !bool_ff && bool_tf && bool_ft && bool_tt;
  19. }
  20. func b_xor() {
  21. var bool_ff = false ^ false; // false
  22. var bool_tf = true ^ false; // true
  23. var bool_ft = false ^ true; // true
  24. var bool_tt = true ^ true; // false
  25. return !bool_ff && bool_tf && bool_ft && !bool_tt;
  26. }
  27. func main() {
  28. return b_and() && b_or() && b_xor();
  29. }