1 
2 // colour.c
3 
4 // includes
5 
6 #include "colour.h"
7 #include "util.h"
8 
9 // functions
10 
11 // colour_is_ok()
12 
colour_is_ok(int colour)13 bool colour_is_ok(int colour) {
14 
15    return colour == Black || colour == White;
16 }
17 
18 // colour_is_white()
19 
colour_is_white(int colour)20 bool colour_is_white(int colour) {
21 
22    ASSERT(colour_is_ok(colour));
23 
24    return colour == White;
25 }
26 
27 // colour_is_black()
28 
colour_is_black(int colour)29 bool colour_is_black(int colour) {
30 
31    ASSERT(colour_is_ok(colour));
32 
33    return colour == Black;
34 }
35 
36 // colour_equal()
37 
colour_equal(int colour_1,int colour_2)38 bool colour_equal(int colour_1, int colour_2) {
39 
40    ASSERT(colour_is_ok(colour_2));
41 
42    return (colour_1 & colour_2) != 0;
43 }
44 
45 // colour_opp()
46 
colour_opp(int colour)47 int colour_opp(int colour) {
48 
49    ASSERT(colour_is_ok(colour));
50 
51    return colour ^ (BlackFlag^WhiteFlag);
52 }
53 
54 // end of colour.cpp
55 
56