• Gerrit Renker's avatar
    [DCCP] tfrc: Fix small error in reverse lookup of p for given f(p) · 90fb0e60
    Gerrit Renker authored
    This fixes the following small error in tfrc_calc_x_reverse_lookup.
    
     1) The table is generated by the following equations:
    	lookup[index][0] = g((index+1) * 1000000/TFRC_CALC_X_ARRSIZE);
    	lookup[index][1] = g((index+1) * TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE);
        where g(q) is 1E6 * f(q/1E6)
    
     2) The reverse lookup assigns an entry in lookup[index][small]
    
     3) This index needs to match the above, i.e.
        * if small=0 then
    
          		p  = (index + 1) * 1000000/TFRC_CALC_X_ARRSIZE
    
        * if small=1 then
    
    		p = (index+1) * TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE
    
    These are exactly the changes that the patch makes; previously the code did
    not conform to the way the lookup table was generated (this difference resulted
    in a mean error of about 1.12%).
    Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
    Acked-by: default avatarIan McDonald <ian.mcdonald@jandi.co.nz>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
    90fb0e60
tfrc_equation.c 17.3 KB