mulu

fnuint mulu()(uint x, uint y, ref bool overflow) nothrow @safe @nogc pure

Multiply two unsigned integers, checking for overflow (aka carry).

The overflow is sticky, meaning a sequence of operations can be done and overflow need only be checked at the end.

Parameters

xleft operand
yright operand
overflowset if an overflow occurs, is not affected otherwise

Returns

the product
fnulong mulu()(ulong x, uint y, ref bool overflow) nothrow @safe @nogc pure

ditto

fnulong mulu()(ulong x, ulong y, ref bool overflow) nothrow @safe @nogc pure

ditto