Гарантируется ли, что преобразование 32-разрядного подписанного или неподтвержденного целых числа удвоится, разделяя и уточняя результат, что дает точное деление интерального подразделения? (За исключением случаев UB, таких как разделение по ноль и int_min/-1 , конечно):
Ниже приведен код ISPC, экспортируемая функция вызывается из C ++:
Код: Выделить всё
export void double_division(const uniform int32 dividends[], const uniform int32 divisors[], uniform int32 quotients[], uniform int32 remainders[], uniform int32 Count)
{
assume(Count % programCount == 0);
foreach(i = 0 ... Count)
{
quotients[i] = (double)dividends[i] / (double)divisors[i];
remainders[i] = dividends[i] - quotients[i] * divisors[i];
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... th-doubles
Мобильная версия