Операция модуло с плавающей точкой

Я пытаюсь реализовать операцию сокращения диапазона для тригонометрии. Но вместо этого я думаю, что было бы лучше просто выполнить операцию по модулю pi/2 над входящими данными. Мне интересно, какие алгоритмы существуют и эффективны для этой операции для 32-битной системы с плавающей запятой IEEE 754?

Я должен реализовать это на ассемблере, поэтому fmod, деление, умножение и т.д. не доступны мне с помощью одной инструкции. Мой процессор использует 16-битные слова, и я реализовал 32-битное сложение, вычитание, умножение, деление, квадратный корень, косинус и синус с плавающей точкой. Мне просто нужно уменьшить диапазон (по модулю) для ввода значений косинуса и синуса.

21
задан Greg 26 September 2013 в 06:42
поделиться