+/*
+ * Return the board bitmap setting the rectangle of locations that are:
+ *
+ * - on or right of column x1, and
+ * - on or left of column x2, and
+ * - on or below row y1, and
+ * - on or above row y2.
+ *
+ * It must be the case that x2 >= x1 and y2 >= y1.
+ */
+static inline uint_fast32_t board_rect(int x1, int y1, int x2, int y2)
+{
+ return (board_left(x2-x1) << x1) & (board_above(y2-y1) << 5*y1);
+}
+