movegen: add pos_gen_legal() to simplify code

This commit is contained in:
2024-08-05 08:40:03 +02:00
parent e1debcc3ae
commit f7a6e582ed
3 changed files with 18 additions and 2 deletions

View File

@@ -102,7 +102,7 @@ endif
# if no version, use last commit and date.
# else, if last commit != last tag commit, add commit and date to version number
ifeq ($(VERSION),)
VERSION := $(build)-$(COMMIT)-$(DATE)
VERSION := $(build)-git.$(COMMIT)-$(DATE)
else ifneq ($(COMMIT), $(TAG_COMMIT))
VERSION := $(VERSION)-next-$(build)-$(COMMIT)-$(DATE)
endif
@@ -415,7 +415,7 @@ TEST += movedo-test perft-test tt-test
PIECE_OBJS := piece.o
FEN_OBJS := $(PIECE_OBJS) fen.o position.o bitboard.o board.o \
hq.o attack.o hash.o init.o util.o alloc.o move.o \
eval.o eval-defs.o eval-simple.o
eval.o eval-defs.o eval-simple.o hist.o
BB_OBJS := $(FEN_OBJS)
MOVEGEN_OBJS := $(BB_OBJS) move-gen.o
ATTACK_OBJS := $(MOVEGEN_OBJS)

View File

@@ -480,3 +480,18 @@ finish:
return movelist;
//return movelist->nmoves = moves - movelist->move;
}
/**
* pos_gen_legal() - generate position legal moves
* @pos: position
* @movelist: &movelist_t array to store moves
*
* Generate all @pos legal moves for player-to-move.
* @movelist is filled with the moves.
*
* @Return: movelist
*/
movelist_t *pos_gen_legal(pos_t *pos, movelist_t *movelist)
{
return pos_legal(pos, pos_gen_pseudo(pos, movelist));
}

View File

@@ -27,5 +27,6 @@ movelist_t *pos_legal_dup(const pos_t *pos, movelist_t *pseudo, movelist_t *lega
movelist_t *pos_legal(const pos_t *pos, movelist_t *list);
movelist_t *pos_gen_pseudo(pos_t *pos, movelist_t *movelist);
movelist_t *pos_gen_legal(pos_t *pos, movelist_t *movelist);
#endif /* MOVEGEN_H */