blob: a45f887d6651bc41f6eb2b883093fc19c24e44ee [file] [log] [blame]
with Interfaces; use Interfaces;
package Opt100_Pkg is
A : constant Unsigned_8 := 0;
B : constant Unsigned_8 := 1;
C : constant Unsigned_8 := 2;
subtype Small_Unsigned_8 is Unsigned_8 range A .. C;
type Rec is record
K : Unsigned_8;
N : Natural;
end record;
subtype Small_Rec is Rec
with Dynamic_Predicate =>
Small_Rec.K in Small_Unsigned_8 and
((Small_Rec.N in Positive) = (Small_Rec.K in B | C));
function Func (R : Rec) return Integer;
end Opt100_Pkg;