1 pragma Spark_Mode
(On
);
3 package body Predicate8_Pkg
is
5 (Buffer
: in Ring_Buffer_Type
) return Boolean
6 is (Size
(Buffer
) = 0);
9 (Buffer
: in Ring_Buffer_Type
) return Boolean
10 is (Size
(Buffer
) = Buffer
.Max_Size
);
13 (Buffer
: in Ring_Buffer_Type
) return Natural
17 (Buffer
: in Ring_Buffer_Type
) return Natural
18 is (Buffer
.Max_Size
- Size
(Buffer
));
21 (Buffer
: in Ring_Buffer_Type
) return Element_Type
22 is (Buffer
.Items
(Buffer
.Head
));
25 (Buffer
: in Ring_Buffer_Type
) return Element_Type
26 is (Buffer
.Items
(Buffer
.Tail
));
29 (Buffer
: in out Ring_Buffer_Type
;
30 Element
: out Element_Type
)
33 Element
:= Buffer
.Items
(Buffer
.Head
);
37 (if Buffer
.Head
= Buffer
.Max_Size
then 1 else Buffer
.Head
+ 1),
38 Count
=> Buffer
.Count
- 1);
42 (Buffer
: in out Ring_Buffer_Type
;
43 Element
: in Element_Type
)
46 if Buffer
.Tail
= Buffer
.Max_Size
then
49 Buffer
.Tail
:= Buffer
.Tail
+ 1;
52 Buffer
.Items
(Buffer
.Tail
) := Element
;
53 Buffer
.Count
:= Buffer
.Count
+ 1;
57 (Buffer
: in out Ring_Buffer_Type
)
61 Buffer
.Tail
:= Buffer
.Max_Size
;