<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
<p>Loops are allowed, looking pretty good!</p>
<p>Mike</p>
<p>On 19.11.2014 17:35, Andre Renaud wrote:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<pre>Hi Mike,
Are you allowed loops? You can implement addition using <<, &, ^. So:

static int inc(int x)
{
        int y = 1;
        while (y) {
                int carry = x & y;
                x = x ^ y;
                y = carry << 1;
        }
        return x;
}

int fish(void)
{
        static unsigned char b = 0;

        b = inc(b);
        if (b == 60) {
                b = 0;
                return 1;
        }
        return 0;
}

More than 10 lines though. Essentially it's just the naive solution
with b++ 'unpacked' into binary operators.

Andre<span style="white-space: normal;">
</span></pre>
</blockquote>
<div> </div>
</body></html>