3 pragma Implicit_Packing
;
7 type Modes_Type
is (Mode_0
, Mode_1
);
8 for Modes_Type
'size use 8;
10 type Mode_Record_Type
is
12 Mode_1
: aliased Modes_Type
;
13 Mode_2
: aliased Modes_Type
;
14 Mode_3
: aliased Modes_Type
;
15 Mode_4
: aliased Modes_Type
;
19 for Mode_Record_Type
use
21 Mode_1
at 00 range 00 .. 07;
22 Mode_2
at 01 range 00 .. 07;
23 Mode_3
at 02 range 00 .. 07;
24 Mode_4
at 03 range 00 .. 07;
25 Time
at 04 range 00 .. 31;
28 for Mode_Record_Type
'Size use 64;
29 for Mode_Record_Type
'Alignment use 4;
31 type Array_1_Type
is array (0 .. 31) of Boolean;
32 for Array_1_Type
'size use 32;
34 type Array_2_Type
is array (0 .. 127) of Boolean;
35 for Array_2_Type
'size use 128;
37 type Array_3_Type
is array (0 .. 31) of Boolean;
38 for Array_3_Type
'size use 32;
40 type Unsigned_Long
is mod 2 ** 32;
41 type Array_4_Type
is array (1 .. 6) of unsigned_Long
;
43 type Primary_Data_Type
is
45 Array_1
: aliased Array_1_Type
;
46 Mode_Record
: aliased Mode_Record_Type
;
47 Array_2
: aliased Array_2_Type
;
48 Array_3
: Array_3_Type
;
49 Array_4
: Array_4_Type
;
52 for Primary_Data_Type
use
54 Array_1
at 0 range 0 .. 31; -- WORD 1
55 Mode_Record
at 4 range 0 .. 63; -- WORD 2 .. 3
56 Array_2
at 12 range 0 .. 127; -- WORD 4 .. 7
57 Array_3
at 28 range 0 .. 31; -- WORD 8
58 Array_4
at 32 range 0 .. 191; -- WORD 9 .. 14
61 for Primary_Data_Type
'Size use 448;
63 type Results_Record_Type
is
65 Thirty_Two_Bit_Pad
: Float;
66 Result
: Primary_Data_Type
;
69 for Results_Record_Type
use
71 Thirty_Two_Bit_Pad
at 0 range 0 .. 31;
72 Result
at 4 range 0 .. 447;