Author: Robert Hyatt
Date: 06:41:01 01/09/04
Go up one level in this thread
On January 09, 2004 at 06:46:00, Tord Romstad wrote: >By reading this forum, I've understood that "if" statements are considered >evil and that it is often a good idea to remove them if it is possible. Suppose >that I have code which looks like this: > >if(x) y += 20; > >Would it then be advantageous to rewrite the code like this? > >y += (!(!x))*20; > >In my evaluation function, I have a lot of conditionals which could be avoided >by >using tricks similar to the one above, but before doing it I would like to make >sure it is really a good idea. After all, the first form above is much more >readable. > >Tord ! produces branches. Because the C semantics say "if X != 0, !x=0, while if X == 0, !x=1. That !=0 causes a branch and you can't avoid it. In assembly you might avoid the branch with a CMOV instruction, but not in the above.
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.