Ada Reference Manual (Ada 2022)Legal Information
Contents   Index   References   Search   Previous   Next 

3.3.2 Number Declarations

1
A number_declaration declares a named number. 

Syntax

2
number_declaration ::= 
     defining_identifier_list : constant := static_expression;

Name Resolution Rules

3
The static_expression given for a number_declaration is expected to be of any numeric type.
3.1/5
 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

4/5
The static_expression given for a number declaration shall be a static expression, as defined by 4.9

Static Semantics

5
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.
6
The value denoted by the named number is the value of the static_expression, converted to the corresponding universal type.

Dynamic Semantics

7
The elaboration of a number_declaration has no effect. 

Examples

8
Examples of number declarations: 
9
Two_Pi        : constant := 2.0*Ada.Numerics.Pi; 
                                          -- a real number (see A.5)
10/2
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

Contents   Index   References   Search   Previous   Next 
Ada-Europe Ada 2005 and 2012 Editions sponsored in part by Ada-Europe