Author: Robert Hyatt
Date: 14:24:29 06/14/98
Go up one level in this thread
On June 14, 1998 at 08:44:10, Dave Gomboc wrote: >On June 14, 1998 at 06:43:51, Vincent Diepeveen wrote: > >> >>On June 13, 1998 at 23:17:37, Dave Gomboc wrote: >> >>>Let's say that A is the bitboard representing where the rook can move. >>>B could be one of many things: the bitboard representing squares the >>>opponent attacks at least as many times as you do, the bitboard >>>representing squares the opponent attacks with a piece of lesser (or >>>equal) value than the rook, the bitboard representing whatever your >>>imagination comes up with... but in every case, computing A and not B >>>should give you what you want in one clock cycle. >>> >>>Of course B isn't that easy to generate, depending on what you choose >>>for it, but it's not like bitboards make this sort of computation >>>impossible or extremely expensive either. >> >>Suppose you have both A and B, then how do you compute it >>in O(1)? >> >>Not possible with the current array sizes. >> > >I'm not sure why I said "in one clock cycle" above, clearly there are >two operations which cannot overlap completely. I don't see how >computing the result in O(1) time is going to be a problem. > >64-bit architecture: > > > Move B, Reg2 > Move A, Reg1 > Reg2 = -Reg2 > Reg1 ||= Reg2 you also probably meant reg2=compl(reg2). "-" is not a 1's complement... ie r=1, r=-r does not give what you'd expect, it gives a word with all bits set... However, every processor I know of has a 1's complement operator, so it doesn't cost any more... and is actually probably faster..
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.