Je lis le livre Ada 95 de Norman Cohen et à la page 129, nous avons les déclarations constantes:Ada: déclaration constante
Pi: constant Float := 3.1415926536
et
Pi: constant := 3.1415926536
La deuxième déclaration est dit être interprétée comme , Je cite: "tout point flottant de type à virgule fixe avec la gamme appropriée". Ma question est-dire travaille avec une précision Long_Float, alors par exemple de déclarer leur mot à dire constante 2 * PI faire on doit déclarer spécifiquement comme
Two_Pi : CONSTANT Long_Float := 2.0 * 3.1415926536
ou bien mieux encore:
Two_Pi: CONSTANT Long_Float := 2.0 * Ada.Numerics.Pi;
(la deuxième déclaration pour profiter de plus de chiffres après la virgule décimale)?
Would
Two_Pi : CONSTANT := 2.0 * 3.1415926536
ou mieux encore
Two_Pi: CONSTANT := 2.0 * Ada.Numerics.Pi;
être aussi bon que les revendications livre afin que le compilateur Ada ne saurait, par exemple, si j'utilise Two_Pi dans un calcul de Long_Float, puis le compilateur fournirait le nombre requis de chiffres de précision? Étant donné que la valeur Pi 3,1415926536 est pas de type Long_Float (car il a moins de chiffres de précision), je suppose que la dernière déclaration à savoir
Two_Pi: CONSTANT := 2.0 * Ada.Numerics.Pi;
serait tout ce qui est nécessaire si je dois Two_Pi dans un calcul Long_Float. Est-ce que je comprends bien? Avec une compréhension similaire, puis
Two_Pi: CONSTANT := 2.0 * Ada.Numerics.Pi;
serait également pertinent dans le calcul du flotteur et le compilateur ne fournir que le nombre requis de chiffres de précision.
Merci beaucoup ...
Merci. Si je comprends bien, je n'ai pas besoin d'ajouter le Long_Float.L'expression que vous avez donnée est suffisante pour que le compilateur sache quelle précision utiliser. – yCalleecharan
J'utilise le compilateur GNAT GPL d'Adacore. Si je comprends bien alors ces bibliothèques numériques GNU GMP et MPFR sont pour GCC seulement. Ai-je raison? – yCalleecharan
@yCalleecharan: Oui et non, respectivement; voir au dessus. – trashgod