x86-64 долгая двойная точность

Какова фактическая точность длинных дважды на Intel 64-разрядные платформы? это - 80 битов, дополненных к 128 или фактические 128 битов?

если прежний, помимо идущего GMP, там другая опция достигнуть истинных 128 точности?

6
задан Z boson 12 May 2016 в 12:12
поделиться

3 ответа

Точность x86-64 такая же, как и у обычного x86. Расширенная двойка - 80 бит, используется ISA x87, добавляется 6 байт подстановки. Аппаратных средств 128-битного FP не существует.

Программная реализация квадратной или расширенной квадратной точности может выиграть от инструкции целочисленного умножения x86-64 64x64 => 128.

9
ответ дан 8 December 2019 в 13:44
поделиться

Я бы рекомендовал использовать MPFR. Это более сложная библиотека множественной точности с плавающей запятой, которая построена поверх GMP.

4
ответ дан 8 December 2019 в 13:44
поделиться

С большой вероятностью он 64-битный для обоих (в зависимости от компилятора и ОС), потому что компилятор выдает скалярный SSE2 вместо инструкций x87.

x86 не поддерживает более высокую точность, чем 80 бит, но если вам действительно нужно более 64 бит для алгоритма FP, скорее всего, вам следует проверить свои числа, а не решать проблему с помощью грубой силы.

2
ответ дан 8 December 2019 в 13:44
поделиться