Author: Robert Hyatt
Date: 13:13:20 01/14/02
Go up one level in this thread
On January 14, 2002 at 15:32:19, Andrew Dados wrote:
>
>There is another technique requiring max k jumps, where 2^k>=number of switches
>(minimum of k-1 jumps). It works with no jump table, but adding new cases is
>tedious.
>
>e.g for 4 n values (1,30,120,500):
>
>if n>30 goto upper;
>if n==1 {...; goto end;}
> else {...; goto end;} //n==30 here;
>label upper:
>if n==120 {...; goto end;}
> else {...; goto end;} //n==500 here;
What if N=400???
if n>30 is true, so we go to upper.
n==120 is false so we do the else which is wrong...
Unless you are assuming that only the 4 values you gave are possible and
you are binary-treeing the comparisons? If so, that seems to be less
useful as handling "default:" would be very messy, to say the least...
>
>So you have max 2 jumps here, min one.
>I doubt anyone would want to hand-code huge switch in such a way, but trick is
>worth mentioning, imo.
>Sure you may want to validate all cases btw...
>
>-Andrew-
>
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.