File: /home/oboss/Users/gec/sources/Basic_Services/Source_Data/universal_parameter_representation-integer.ads

1     --% Compilation Unit: Universal_Parameter_Representation.Integer
2     --
3     --% Category: Package Declaration
4     --
5     --% Release:  $Name:  $
6     --
7     --% Version:  $Revision: 2.1 $
8     --
9     --% Author:   $Author: gec $
10     --
11     --% Revision Log:
12     --    $Log: universal_parameter_representation-integer.ads,v $
13     --    Revision 2.1  2003/11/13 14:57:35  gec
14     --    Merged ECSS Migration branch to main trunk.
15     --
16     --    Revision 1.1.2.1  2003/11/10 10:00:22  gec
17     --    Added universal representation of parameters and associated arithmetic operators.
18     --
19     --
20     --% Project: OBOSS
21     --
22     --% Copyright (C) 2003 by Terma A/S
23     --  Proprietary and intellectual rights of Terma A/S, Denmark,
24     --  are involved in the subject-matter of this material and
25     --  all manufacturing, reproduction, use, disclosure, and
26     --  sales rights pertaining to such subject-matter are
27     --  expressly reserved. This material is submitted for a
28     --  specific purpose as agreed, and the recipient by
29     --  accepting this material agrees that this material will
30     --  not be used, copied, or reproduced in whole or in part
31     --  nor its contents revealed in any manner or to any person,
32     --  except to meet the purpose for which it was submitted and
33     --  subject to the terms of the agreement.
34     --
35     --% Target Dependencies:
36     --    None
37     --% Compiler Dependencies:
38     --    None
39     
40     --~-----------------------------------------------------------------------------
41     
42     package Universal_Parameter_Representation.Integer is
43     
44        --% Library Package:
45        --    Class of universal integers.
46        -- Supertype for integers and enumerations
47        --% Active Tasks:
48        -->   None
49        --% Passive Tasks:
50        -->   None
51     
52        -- Representation of Universal Integers on the given platform
53        type Universal_Representation is new Long_Long_Integer;
54     
55        type Universal_Parameter is new Universal_Parameter_Type with private;
56     
57        --% Subprogram:
58        --    Constructor for class of universal integer parameters
59        --% Parameter Constraints:
60        -->   None
61        --% Exceptions Raised:
62        -->   None
63     
64        function Make_Universal_Parameter
65              (Parameter :        Universal_Representation)
66              return Universal_Parameter;
67     
68        --% Subprogram:
69        --   Subtraction operator on abstract universal integer
70        --% Parameter Constraints:
71        -->   None
72        --% Exceptions Raised:
73        -->   None
74     
75        function "-"
76              (Left, Right :        Universal_Parameter)
77              return Universal_Parameter;
78     
79     
80        --%  Subprogram:
81        --   Multiplication operator on abstract universal integer type and integer
82        --% Parameter Constraints:
83        -->   None
84        --% Exceptions Raised:
85        -->   None
86     
87        function "*"
88              (Left  :        Universal_Parameter;
89               Right :        Natural)
90              return Universal_Parameter;
91     
92        --%  Subprogram:
93        --   Abolute operator on abstract universal integer type
94        --% Parameter Constraints:
95        -->   None
96        --% Exceptions Raised:
97        -->   None
98     
99        function "abs"
100              (Left :        Universal_Parameter)
101              return Universal_Parameter;
102     
103        --%  Subprogram:
104        --   Ordering relation on abstract universal integer type
105        --% Parameter Constraints:
106        -->   None
107        --% Exceptions Raised:
108        -->   None
109     
110        function ">"
111              (Left, Right :        Universal_Parameter)
112              return Boolean;
113        function ">"
114              (Left  :        Universal_Parameter;
115               Right :        Natural)
116              return Boolean;
117     
118     private
119     
120        type Universal_Parameter is new Universal_Parameter_Type
121           with record
122              Value : Universal_Representation;
123           end record;
124     
125     end Universal_Parameter_Representation.integer;
126     
127     --~-----------------------------------------------------------------------------
128