URL: https://linuxfr.org/users/supermichou/journaux/changer-le-mode-darrondi-ieee754-avec-roundme Title: Changer le mode d'arrondi IEEE754 avec roundme Authors: Michel H Date: 2009年11月23日T23:01:41+01:00 Tags: Score: 6 Bonsoir, j'ai le plaisir de vous présenter la bibliothèque roundme [[https://sourceforge.net/projects/roundme/](https://sourceforge.net/projects/roundme/)]. Cette bibliothèque permet de modifier le mode d'arrondi des calculs flottants d'un programme(il faut modifier le code source). Quel est intérêt de cette bibliothèque par rapport aux classiques fesetround/fegetround disponibles dans la libc (voir fenv.h) ? De nombreuses fonctions mathématiques (cos, sin, exp, ...) disponibles dans la libm (distribuée avec la libc) ne sont compatibles qu'avec le mode d'arrondi par défaut (au plus proche TONEAREST) sous peine de produire des résultats erronés. roundme fourni un mécanisme (une série de wrapper) permettant d'intercepter les appels à ces fonctions afin de garantir l'utilisation du mode d'arrondi par défaut pour ces appels. J'utilise la modification du mode d'arrondi afin de perturber l'exécution des codes de calcul. L'impact de cette perturbation sur les résultats numériques du calcul nous donne une indication sur qualité numérique du code perturbé, sur sa stabilité numérique. Pour la suite, je souhaite automatiser l'instrumentation de toutes les fonctions d'un code puis utiliser/modifier l'outil bchop [[http://kooz.org/rkowen/howto/bchop/article/index.html](http://kooz.org/rkowen/howto/bchop/article/index.html)] afin de détecter les fonctions les plus sensibles d'un code.