Author: Robert Hyatt
Date: 10:39:15 11/09/05
Go up one level in this thread
On November 09, 2005 at 10:11:11, Camp Troll wrote: >Hello, Dr.Hyatt. >I added following lines to see if it works when move is found from hash table. >When Crafty runs, it prints a lot of illegal hash move statement. >For example, it prints "Illegal hash mvoe i = 10 null". >OutputMove() is null. >Is this normal? > > if (pv->pathh == 1) { > for (i = pv->pathl + 1; i < MAXPLY; i++) { > HashProbe(tree, i, 0, wtm, &dummy, dummy, &dummy); > if (tree->hash_move[i] && LegalMove(tree, i, wtm, tree->hash_move[i])) { > ................. > Print(4095, "Legal hash move i = %d %s\n", i, OutputMove > ................. > } > else { > ................. > Print(4095, "Illegal hash move i = %d %s\n", i, OutputMove(tree, tree- > >hash_move[i],i,wtm)); > ................... > break; > } > wtm = Flip(wtm); > if (wtm) > t_move_number++; > } > sprintf(buffer + strlen(buffer), " <HT>"); > } else if (pv->pathh == 2) This should never happen, and I don't see how it can. First, you should +never+ see "illegal hash move". I have a couple of hundred thousand games here, and this has _never_ happened in any of them. The only time I have seen this in testing is when I have broken something somewhere, which is why the test is left in. Second, a "null" (0) move should never be tested in fact... Finally, there appears to be some debug output left in by mistake, since I do not normally print hash moves that were found and appended to the PV... What version is this from? Recent versions do not have code that looks like the above that I can find. It appears to be something similar to what is in utility.c, but not the same...
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.