Gast
#2124232
Hallo alle, hoffe es sind einige mathe-cracks unter euch, bzw. jemand der gut mit floating point ist :) Habe mir einige sourcen u.a. aus der glibc gezogen, beispielsweise: powf(): http://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.gz -> glibc-2.9/sysdeps/ieee754/flt-32/e_powf.c und expf(): http://lxr.e2g.org/source/bionic/libm/src/e_expf.c Wenn ich diese sourcen anstelle der Librarys direkt in meinen Code einbaue bekomme ich das Problem, das im Grenzbereich nicht korrekt gerundet wird, bzw. nicht auf +/-INF, ansonsten wir richtig gerechnet: powf(100.0,100.0) = 1.#INF00 my_powf(100.0,100.0) = 1000000030094932700000000000000000000000000000000000000000000.000000 expf(100.000000) = 1.#INF00 my_expf(100.000000) = 1000000030094932700000000000000000000000000000000000000000000.000000 Kann mir jemand nen Tipp geben woran das liegt? Wo ist der Unterschied? IDE ist Eclipse + MinGW GCC unter XP, das ganze soll aber später auf ner embedded 32-bit CPU laufen. Vielen Dank. Alec