411 REFERENCE · Wikibooks
Ada Programming/Attributes/'Machine Emax
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Attributes 'Machine_Emax
__TOC__
Description
X'Machine_Emax is an Ada attribute where X is any floating point type.
Floating point types are represented as:
where
sign is 1 or -1
mantissa is a fraction in base radix
radix is the hardware radix (usually 2)
exponent is an integer
'Machine_Emax returns the largest exponent.
Example
with Ada Text_IO;
procedure Machine_Emax is
package T_IO renames Adadot .Text_IO;
package I_IO is new Adadot .Text_IOdot .Integer_IO (Integer);
begin
T_IOdot .Put ("Emax of Float type = ");
I_IOdot .Put (Float'Machine_Emax);
T_IOdot .New_Line;
T_IOdot .Put ("Emax of Long_Float type = ");
I_IOdot .Put (Long_Float'Machine_Emax);
T_IOdot .New_Line;
end Machine_Emax;
The output with GNAT 4.6 on the x86-64 architecture is:
Emax of Float type = 128
Emax of Long_Float type = 1024
See also
Wikibook
Ada Programming
Ada Programming/Attributes
Ada Programming/Attributes/'Machine_Emin
Ada Programming/Attributes/'Machine_Mantissa
Ada Programming/Attributes/'Machine_Radix
Ada Reference Manual
5 3 Attributes of Floating Point Types
K Language-Defined Attributes
Address
Address