• [^] # Re: Le fortran

    Posté par . En réponse au journal Qu'est-ce qu'un langage sécurisé ?. Évalué à 3.

    - Toutes les operations flottantes sur Itanium ne sont pas forcement directement implemente. Par exemple, pour la division, il faut tout d'abord calculer l'inverse, puis effectuer une multiplication. L'inverse en lui-meme est tout d'abord une approximation qui est affinee pour finalement obtenir la valeur approchee correcte (toutes les valeurs inverses ne sont pas forcement stockable en flottant dans leur valeur exactes, mais en valeur approchee). C"est pas propre a l'Itanium, d'autre arches le font ainsi.

    - Certains aspects de l'IEEE ne sont pas geres materiellement, par exemple les nombres denormalises. Lorsqu'une des operandes dans une multiplication/addition contienr un nombre denormalise, l'operation est effectuee logiciellement, via une interruption, ce qui est long.

    - Il existe un drapeau disant "au lieu de generer une interruption lorsqu'il y a un nombre denormalise, consider le nombre comme etant 0." Pour les applications ne necessitant pas une telle precision, cela permet d'accelerer les calculs.

    - icc/ifort utilisent cette approche. Gcc aussi avec -fast-math. La difference, si cela n'a pas change, c'est que cette option est dans la liste des options utilisees par defaut lorsque l'utilisateur utilise -O3 avec les produits d'Intel.