Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Crafty question (move storage area)

Author: Dan Newman

Date: 09:42:33 12/17/01

Go up one level in this thread


On December 17, 2001 at 11:42:58, Alvaro Jose Povoa Cardoso wrote:

> in
>  struct tree [
>     ...
>     int *last[MAXPLY]; ???
>     ...
>  }
>
>  It seems to me that this a list of pointers.
>
>
> ----------------------------------------------------------
>|                                                          |
>|   initialize.                                            |
>|                                                          |
> ----------------------------------------------------------
>*/
>  if (ply >= MAXPLY-1) return(beta);
>  tree->nodes_searched++;
>  next_time_check--;
>  tree->last[ply]=tree->last[ply-1]; ???
>  o_alpha=alpha;
>
>
>
> Also the following loop is used to loop thourgh all the moves.
>    for (movep=tree->last[ply-1];movep<tree->last[ply];movep++) {
>     .
>     .
>     .
>    }
>  Again I don't see from where the moves come from, although it seems that you
>have some memory allocated somewhere and you use these pointers to index the
>first and the last move from each ply.
>
>
>  Could you please explain where do you store the generated moves?
>  I really don't see where they get stored as they are generated.
>
>Best regards,
>Alvaro Cardoso

In struct tree {}; you'll also find the array move_list[5120] from
which all the move lists (for a search thread) are allocated.

-Dan.



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.