Author: Gerd Isenberg
Date: 14:27:43 05/28/04
Go up one level in this thread
On May 28, 2004 at 17:13:44, Dieter Buerssner wrote: >>Nice, is it faster? > >I did not test. I guess, your method will be a bit faster. I had hoped, you will >try it out. Next week on work? I fear i have no time, may be later after WCCC... >I really do not have an application, that could use a population >count for 10 64-bit words. You seem to have one ... Not really - let say the final result is a set of all enprised pieces and safe move targets for all kind of pawn/pieces. For that purpose if you already have #of pawn-,light,rook,queen/king attacks further counting makes probably not much sense ;-) > >>One has to compare it with an optimized four time popcount and those additional >>34 bitwise 64-bit instructions. I'm not sure whether it is really applicable for >>chess, even for extreme bitboarders. Because i like to keep disjoint >>intermedeate results, eg. oneOrThree, atLeastTwo for all attacks of pawns, light >>pieces, rooks, queen/king. Those results may be further combined by successively >>supplying the five instruction trick or counted independently. >> >>For pawns, rooks, queen/king one may use polymorph odd- and majority overloads >>with two parameters, only bishops (normally disjoint due to one is on light >>squares and the other on dark) and two knights may require the three parameter >>functions. > >Hey, now I think, only you are one drugs :-) Dieter! How dare you say that ;-) >Seriously, my routine also gives >some for microoptimization. It uses many local variables - and registers are >rare on x86. I did not look at all at the generated assembly, but I guess, with >some reordering of things, the code can be made more efficient. Your code will >probably not be that dependant on such things - a clear advantage of your code. > Counting ones in egt streams? >Cheers, >Dieter
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.