version 1.4.30b
[polyglot.git] / colour.c
diff --git a/colour.c b/colour.c
new file mode 100644 (file)
index 0000000..e0936b9
--- /dev/null
+++ b/colour.c
@@ -0,0 +1,55 @@
+\r
+// colour.c\r
+\r
+// includes\r
+\r
+#include "colour.h"\r
+#include "util.h"\r
+\r
+// functions\r
+\r
+// colour_is_ok()\r
+\r
+bool colour_is_ok(int colour) {\r
+\r
+   return colour == Black || colour == White;\r
+}\r
+\r
+// colour_is_white()\r
+\r
+bool colour_is_white(int colour) {\r
+\r
+   ASSERT(colour_is_ok(colour));\r
+\r
+   return colour == White;\r
+}\r
+\r
+// colour_is_black()\r
+\r
+bool colour_is_black(int colour) {\r
+\r
+   ASSERT(colour_is_ok(colour));\r
+\r
+   return colour == Black;\r
+}\r
+\r
+// colour_equal()\r
+\r
+bool colour_equal(int colour_1, int colour_2) {\r
+\r
+   ASSERT(colour_is_ok(colour_2));\r
+\r
+   return (colour_1 & colour_2) != 0;\r
+}\r
+\r
+// colour_opp()\r
+\r
+int colour_opp(int colour) {\r
+\r
+   ASSERT(colour_is_ok(colour));\r
+\r
+   return colour ^ (BlackFlag^WhiteFlag);\r
+}\r
+\r
+// end of colour.cpp\r
+\r