LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

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

Умножение почти везде дает результат в два регистра, что дает бесплатное умножение i128 если есть умножение i64.

Исходная версия MOPKOBKA, :

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