Technologies de l'information - Arithmétique indépendante du langage - Partie 1 : Arithmétique des nombres entiers et à virgule flottante
Porté:
La présente partie de l'ISO/CEI 10967 spécifie les propriétés de nombreux types de données entiers et à virgule flottante disponibles dans divers langages de programmation couramment utilisés pour les applications mathématiques et numériques.
L'objectif de la présente partie de l'ISO/CEI 10967 n'est pas de garantir qu'une fonction numérique arbitraire puisse être codée de manière à produire des résultats acceptables sur tous les types de données conformes. L'objectif est plutôt de garantir que les propriétés de l'arithmétique sur un type de données conforme sont mises à la disposition du programmeur. Par conséquent, il n'est pas raisonnable d'exiger qu'un logiciel substantiel s'exécute sur chaque implémentation pouvant prétendre être conforme à cette partie de l'ISO/IEC 10967.
Un implémenteur peut choisir n'importe quelle combinaison de support matériel et logiciel pour répondre aux spécifications de cette partie de l'ISO/IEC 10967. Ce sont les types de données et les opérations sur les valeurs de ces types de données, de l'environnement informatique vu par le programmeur/utilisateur, qui le font. ou n'est pas conforme aux spécifications.
Le terme implémentation (de cette partie de l'ISO/IEC 10967) désigne l'environnement informatique total pertinent pour cette partie de l'ISO/IEC 10967, y compris le matériel, les processeurs de langage, les bibliothèques de sous-programmes, les fonctions de gestion des exceptions, les autres logiciels et la documentation.
1.1 Inclusions
Cette partie de l'ISO/IEC 10967 fournit des spécifications pour les propriétés des types de données entiers et à virgule flottante ainsi que les opérations de base sur les valeurs de ces types de données. Des spécifications sont incluses pour les types de données entiers limités et illimités, ainsi que pour les types de données à virgule flottante. Les limites d'apparition des exceptions et l'erreur maximale autorisée sont prescrites pour chaque opération spécifiée. De plus, le résultat produit en donnant un opérande de valeur spéciale, tel qu'un infini ou un NaN (pas un nombre), est prescrit pour chaque opération à virgule flottante spécifiée.
La présente partie de l'ISO/CEI 10967 fournit des spécifications pour :
a) L'ensemble des valeurs requises du type de données arithmétique.
b) Un certain nombre d'opérations arithmétiques, notamment :
1) opérations de comparaison sur deux opérandes du même type
2) opérations primitives (addition, soustraction, etc.) avec des opérandes du même type
3) opérations qui accèdent aux propriétés des valeurs individuelles
4) opérations de conversion d'une valeur d'un type de données arithmétique vers un autre type de données arithmétique, où au moins un des types de données est conforme à la présente partie de l'ISO/CEI 10967, et
5) chiffres pour toutes les valeurs spécifiées par la présente partie de l'ISO/CEI 10967 pour un type de données conforme.
La présente partie de l'ISO/CEI 10967 fournit également des spécifications pour : c
) Les résultats produits par une opération à virgule flottante incluse lorsqu'une ou plusieurs valeurs d'argument sont des valeurs spéciales CEI 60559.
d) Paramètres visibles par le programme qui caractérisent les valeurs et certains aspects des opérations d'un type de données arithmétique.
e) Méthodes de déclaration des exceptions arithmétiques.
1.2 Exclusions
La présente partie de l'ISO/CEI 10967 ne fournit aucune spécification pour :
a) Opérations arithmétiques et de comparaison dont les opérandes appartiennent à plusieurs types de données. La présente partie de l'ISO/CEI 10967 n'exige ni n'exclut la présence de telles opérations d'opérandes mixtes.
b) Un type de données d'intervalle, ou les opérations sur ces données. La présente partie de l'ISO/CEI 10967 n'exige ni n'exclut de telles données ou opérations.
c) Un type de données à points mixtes, ou les opérations sur de telles données. La présente partie de l'ISO/CEI 10967 n'exige ni n'exclut de telles données ou opérations.
d) Un type de données rationnel, ou les opérations sur ces données. La présente partie de l'ISO/CEI 10967 n'exige ni n'exclut de telles données ou opérations.
e) Les propriétés des types de données arithmétiques qui ne sont pas liées au processus numérique, comme la représentation de valeurs sur des supports physiques.
f) Les propriétés des types de données entiers et à virgule flottante qui appartiennent correctement aux normes de langage de programmation ou à d'autres spécifications. Les exemples comprennent:
1) la syntaxe des chiffres et des expressions dans le langage de programmation, y compris la priorité des opérateurs dans le langage de programmation
2) la syntaxe utilisée pour les formes de chaînes de caractères analysées (entrée) ou générées (sortie) pour les chiffres par tout langage de programmation ou bibliothèque spécifique
3) la présence ou l'absence de coercitions automatiques de type de données et les conséquences de l'application d'une opération à des valeurs de type incorrect ou à des données non initialisées
4) les règles d'affectation, de passage des paramètres et de valeur de retour.
NOTE { Voir l'Article 7 et l'Annexe D pour une discussion sur les normes de langage et les liaisons de langage.
La représentation interne des valeurs dépasse le cadre de cette norme. Par exemple, la valeur du biais de l'exposant, le cas échéant, n'est pas spécifiée, ni disponible en tant que paramètre spécifié par cette partie de l'ISO/IEC 10967. Les représentations internes n'ont pas besoin d'être uniques, et il n'y a pas non plus d'exigence de champs identifiables (pour le signe, exposant, etc.).
De plus, cette partie de l'ISO/CEI 10967 ne fournit pas de spécifications sur la manière dont les opérations doivent être mises en œuvre ni sur les algorithmes à utiliser pour les différentes opérations.
Raison d’être du projet
Note : L’information ci-dessus a été recueillie et est diffusée par le Conseil canadien des normes (CCN) pour les besoins de son système de notification centralisé et transparent pour l’élaboration de nouvelles normes. Le système permet aux organismes d’élaboration de normes (OEN) accrédités par le CCN et aux membres du public d’être informés des nouveaux travaux d’élaboration de normes au Canada. Il donne aussi aux OEN accrédités la possibilité de repérer et de résoudre les cas de doubles emplois éventuels dans les normes et les travaux de normalisation.
Les OEN sont eux-mêmes responsables du contenu et de l’exactitude de l’information présentée ici. Cette information n’existe que dans la langue dans laquelle elle a été fournie au CCN.