# Computer Chess Club Archives

## Messages

### Subject: Re: significant math

Author: Sune Fischer

Date: 14:58:33 11/20/02

Go up one level in this thread

```On November 20, 2002 at 16:52:38, Steffan Westcott wrote:

>On November 20, 2002 at 11:39:14, Sune Fischer wrote:
>
>>On November 20, 2002 at 11:15:17, Robert Hyatt wrote:
>>
>>What do you think of Steffan's idea:
>>
>>http://www.talkchess.com/forums/1/message.html?266282
>>
>>and
>>
>>http://www.talkchess.com/forums/1/message.html?266310
>>
>>Been toying with a book keeping scheme for that the last hour, it seems
>>extremely (overly?) complex.
>>
>>-S.
>
>Sune,
>
>Just so I can address your question properly, what precisely do you mean by the
>term 'book keeping' ?

Well it's not easy to explain, actually, but let me give it a try.

It's about not generating the same move twice, it's about not wasting a lot of
energy avoiding to generate the same move twice.

I can understand the principle if you do MVV/LVA, the patterns are straight
forward. So you go through the list until you find a move and then try that.

I admit I can't see a fast way of doing this, it appears you need to ask ~25
questions to run through this list. Suppose there are no bishops on the board
and that black has no queens. So you have some pointers you point to something
so you avoid all Bx?,?xB and ?xQ questions?
How do you do this?

Now the non-captures, have you saved the calculated attack boards, or are those
recalculated on the fly, again?

Do you use an array of the form:

BitBoard piece[2][6]; // color,type of piece

or do it like Crafty?

I can't figure out what I like best, the array gives really compact code which i
always like, it also may save you a switch statement here and there.

Like the other question that was asked: how do you get the from-square on the
knight attack bitboard if there are several knights on there? You have to know
which one to move?

Sorry, I will think on how to explain the question, it is about implementation
detail really, I don't see a way of doing this faster than with simple
extraction.

-S.

>Cheers,
>Steffan

```