math.h auf FreeBSD

h^2

hat ne Keule +1
Nachdem der math.h auf FreeBSD lange Sachen fehlten, gibt es nun die meisten Funktionen, dafür sind sie aber ungenauer als bei anderen System. Das gibt dann beim linken:
Code:
warning: powl has lower than advertised precision
Und in der Tat kommen auch andere Zahlen raus als auf den anderen Systemen. Das ist sehr unpraktisch, deswegen scheitern bei uns nämlich unit-tests auf FreeBSD...

Weiß jemand warum so etwas doch sehr basales in FreeBSD nicht drin ist? Gibt es entsprechenden Code nicht unter der BSDL? Bzw. arbeitet jemand daran oder gibt es einen Zeitplan?

Standardmäßig bewirbt die glibc auf FreeBSD noch nicht einmal C99 :'(
 
Da der Standard bei vielen Funktionen die Genauigkeit vorschreibt ist das eigentlich nicht zu Rechtfertigen. Bei Sinusfunktionen gibt es zum Beispiel performante Funktionen, die immer einen Fehler kleiner als die letzte darstellbare Stelle bieten.

Bei float ist es tatsächlich vertretbar einfach alle 2^32 möglichen Eingaben durch zu testen. Trotzdem läuft das immer wieder schief, vor allem bei Prozessorherstellern, die in den SIMD-Einheiten fertige sin und sqrt Funktionen einbauen, die dann (unnötig) eine miese Genauigkeit haben. Nicht um Chipfläche zu sparen sondern aus Schlampigkeit.

Ich würde da einen Bug Report aufmachen.
 
Weil freebsd-numerics@ bereits seit Jahren um Hilfe schreit, sich aber niemand dazu berufen fühlt oder genügend Mathematik-Kenntnisse besitzt, dort mitzuwirken. Damit meine ich nicht mal uns hier, stattdessen z.B. Google, die FreeBSDs libm in Android nutzen. :(
 
Zurück
Oben