Please rid me of this goto
Steven Schveighoffer via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jun 23 10:45:05 PDT 2016
On 6/23/16 1:22 PM, Andrei Alexandrescu wrote:
> So I was looking for an efficient exponentiation implementation, and
> http://www.stepanovpapers.com/PAM.pdf has a nice discussion starting at
> page 54. Stepanov's solution, however, duplicates code, so I eliminated it:
>
> https://dpaste.dzfl.pl/e53acb41885a
>
> The cost is the use of one goto. Can the code be restructured to not
> need it?
Why is this not the same?
for(;;) // previously outer:
{
if (e % 2 != 0)
{
r = mul(r, b, overflow);
if (e == 1) return r;
}
b = mul(b, b, overflow);
e /= 2;
}
-Steve
More information about the Digitalmars-d
mailing list