Alors que, autant que je me souvienne, IEEE 754 ne dit rien sur un mode de chasse à zéro pour gérer denormalized numbers plus rapidement, certaines architectures offrent ce mode (par exemple http://docs.sun.com/source/806-3568/ncg_lib.html).comportement flush-to-zero en arithmétique en virgule flottante
Dans le cas particulier de cette documentation technique, le traitement standard des nombres dénormalisés est la valeur par défaut, et le rinçage à zéro doit être activé explicitement. En mode par défaut, les nombres dénormalisés sont également traités dans le logiciel, ce qui est plus lent.
Je travaille sur un analyseur statique pour C embarqué qui essaie de prédire des plages correctes (si parfois imprécises) pour les valeurs qui peuvent arriver à l'exécution. Il vise à être correct car il est destiné à être utilisable pour exclure la possibilité de quelque chose qui ne va pas au moment de l'exécution (par exemple pour le code embarqué critique). Cela nécessite d'avoir capturé tous les comportements possibles pendant l'analyse, et donc toutes les valeurs possibles produites lors des calculs en virgule flottante.
Dans ce contexte, ma question est double:
parmi les architectures embarquées, y sont architectures qui offrent flush seulement à zéro? Ils n'auraient peut-être pas le droit de se faire connaître comme "IEEE 754", mais pourraient offrir des opérations à virgule flottante de type IEEE 754 assez proches.
Pour les architectures qui offrent à la fois, dans un contexte intégré, n'est pas probablement affleurant à zéro à activer par le système, afin de rendre le temps de réaction plus prévisible (une contrainte commune pour ces systèmes embarqués)?
Manipulation de rinçage à zéro dans l'arithmétique des intervalles que j'utilise pour les valeurs à virgule flottante est assez simple si je sais que je dois le faire, ma question est plus de savoir si je dois le faire.
Bonne question, bien indiquée. Je ne suis pas un expert en systèmes embarqués, mais je soupçonne qu'il n'y a pas de réponse claire. Cela dépend uniquement de votre environnement d'utilisateur final particulier. – GManNickG