X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=colour.c;fp=colour.c;h=e0936b96c23139861bcc9dee004483d6d2dcc89e;hb=e15efca6667b2673b4c1a5879a6917eab6800e58;hp=0000000000000000000000000000000000000000;hpb=0d182b4efac85dce968068bfe4509e52e9a30051;p=polyglot.git diff --git a/colour.c b/colour.c new file mode 100644 index 0000000..e0936b9 --- /dev/null +++ b/colour.c @@ -0,0 +1,55 @@ + +// colour.c + +// includes + +#include "colour.h" +#include "util.h" + +// functions + +// colour_is_ok() + +bool colour_is_ok(int colour) { + + return colour == Black || colour == White; +} + +// colour_is_white() + +bool colour_is_white(int colour) { + + ASSERT(colour_is_ok(colour)); + + return colour == White; +} + +// colour_is_black() + +bool colour_is_black(int colour) { + + ASSERT(colour_is_ok(colour)); + + return colour == Black; +} + +// colour_equal() + +bool colour_equal(int colour_1, int colour_2) { + + ASSERT(colour_is_ok(colour_2)); + + return (colour_1 & colour_2) != 0; +} + +// colour_opp() + +int colour_opp(int colour) { + + ASSERT(colour_is_ok(colour)); + + return colour ^ (BlackFlag^WhiteFlag); +} + +// end of colour.cpp +