ffa_ch11_tuning_a...    1 
ffa_ch11_tuning_a...    2 
ffa_ch11_tuning_a...    3 
ffa_ch11_tuning_a...    4 
ffa_ch15_gcd.kv         5 
ffa_ch11_tuning_a...    6 
ffa_ch11_tuning_a...    7 
ffa_ch11_tuning_a...    8 
ffa_ch11_tuning_a...    9 
ffa_ch11_tuning_a...   10 
ffa_ch11_tuning_a...   11 
ffa_ch11_tuning_a...   12 
ffa_ch11_tuning_a...   13 
ffa_ch11_tuning_a...   14 
ffa_ch11_tuning_a...   15 
ffa_ch11_tuning_a...   16 
ffa_ch11_tuning_a...   17 
ffa_ch11_tuning_a...   18 
ffa_ch11_tuning_a...   19 
ffa_ch11_tuning_a...   20 with W_Pred;   use W_Pred;
ffa_ch11_tuning_a...   21 with W_Shifts; use W_Shifts;
ffa_ch11_tuning_a...   22 with FZ_BitOp; use FZ_BitOp;
ffa_ch11_tuning_a...   23 with FZ_Shift; use FZ_Shift;
ffa_ch11_tuning_a...   24 
ffa_ch11_tuning_a...   25 
ffa_ch11_tuning_a...   26 package body FZ_IO is
ffa_ch11_tuning_a...   27    
ffa_ch11_tuning_a...   28    
ffa_ch11_tuning_a...   29    procedure FZ_Insert_Bottom_Nibble(N        : in out FZ;
ffa_ch11_tuning_a...   30                                      D        : in     Nibble;
ffa_ch11_tuning_a...   31                                      Overflow : out    WBool) is
ffa_ch11_tuning_a...   32       
ffa_ch11_tuning_a...   33       
ffa_ch11_tuning_a...   34       Shifted_N_Overflow : Word := 0;
ffa_ch11_tuning_a...   35       
ffa_ch11_tuning_a...   36    begin
ffa_ch11_tuning_a...   37       
ffa_ch11_tuning_a...   38       FZ_ShiftLeft_O(N        => N,
ffa_ch11_tuning_a...   39                      ShiftedN => N,
ffa_ch11_tuning_a...   40                      Count    => 4,
ffa_ch11_tuning_a...   41                      Overflow => Shifted_N_Overflow);
ffa_ch11_tuning_a...   42       
ffa_ch11_tuning_a...   43       
ffa_ch11_tuning_a...   44       FZ_Or_W(N, D);
ffa_ch11_tuning_a...   45       
ffa_ch11_tuning_a...   46       
ffa_ch11_tuning_a...   47       Overflow := W_NZeroP(Shifted_N_Overflow);
ffa_ch11_tuning_a...   48       
ffa_ch11_tuning_a...   49    end FZ_Insert_Bottom_Nibble;
ffa_ch11_tuning_a...   50    
ffa_ch11_tuning_a...   51       
ffa_ch11_tuning_a...   52    
ffa_ch11_tuning_a...   53    function FZ_ASCII_Length(N : in FZ) return Char_Count is
ffa_ch11_tuning_a...   54    begin
ffa_ch11_tuning_a...   55       return N'Length * Nibbleness;
ffa_ch11_tuning_a...   56    end FZ_ASCII_Length;
ffa_ch11_tuning_a...   57    
ffa_ch11_tuning_a...   58    
ffa_ch11_tuning_a...   59    
ffa_ch11_tuning_a...   60    procedure FZ_To_Hex_String(N : in FZ; S : out String) is
ffa_ch11_tuning_a...   61       
ffa_ch11_tuning_a...   62       
ffa_ch11_tuning_a...   63       subtype SiRange is Natural range S'First .. S'Last;
ffa_ch11_tuning_a...   64       
ffa_ch11_tuning_a...   65       
ffa_ch11_tuning_a...   66       Si : SiRange; 
ffa_ch11_tuning_a...   67       
ffa_ch11_tuning_a...   68    begin
ffa_ch11_tuning_a...   69       
ffa_ch11_tuning_a...   70       
ffa_ch11_tuning_a...   71       for i in 0 .. Word_Index(N'Length - 1) loop
ffa_ch11_tuning_a...   72          declare
ffa_ch11_tuning_a...   73             
ffa_ch11_tuning_a...   74             
ffa_ch11_tuning_a...   75             Wi : constant Word_Index := N'Last - i;
ffa_ch11_tuning_a...   76             
ffa_ch11_tuning_a...   77             
ffa_ch11_tuning_a...   78             W  : Word := N(Wi);
ffa_ch11_tuning_a...   79             
ffa_ch11_tuning_a...   80          begin
ffa_ch11_tuning_a...   81             
ffa_ch11_tuning_a...   82             
ffa_ch11_tuning_a...   83             for j in 1 .. Nibbleness loop
ffa_ch11_tuning_a...   84                
ffa_ch11_tuning_a...   85                
ffa_ch11_tuning_a...   86                Si    := (Natural(i) * Nibbleness) + j;
ffa_ch11_tuning_a...   87                
ffa_ch11_tuning_a...   88                
ffa_ch11_tuning_a...   89                W     := Rotate_Left(W, 4);
ffa_ch11_tuning_a...   90                
ffa_ch11_tuning_a...   91                
ffa_ch11_tuning_a...   92                S(Si) := HexDigs(Natural(W and 16#F#));
ffa_ch11_tuning_a...   93                
ffa_ch11_tuning_a...   94             end loop;
ffa_ch11_tuning_a...   95             
ffa_ch11_tuning_a...   96             
ffa_ch11_tuning_a...   97             pragma Assert(W = N(Wi));
ffa_ch11_tuning_a...   98             
ffa_ch11_tuning_a...   99          end;
ffa_ch11_tuning_a...  100          
ffa_ch11_tuning_a...  101       end loop;
ffa_ch11_tuning_a...  102       
ffa_ch11_tuning_a...  103       
ffa_ch11_tuning_a...  104       pragma Assert(Si = SiRange'Last); 
ffa_ch11_tuning_a...  105       
ffa_ch11_tuning_a...  106    end FZ_To_Hex_String;
ffa_ch11_tuning_a...  107    
ffa_ch11_tuning_a...  108 end FZ_IO;