3.3.2 Number Declarations
Syntax
Name Resolution Rules
A
name
that denotes a
number_declaration
is interpreted as a value of a universal type, unless the expected type
for the
name
is a non-numeric type with an Integer_Literal or Real_Literal aspect,
in which case it is interpreted to be of its expected type.
Legality Rules
The
static_expression
given for a number declaration shall be a static expression, as defined
by
4.9.
Static Semantics
The named number denotes a value of type
universal_integer
if the type of the
static_expression
is an integer type. The named number denotes a value of type
universal_real
if the type of the
static_expression
is a real type.
The value denoted by the named number is the value
of the
static_expression,
converted to the corresponding universal type.
Dynamic Semantics
Examples
Examples of number
declarations:
Two_Pi :
constant := 2.0*Ada.Numerics.Pi;
--
a real number (see A.5)
Max : constant := 500; -- an integer number
Max_Line_Size : constant := Max/6; -- the integer 83
Power_16 : constant := 2**16; -- the integer 65_536
One, Un, Eins : constant := 1; -- three different names for 1
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe