int main() { list_init(&list_head); list_add(list_head, 0); list_add(list_head, -10); list_add(list_head, 10); assert(list_contain(list_head, 10)); assert(list_contain(list_head, 0)); assert(list_contain(list_head, -10)); list_print(list_head); list_remove(list_head, 0); assert(!list_contain(list_head, 0)); list_print(list_head); list_remove(list_head, 10); assert(!list_contain(list_head, 10)); list_print(list_head); list_remove(list_head, -10); assert(!list_contain(list_head, -10)); list_print(list_head); assert(list_contain(list_head, 0)); return 0; }
bool move_is_pseudo(int move, const board_t * board) { list_t list[1]; ASSERT(move_is_ok(move)); ASSERT(board_is_ok(board)); gen_moves(list,board); return list_contain(list,move); }
static bool move_is_legal_debug(int move, const board_t * board) { list_t list[1]; ASSERT(move_is_ok(move)); ASSERT(board_is_ok(board)); gen_legal_moves(list,board); return list_contain(list,move); }
static bool move_is_pseudo_debug(int move, board_t * board) { list_t list[1]; ASSERT(move_is_ok(move)); ASSERT(board!=NULL); ASSERT(!board_is_check(board)); gen_moves(list,board); return list_contain(list,move); }