Untersucht man den kompilierten Code der sinf()
auf unserer GCC-Implementierung, sehe ich, dass es eine eingebaute Funktion ___ieee754_rem_pio2f
aufruft. Ich habe versucht, nach einem Hinweis auf diese Funktion zu suchen, aber alles, was ich gefunden habe, waren Beiträge, die sich auf einen Fehler mit der rem_pio2f
(keine __ieee754
) Funktion ohne Erklärung beziehen.Was ist die von GCC verwendete Funktion rem_pio2f()?
Kann jemand diese Funktion beleuchten?
(klingt wie „Rest von PI-over-2-float oder etw ähnlich - aber warum eine Funktion für eine konstante brauchen?)
EDIT: Vielen Dank für die Bereitstellung des Quellcodes @Thiruvalluvar:
/* __ieee754_rem_pio2f(x,y)
*
* return the remainder of x rem pi/2 in y[0]+y[1]
* use __kernel_rem_pio2f()
*/
ieee 754 ist der Standard für Fließkommazahlen, daher ist es wahrscheinlich eine Funktion, die mit diesem Format arbeitet, wobei "iee754_" vorangestellt wird; wenn Sie es gegoogelt haben, haben Sie Seiten gefunden, wo es klar ist, dass es keine Konstante ist, wie diese http://lists.freebsd.org/pipermail/freebsd-i386/2005-February/002103.html – ShinTakezou
Danke , @ShinTakezou. Ja, mir ist klar, was IEEE754 ist. Und ich habe diese Seite ähnlich wie andere Seiten gesehen, aber leider sieht es eher wie ein SVN-Diff-Bericht aus als der vollständige Funktionscode. – ysap