Author: Lieven Clarisse
Date: 10:12:47 01/03/03
Go up one level in this thread
On January 03, 2003 at 12:03:45, Uri Blass wrote:
>code B is slightly faster than code A.
>I know that side can get only 0 or 1(something that the compiler does not know)
>and B is eqvivalent to A if you assume that side gets only 0 or 1.
>
>Is it possible to write a third code that will be even faster than B?
>
>I think that if the compiler can know that side is or 0 or 1 it can do B even
>faster.
>
>code A:
>
>if (side==LIGHT)
>{
> if (to>=56)
> {
> gen_promote(from,to,bits);
> return;
> }
>}
>else
>{
> if (to<=7)
> {
> gen_promote(from,to,bits);
> return;
> }
>}
>
>code B:
>if ((to+side*(63-2*to))>=56)
>{
> gen_promote(from,to,bits);
> return;
>}
>
>Uri
Can you try this:
if (((side==0) && (to<=7)) || ((side==1) && (to>=56)))
{
gen_promote(from,to,bits);
return;
}
maybe this will be optimized more efficiantly
regards,
lieven.
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.