Author: Tim Foden
Date: 03:32:32 12/19/00
Go up one level in this thread
On December 18, 2000 at 17:55:35, Thomas Mayer wrote: >Hi Tim, >>Agreed. But GLC hangs *before* it sees the pawn win, let alone the >>forced promotion. I think it is an indicator that something is not >>right. I just don't have a clue what it is! :) >> >>Cheers, Tim. >> <quark output snipped> >First thing I would try in your problem: take out any replacement rule and look >if Green Light solves it... if yes, your hashing is allright and you should >think if you should implement a second table... > >Greets, Thomas I already have a 2 hash replacement scheme. But thanks for the suggestion :) Of course, I may have a bug in it (I have found a few in the past). Just for interest, here is my store code: //=========================================================================== inline void CHashTable::Store( int flags, int value, int depth, const CMove moveToTry ) { UINT64 hash = CBoard::m_pState->m_hash; CHashTableRec** pTable = m_pTable[CBoard::m_wtm]; CHashTableRec* pRec = &pTable[0][DWORD(hash) & m_sizeMask1]; if( !pRec->IsInUse() ) { // simply overwrite the record pRec->Set( hash, CHashTableRec::flagInUse | flags, value, depth, moveToTry ); return; } if( pRec->IsStale() || depth >= pRec->GetDepth() ) { // if stale, or not stale and stored record is lower // down the tree, then copy the old record to the // secondary table, and then overwrite the record in the // primary table. // // [remember, the depth value gets smaller further down tree // towards the leaves] DWORD hash2 = DWORD(pRec->GetHash()); CHashTableRec* pRec2 = &pTable[1][hash2 & m_sizeMask2]; *pRec2 = *pRec; pRec->Set( hash, CHashTableRec::flagInUse | flags, value, depth, moveToTry ); return; } // just store in the secondary table pRec = &pTable[1][DWORD(hash) & m_sizeMask2]; pRec->Set( hash, CHashTableRec::flagInUse | flags, value, depth, moveToTry ); } //=========================================================================== Cheers, Tim.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.