diff options
Diffstat (limited to 'src/pawnhash.c')
| -rwxr-xr-x | src/pawnhash.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/pawnhash.c b/src/pawnhash.c new file mode 100755 index 0000000..8af2138 --- /dev/null +++ b/src/pawnhash.c @@ -0,0 +1,53 @@ +/** + +Copyright (c) Scott Gasch + +Module Name: + + pawnhash.c + +Abstract: + + Pawn structure score hashing code. + +Author: + + Scott Gasch ([email protected]) 14 Jun 2004 + +Revision History: + + $Id: pawnhash.c 345 2007-12-02 22:56:42Z scott $ + +**/ + +#include "chess.h" + + +PAWN_HASH_ENTRY * +PawnHashLookup(SEARCHER_THREAD_CONTEXT *ctx) +/** + +Routine description: + + Called by eval with a pointer to a POSITION, look in our pawn hash + to see if we have an entry that matches the pawn structure in the + POSITION. If so, "check out" that entry and return a pointer to + it. + + Note: there is a multi-probing scheme in place to remove + contention on MP machines. + +Parameters: + + POSITION *pos + +Return value: + + PAWN_HASH_ENTRY * + +**/ +{ + POSITION *pos = &(ctx->sPosition); + ULONG u = (ULONG)pos->u64PawnSig & (PAWN_HASH_TABLE_SIZE - 1); + return(&(ctx->rgPawnHash[u])); +} |
