БЫСТРОЕ ВЕКТОРНОЕ ВЫЧИСЛЕНИЕ ДЕЛЕНИЯ БЕЗ ВЕТВЛЕНИЯ

1. Способ, выполняемый компьютером, содержащий этапы, на которых:
масштабируют множество аргументов для генерирования множества соответствующих масштабированных аргументов;
перемножают множество масштабированных аргументов для генерирования первого значения;
обращают первое значение для генерирования второго значения; и
восстанавливают множество результатов на основе умножения второго значения на один или более из множества масштабированных аргументов,
причем множество результатов соответствует обращенным версиям множества аргументов.
2. Способ по п.1, в котором обращение первого значения выполняется путем изменения знака порядковой части первого значения.
3. Способ по п.1, дополнительно содержащий этап, на котором преобразуют версию с плавающей точкой множества аргументов в целочисленное значение.
4. Способ по п.1, в котором масштабирование множества аргументов содержит масштабирование множества аргументов по 1.0.
5. Способ по п.1, дополнительно содержащий этап, на котором сохраняют сгенерированные значения в памяти.
6. Устройство, содержащее:
память для хранения множества значений данных, соответствующих инструкции SIMD (один поток команд, множество потоков данных); и
процессор, имеющий множество SIMD-полос, причем каждая из множества SIMD-полос предназначена для обработки одного элемента из множества данных, сохраненных в памяти, в соответствии с SIMD-инструкцией, причем процессор предназначен для того, чтобы:
масштабировать порядковую часть и мантиссовую часть первого значения из множества значений данных для соответственного генерирования второго значения и третьего значения;
обращать второе значение и третье значение для соответственного генерирования четвертого значения и пятого значения; и
перемножать четвертое значение и пятое значение для генерирования обратной версии первого значения, причем второе значение должно быть обращено путем изменения знака порядковой части первого значения.
7. Устройство по п.6, в котором процессор предназначен для того, чтобы определять порядковую часть и мантиссовую часть первого значения.
8. Устройство по п.6, в котором процессор предназначен для того, чтобы масштабировать порядковую и мантиссовую части первого значения по 1.0 для генерирования второго и третьего значений.
9. Устройство по п.6, в котором процессор предназначен для того, чтобы преобразовывать версии с плавающей точкой множества значений данных в целочисленное значение.
10. Устройство по п.6, в котором память содержит кэш.
11. Устройство по п.6, в котором процессор содержит одно или более процессорных ядер.
12. Устройство по п.6, в котором процессор предназначен для того, чтобы вызывать сохранение сгенерированных значений в памяти.
13. Устройство по п.6, дополнительно содержащее устройство отображения для отображения обратной версии первого значения.
14. Считываемый компьютером носитель, содержащий одну или более инструкций, которые при исполнении процессором конфигурируют процессор для выполнения одной или более операций для того, чтобы:
масштабировать множество аргументов для генерирования множества соответствующих масштабированных аргументов;
перемножать множество масштабированных аргументов для генерирования первого значения;
обращать первое значение для генерирования второго значения; и
восстанавливать множество результатов на основе умножения второго значения на один или более из множества масштабированных аргументов.
15. Считываемый компьютером носитель по п.14, в котором множество результатов соответствует обращенным версиям множества аргументов.
16. Считываемый компьютером носитель по п.14, дополнительно содержащий одну или более инструкций, которые при исполнении процессором конфигурируют процессор для обращения первого значения путем изменения знака порядковой части первого значения.
17. Считываемый компьютером носитель по п.14, дополнительно содержащий одну или более инструкций, которые при исполнении процессором конфигурируют процессор для преобразования версии с плавающей точкой множества аргументов в целочисленное значение.
18. Считываемый компьютером носитель по п.14, дополнительно содержащий одну или более инструкций, которые при исполнении процессором конфигурируют процессор для масштабирования множества аргументов по 1.0.
19. Считываемый компьютером носитель по п.14, дополнительно содержащий одну или более инструкций, которые при исполнении процессором конфигурируют процессор для сохранения сгенерированных значений в памяти.
20. Считываемый компьютером носитель по п.14, дополнительно содержащий одну или более инструкций, которые при исполнении процессором конфигурируют процессор для перемножения обращенной порядковой части и обращенной мантиссовой части множества аргументов.