В libc HP-UX есть функция fesetflushtozero
< /a>, чтобы переключить поведение с плавающей запятой между «постепенным недостатком памяти» и «сбросом до нуля». Как добиться того же в системе с glibc?
Что эквивалентно glibc для fesetflushtozero()?
comment
дублирование stackoverflow.com/questions/19877055/ а> ?
- person FrankH.   schedule 11.11.2013
Ответы (1)
В руководстве по glibc нет упоминания о поддержке этого. Это не стандартная функция IEEE-754, и она существует не на всех процессорах, даже с аппаратной поддержкой операций с плавающей запятой.
Некоторые процессоры страдают недостатком производительности при работе с субнормальными числами. Flush-to-zero — это отклонение от IEEE 754, которое обеспечивает обходной путь для этого. Как правило, этого следует избегать, и производителей следует просить обеспечивать хорошие характеристики при соблюдении стандарта.
Если вы должны использовать его, вам потребуются специальные методы для этого, вероятно, с помощью ассемблерного кода или специальных процедур, предоставленных поставщиком.
person
Eric Postpischil
schedule
09.11.2013