Какая функция rem_pio2f () используется GCC? - PullRequest
0 голосов
/ 24 марта 2012

Изучив скомпилированный код sinf() в нашей реализации GCC, я вижу, что он вызывает встроенную функцию ___ieee754_rem_pio2f.Я попытался найти подсказку о том, что это за функция, но все, что я нашел, это сообщения, в которых упоминалась ошибка с функцией rem_pio2f (без __ieee754), без объяснения причин.

Может кто-нибудь пролить светпо этой функции?

(звучит как «остаток от PI-over-2-float, или что-то в этом роде - но зачем нужна функция для константы?)

РЕДАКТИРОВАТЬ: Благодаря @Thiruvalluvar для предоставления исходного кода:

/* __ieee754_rem_pio2f(x,y)<br> *<br> * return the remainder of x rem pi/2 in y[0]+y[1]<br> * use __kernel_rem_pio2f()<br> */

1 Ответ

3 голосов
/ 24 марта 2012

sinf принимает значение с плавающей точкой и возвращает значение с плавающей точкой.Поддержка арифметики с плавающей точкой была добавлена ​​в C99.В более ранних стандартах C не было sinf, а был только sin (то есть для double).Ieee_754 указывает, что функция добавлена ​​для поддержки поддержки с плавающей запятой.Вот ссылка исходный код для этого файла, если вы заинтересованы.

...