История изменений
Исправление
MOPKOBKA,
(текущая версия)
:
Мой uint64 mul(uint64, uint64) реализует умножение fixed point с частями 32:32, который использует аппаратные возможности для умножения, и обходится без эмуляции 128 битных чисел. Если нужна какая то скорость, то возврат i128 как раз будет некорректным.
Умножение почти везде дает результат в два регистра, что дает бесплатное умножение i128 если есть умножение i64.
Исходная версия
MOPKOBKA,
:
Мой uint64 mul(uint64, uint64) реализует умножение fixed point с частями 32:32, который использует аппаратные возможности для умножения, и обходится без эмуляции 128 битных чисел. Если нужна какая то скорость, то возврат i128 как раз будет некорректным.