raw
ffa_ch2_logicals.kv     1 with FZ_Type; use FZ_Type;
ffa_ch2_logicals.kv 2 with Words; use Words;
ffa_ch2_logicals.kv 3
ffa_ch2_logicals.kv 4
ffa_ch2_logicals.kv 5 package FZ_BitOp is
ffa_ch2_logicals.kv 6
ffa_ch2_logicals.kv 7 pragma Pure;
ffa_ch2_logicals.kv 8
ffa_ch2_logicals.kv 9 -- Result := X & Y
ffa_ch2_logicals.kv 10 procedure FZ_And(X : in FZ; Y : in FZ; Result : out FZ);
ffa_ch2_logicals.kv 11 pragma Precondition(X'Length = Y'Length and X'Length = Result'Length);
ffa_ch2_logicals.kv 12
ffa_ch2_logicals.kv 13 -- N := N & W, W is a word
ffa_ch2_logicals.kv 14 procedure FZ_And_W(N : in out FZ; W : in Word);
ffa_ch2_logicals.kv 15
ffa_ch2_logicals.kv 16 -- Result := X | Y
ffa_ch2_logicals.kv 17 procedure FZ_Or(X : in FZ; Y : in FZ; Result : out FZ);
ffa_ch2_logicals.kv 18 pragma Precondition(X'Length = Y'Length and X'Length = Result'Length);
ffa_ch2_logicals.kv 19
ffa_ch2_logicals.kv 20 -- N := N | W, W is a word
ffa_ch2_logicals.kv 21 procedure FZ_Or_W(N : in out FZ; W : in Word);
ffa_ch2_logicals.kv 22
ffa_ch2_logicals.kv 23 -- Result := X ^ Y
ffa_ch2_logicals.kv 24 procedure FZ_Xor(X : in FZ; Y : in FZ; Result : out FZ);
ffa_ch2_logicals.kv 25 pragma Precondition(X'Length = Y'Length and X'Length = Result'Length);
ffa_ch2_logicals.kv 26
ffa_ch2_logicals.kv 27 -- N := N ^ W, W is a word
ffa_ch2_logicals.kv 28 procedure FZ_Xor_W(N : in out FZ; W : in Word);
ffa_ch2_logicals.kv 29
ffa_ch2_logicals.kv 30 -- NotN := ~N
ffa_ch2_logicals.kv 31 procedure FZ_Neg(N : in FZ; NotN : out FZ);
ffa_ch2_logicals.kv 32 pragma Precondition(N'Length = NotN'Length);
ffa_ch2_logicals.kv 33
ffa_ch2_logicals.kv 34 end FZ_BitOp;