ffa_ch14_barrett.kv 1
ffa_ch14_barrett.kv 2
ffa_ch14_barrett.kv 3
ffa_ch14_barrett.kv 4
ffa_ch15_gcd.kv 5
ffa_ch14_barrett.kv 6
ffa_ch14_barrett.kv 7
ffa_ch14_barrett.kv 8
ffa_ch14_barrett.kv 9
ffa_ch14_barrett.kv 10
ffa_ch14_barrett.kv 11
ffa_ch14_barrett.kv 12
ffa_ch14_barrett.kv 13
ffa_ch14_barrett.kv 14
ffa_ch14_barrett.kv 15
ffa_ch14_barrett.kv 16
ffa_ch14_barrett.kv 17
ffa_ch14_barrett.kv 18
ffa_ch14_barrett.kv 19
ffa_ch14_barrett.kv 20 with FZ_Type; use FZ_Type;
ffa_ch14_barrett.kv 21
ffa_ch14_barrett.kv 22
ffa_ch14_barrett.kv 23
ffa_ch14_barrett.kv 24
ffa_ch14_barrett.kv 25
ffa_ch14_barrett.kv 26 package FZ_LoMul is
ffa_ch14_barrett.kv 27
ffa_ch14_barrett.kv 28 pragma Pure;
ffa_ch14_barrett.kv 29
ffa_ch14_barrett.kv 30
ffa_ch14_barrett.kv 31 Low_Mul_Thresh : constant Indices := 8;
ffa_ch14_barrett.kv 32
ffa_ch14_barrett.kv 33
ffa_ch14_barrett.kv 34 procedure FZ_Low_Multiply_Unbuffered(X : in FZ;
ffa_ch14_barrett.kv 35 Y : in FZ;
ffa_ch14_barrett.kv 36 XY : out FZ);
ffa_ch14_barrett.kv 37 pragma Inline_Always(FZ_Low_Multiply_Unbuffered);
ffa_ch14_barrett.kv 38
ffa_ch14_barrett.kv 39
ffa_ch14_barrett.kv 40 procedure FZ_Low_Mul_Comba(X : in FZ;
ffa_ch14_barrett.kv 41 Y : in FZ;
ffa_ch14_barrett.kv 42 XY : out FZ);
ffa_ch14_barrett.kv 43 pragma Inline_Always(FZ_Low_Mul_Comba);
ffa_ch14_barrett.kv 44
ffa_ch14_barrett.kv 45
ffa_ch14_barrett.kv 46 procedure Low_Mul(X : in FZ;
ffa_ch14_barrett.kv 47 Y : in FZ;
ffa_ch14_barrett.kv 48 XY : out FZ)
ffa_ch14_barrett.kv 49 with Pre => X'Length = Y'Length and
ffa_ch14_barrett.kv 50 XY'Length = X'Length and
ffa_ch14_barrett.kv 51 X'Length mod 2 = 0;
ffa_ch14_barrett.kv 52
ffa_ch14_barrett.kv 53
ffa_ch15_gcd.kv 54
ffa_ch15_gcd.kv 55 procedure FZ_Low_Multiply_Buffered(X : in FZ;
ffa_ch15_gcd.kv 56 Y : in FZ;
ffa_ch15_gcd.kv 57 XY : out FZ)
ffa_ch15_gcd.kv 58 with Pre => X'Length = Y'Length and
ffa_ch15_gcd.kv 59 XY'Length = X'Length and
ffa_ch15_gcd.kv 60 X'Length mod 2 = 0;
ffa_ch15_gcd.kv 61
ffa_ch14_barrett.kv 62 end FZ_LoMul;