33 lines
729 B
Ada
33 lines
729 B
Ada
|
with System;
|
||
|
|
||
|
package Opt96_Pkg is
|
||
|
|
||
|
type Baz_Type is delta (1.0 / 2.0**16) range 0.0 .. 1.0 - (1.0 / 2.0**16);
|
||
|
for Baz_Type'Small use (1.0 / 2.0**16);
|
||
|
for Baz_Type'Size use 16;
|
||
|
|
||
|
type Bar_Type is record
|
||
|
X : Baz_Type;
|
||
|
Y : Baz_Type;
|
||
|
end record;
|
||
|
for Bar_Type use record
|
||
|
X at 0 range 0 .. 15;
|
||
|
Y at 2 range 0 .. 15;
|
||
|
end record;
|
||
|
for Bar_Type'Bit_Order use System.High_Order_First;
|
||
|
for Bar_Type'Scalar_Storage_Order use System.High_Order_First;
|
||
|
|
||
|
type Foo_Type is record
|
||
|
Bar : Bar_Type;
|
||
|
end record;
|
||
|
|
||
|
type Data is tagged record
|
||
|
Foo : Foo_Type;
|
||
|
end record;
|
||
|
|
||
|
type Rec is tagged null record;
|
||
|
|
||
|
function F (Self : Rec; D : Data'Class) return Integer;
|
||
|
|
||
|
end Opt96_Pkg;
|