Author: Robert Hyatt
Date: 11:52:47 03/02/06
Go up one level in this thread
On March 02, 2006 at 14:14:15, Paul Clarke wrote: >On March 02, 2006 at 11:50:56, Robert Hyatt wrote: > >>On March 02, 2006 at 02:19:04, Tony Werten wrote: >> >>>On March 01, 2006 at 20:00:40, Robert Hyatt wrote: >>> >>>>Someone had already emailed me this. I just hadn't looked. Now I am not quite >>>>sure what is going on: >>>> >>>>static const int HistorySize = 12 * 64; >>>> >>>>That appears to be a dimension for the HistHit[] and HistTot[] arrays, which >>>>leaves me lost since the other code sent to me has: >>>> >>>>index = PIECE_TO_12(board->square[MOVE_FROM(move)]) * 64 + >>>>SQUARE_TO_64(MOVE_TO(move)); >>>> >>>>followed by >>>> >>>> HistHit[index]++; >>>> HistTot[index]++; >>>> >>>>So I know I am overlooking something. "index" is clearly a 12 bit value between >>>>0 and 4095 if I understand it correctly. yet HistHit[] is not nearly that big. >>> >>>How do you get to 4096 ? >> >>I'm looking at from*64+to... since either is at least 6 bits, that gives 12. >>If piece_to_12 squashes from into 12 bits, that would at least make the index >>correct according to the dimension of the array, although then I would not claim >>to understand the idea of squashing from from 0-63 into the range 0-11... > >Are you reading the index calculation as: > >index = SQUARE_TO_64(MOVE(from)) * 64 + SQUARE_TO_64(MOVE(to)); > >? If so then that would explain the confusion: the index calculation is, as Tony >mentions below, using the type of piece that moved rather than the square it >moved from, hence the use of PIECE_TO_12(board->square[MOVE(from)]). Aha... So fruit is using a 12 * 64 entry hit/fh counter set. Has anyone compared this to the more common 64-64 (from-to 12 bits) array??? The snippet that was emailed to me didn't have the PIECE_TO_12() macro/function included so I didn't notice, I was assuming it was a 12 bit thing rather than a 12-valued thing... :) > >> >> >>>Piece_to_12 most likely has a 0..11 range (6 pieces, 2 colors), square_to a >>>0..63 It's just 12*64=768 >>> >>>Tony
This page took 0.01 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.