Removes the case of coding prob = 0 for forward updates, since that
is not an allowed probability to code.
Slightly improves efficiency but may not matter in practice.
Change-Id: I3b4caf82e8f0891992f0706d4089cc5a27568dba
}
static int inv_remap_prob(int v, int m) {
- const int n = 256;
+ const int n = 255;
v = merge_index(v, n - 1, MODULUS_PARAM);
+ m--;
if ((m << 1) <= n) {
- return inv_recenter_nonneg(v + 1, m);
+ return 1 + inv_recenter_nonneg(v + 1, m);
} else {
- return n - 1 - inv_recenter_nonneg(v + 1, n - 1 - m);
+ return n - inv_recenter_nonneg(v + 1, n - 1 - m);
}
}
static void compute_update_table() {
int i;
- for (i = 0; i < 255; i++)
+ for (i = 0; i < 254; i++)
update_bits[i] = count_term_subexp(i, SUBEXP_PARAM, 255);
}
}
static int remap_prob(int v, int m) {
- const int n = 256;
+ const int n = 255;
const int modulus = MODULUS_PARAM;
int i;
+ v--;
+ m--;
if ((m << 1) <= n)
i = recenter_nonneg(v, m) - 1;
else