Ada Programming/Attributes/'Machine Emax
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_Emaxis
package
T_IOrenames
Ada.Category:Book:Ada Programming/Pages containing deprecated templatesText_IO;package
I_IOis
new
Ada.Category:Book:Ada Programming/Pages containing deprecated templatesText_IO.Category:Book:Ada Programming/Pages containing deprecated templatesInteger_IO (Integer);begin
T_IO.Category:Book:Ada Programming/Pages containing deprecated templatesPut ("Emax of Float type = "); I_IO.Category:Book:Ada Programming/Pages containing deprecated templatesPut (Float'Machine_Emax); T_IO.Category:Book:Ada Programming/Pages containing deprecated templatesNew_Line; T_IO.Category:Book:Ada Programming/Pages containing deprecated templatesPut ("Emax of Long_Float type = "); I_IO.Category:Book:Ada Programming/Pages containing deprecated templatesPut (Long_Float'Machine_Emax); T_IO.Category:Book:Ada Programming/Pages containing deprecated templatesNew_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 Reference Manual
- 5.3 Attributes of Floating Point Types (Annotated)Category:Book:Ada Programming/Pages containing deprecated templates
- Annex K Language-Defined Attributes (Annotated)