История изменений
Исправление alysnix, (текущая версия) :
Если нужна какая то скорость, то возврат i128 как раз будет некорректным.
такой возврат будет корректным всегда, ибо он корректен по определению. он будет возможно избыточным, если числа короткие.
вообще говоря операции должны быть (набор кулхацкера) (если модель 32 битная)
i64 mul(i32, i32) //просто умножает c расширением
i32 mul_restricted(i32, i32)//умножает без гарантий
i32 mul_div(i32, i32, i32) //умножает с расширением и сразу делит
i32 mul_shr(i32, i32, i32) //умножает с расширением и сдвигает вправо
Исходная версия alysnix, :
Если нужна какая то скорость, то возврат i128 как раз будет некорректным.
такой возврат будет корректным всегда, ибо он корректен по определению. он будет возможно избыточным, если числа короткие.
вообще говоря операции должны быть (набор кулхацкера)
i64 mul(i32, i32) //просто умножает c расширением
i32 mul_restricted(i32, i32)//умножает без гарантий
i32 mul_div(i32, i32, i32) //умножает с расширением и сразу делит
i32 mul_shr(i32, i32, i32) //умножает с расширением и сдвигает вправо