From 0a3b2d825077b5e6c5f1cf4a0dcb13fdfffc0be6 Mon Sep 17 00:00:00 2001 From: tslil Date: Tue, 29 Dec 2020 22:48:53 -0500 Subject: Working on the big wrapper for everything --- include/ptn.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'include/ptn.c') diff --git a/include/ptn.c b/include/ptn.c index 66b4ad8..3d9c0a5 100644 --- a/include/ptn.c +++ b/include/ptn.c @@ -3,7 +3,21 @@ #define ASSERT_NONEMPTY { if (ptn == 0 || *ptn == 0) return PTN_INVALID; } #define ASSERT_MORE { if (*ptn == 0) return PTN_INVALID; } -enum PTN_PARSE_RESULT +uint8_t +likely_move(char *ptn) { + if (ptn == 0) return 0; + for (;;ptn++) { + switch (*ptn) { + case '+': + case '-': + case '>': + case '<': return 1; + case 0: return 0; + } + } +} + +enum E_RESULT parse_place(const uint8_t board_size, char *ptn, uint8_t *out_location, enum STONE_VARIANT *out_stone) { @@ -33,7 +47,7 @@ parse_place(const uint8_t board_size, char *ptn, return PTN_VALID; } -enum PTN_PARSE_RESULT +enum E_RESULT parse_move(const uint8_t board_size, char *ptn, uint8_t *out_location, enum MOVE_DIRECTION *out_direction, uint8_t *out_steps, uint8_t out_drops[5]) { -- cgit v1.3.1