4089Fermer4091
GodzilLe 04/01/2019 à 22:07
Oui mais c’est bel est bien correct.

C’est parce que tu travaille pas dans le domaine R complet.

-0 est différent de 0 car c’est pour représenter un nombre infiniment proche de 0, mais est légèrement en dessous.
Ce qui fait que exp(-0) est très légèrement moins que 1, et ce très légèrement moins que 1 - 1 “normal” donne un 0 très légèrement en dessous de 0, soit -0.

On travaille en flottant la, pas en entier, ni entier approximatif.


(Comprendre le “très légèrement en dessous de 0” comme quand tu travaille avec les limites “tendent vers 0 du côté des nombres négatifs )

Expm1 est fait spécialement pour traiter le cas de e^x-1 quand -1 < x < 1, sinon le faire “naïvement” à la mains avec un appel à exp(x)-1 provoquerait des erreurs d’arrondies

(C’est l’IEEE754 au passage. Elle n’est pas parfaite mais ce genre de choix comme pour expm1 n’est pas une erreur)