DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦d8a70589d⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Bounds_Utilities, seg_0045d8

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



--| @SUMMARY This package provide interfaces for analyzing discrete ranges and
--| range contraints to get their bounds.
--| @DESCRIPTION This package provides a series of procedures for calculating
--| the upper and lower bounds of various kinds of constraints, ranges, and
--| type definitions.  If the bounds cannot be statically computed, the boolean
--| out parameter (Static) is set to false.
--| @INDICES (ADA_ANALYSIS, BOUNDS, CONSTRAINTS)
with Ada_Program;
with Type_Information;
with Names_And_Expressions;
package Bounds_Utilities is

    procedure Find_Range (The_Range : Type_Information.Discrete_Range;
                          Lbound, Ubound : in out Long_Integer;
                          Static : out Boolean;
                          Non_Static_Lbound, Non_Static_Ubound : out
                             Names_And_Expressions.Expression);

    procedure Enumeration_Range (Enum_Type_Def  : Ada_Program.Type_Definition;
                                 Lbound, Ubound : in out Long_Integer);

    procedure Enumeration_Range_Constraint_Bounds
                 (Constraint     :        Type_Information.Type_Constraint;
                  Lbound, Ubound : in out Long_Integer;
                  Static         : out    Boolean);

    procedure Integer_Range_Constraint_Bounds
                 (Constraint     :        Type_Information.Type_Constraint;
                  Lbound, Ubound : in out Long_Integer;
                  Static         : out    Boolean);

    procedure Fixed_Range_Constraint_Bounds
                 (Fixed_Type_Definition :
                     Type_Information.Fixed_Type_Definition;
                  Range_Constraint : Type_Information.Type_Constraint;
                  Lower_Model, Upper_Model : in out Long_Integer;
                  Static : out Boolean);

    procedure Float_Range_Constraint_Bounds
                 (Constraint     :        Type_Information.Type_Constraint;
                  Lbound, Ubound : in out Float;
                  Static         : out    Boolean);

    procedure Get_Constraints (Discrete_Type_Def : Ada_Program.Type_Definition;
                               Lower_Pos, Upper_Pos : in out Long_Integer;
                               Static : out Boolean);

end Bounds_Utilities;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=15 rec1=00 rec2=01 rec3=044
        [0x01] rec0=15 rec1=00 rec2=02 rec3=030
        [0x02] rec0=08 rec1=00 rec2=03 rec3=000
    tail 0x21700229a815c656b7bf7 0x42a00088462061e03