Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: attacks_from[] and attacks_to[] info

Author: Gerd Isenberg

Date: 07:29:27 10/23/02

Go up one level in this thread


On October 23, 2002 at 03:36:58, Peter Fendrich wrote:

>On October 22, 2002 at 19:16:42, Gerd Isenberg wrote:
>
>>On October 22, 2002 at 19:01:43, Peter Fendrich wrote:
>>
>>>On October 22, 2002 at 18:27:11, Gerd Isenberg wrote:
>>>
>>>Hi Gerd,
>>>I'm not sure I understand this:
>>>
>>>- snip -
>>>>Due to the
>>>>simultanious feature this algorithms seem a favorably alternative to rotated
>>>>bitboards, even without assembler.
>>>- snip -
>>>
>>>Do you really mean that the c-code in the previous post in this thread is faster
>>>than rotated bitboards?
>>>
>>>Peter
>>
>>Hi Peter,
>>
>>I believe yes on 64-bit processors in conjunktion with using this routines with
>>sets of multiple pieces.
>>
>>I use it currently with mmx-registers in Leiden.
>>
>>http://www.talkchess.com/forums/1/message.html?259095
>>
>>See also the reply of Steffan using move target set for each direction!
>>
>>Regards,
>>Gerd
>
>Yes, I saw your mmx code but didn't think that c-code could match that. Maybe
>64-bits processors would make a difference.

Yes, with hammers sixteen general purpuse registers even c-code may be faster
then.

>BTW your link is outdated!
>Peter

oups, only valid for one week. If you like, i may send it by mail - or hopefully
it goes to the archives soon, specially the replies of Steffan.
His point was that i lose information, if i combine the directions to early into
the final attack set register. His Idea is to hold eight disjoint direction sets
for all sliding pieces, to gain really from generating attack sets for multiple
pieces. These sets anded with ~ownPieces may be usefull as a kind of movelist
entry with implicite bookholding.

I stated that i use the mmx-stuff now in IsiChess instead of rotated bitboards,
without changing function interfaces (so far).
Due to valid move generation the winner is currently a mmx-routine, that gets
all attacks by all pieces of one (opposite) side. So i get all tabu squares for
the king to move. Instead of calling multiple getAttackedBy for possible king
move (castle) target squares, i call getAllAttacks once.
I made also dedicated mmx-routines for determing pinned pieces and covered
checkers (remove checker?).

Gerd




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.