I want an explicit operation that gives the upper and lower half of the result separately. This is ugly, but like:
hi, lo = val1 *** val2;
It isn't necessarily intrinsically supported on all platforms: int128 is not part of the original standard. Sometimes long long is the same width as long.
I think the concept generalizes to non-binary and non-twos-complement CPUs easily enough.
I think the concept generalizes to non-binary and non-twos-complement CPUs easily enough.