ffa_ch13_measure_... 1
ffa_ch13_measure_... 2
ffa_ch13_measure_... 3
ffa_ch13_measure_... 4
ffa_ch13_measure_... 5
ffa_ch13_measure_... 6
ffa_ch13_measure_... 7
ffa_ch13_measure_... 8
ffa_ch13_measure_... 9
ffa_ch13_measure_... 10
ffa_ch13_measure_... 11
ffa_ch13_measure_... 12
ffa_ch13_measure_... 13
ffa_ch13_measure_... 14
ffa_ch13_measure_... 15
ffa_ch13_measure_... 16
ffa_ch13_measure_... 17
ffa_ch13_measure_... 18
ffa_ch13_measure_... 19
ffa_ch14_barrett.kv 20 with Words; use Words;
ffa_ch13_measure_... 21 with Word_Ops; use Word_Ops;
ffa_ch13_measure_... 22 with W_Pred; use W_Pred;
ffa_ch13_measure_... 23 with W_Shifts; use W_Shifts;
ffa_ch13_measure_... 24
ffa_ch13_measure_... 25
ffa_ch13_measure_... 26 package body FZ_Measr is
ffa_ch13_measure_... 27
ffa_ch13_measure_... 28
ffa_ch14_barrett.kv 29 function FZ_Measure(N : in FZ) return FZBit_Index is
ffa_ch13_measure_... 30
ffa_ch13_measure_... 31
ffa_ch13_measure_... 32 Index : Word := 0;
ffa_ch13_measure_... 33
ffa_ch13_measure_... 34
ffa_ch13_measure_... 35 Ni : Word;
ffa_ch13_measure_... 36
ffa_ch13_measure_... 37
ffa_ch13_measure_... 38 W : Word := 0;
ffa_ch13_measure_... 39
ffa_ch13_measure_... 40
ffa_ch13_measure_... 41 NiZ : WBool;
ffa_ch13_measure_... 42
ffa_ch13_measure_... 43 begin
ffa_ch13_measure_... 44
ffa_ch13_measure_... 45
ffa_ch13_measure_... 46 for i in 0 .. Indices(N'Length - 1) loop
ffa_ch13_measure_... 47 Ni := N(N'First + i);
ffa_ch13_measure_... 48 NiZ := W_ZeroP(Ni);
ffa_ch13_measure_... 49 Index := W_Mux(Word(i), Index, NiZ);
ffa_ch13_measure_... 50 W := W_Mux(Ni, W, NiZ);
ffa_ch13_measure_... 51 end loop;
ffa_ch13_measure_... 52
ffa_ch13_measure_... 53
ffa_ch13_measure_... 54 Index := Shift_Left(Index, BitnessLog2);
ffa_ch13_measure_... 55
ffa_ch13_measure_... 56
ffa_ch13_measure_... 57 for b in 1 .. Bitness loop
ffa_ch14_barrett.kv 58
ffa_ch13_measure_... 59
ffa_ch14_barrett.kv 60 Index := Index + W_NZeroP(W);
ffa_ch14_barrett.kv 61
ffa_ch13_measure_... 62
ffa_ch13_measure_... 63 W := Shift_Right(W, 1);
ffa_ch14_barrett.kv 64
ffa_ch13_measure_... 65 end loop;
ffa_ch13_measure_... 66
ffa_ch13_measure_... 67
ffa_ch14_barrett.kv 68 return FZBit_Index(Index);
ffa_ch13_measure_... 69
ffa_ch13_measure_... 70 end FZ_Measure;
ffa_ch13_measure_... 71
ffa_ch13_measure_... 72 end FZ_Measr;