Lines Matching defs:dist
25 // dist return
51 // get_dist_slot(dist) is the basic version. get_dist_slot_2(dist)
52 // assumes that dist >= FULL_DISTANCES, thus the result is at least
53 // FULL_DISTANCES_BITS * 2. Using get_dist_slot(dist) instead of
54 // get_dist_slot_2(dist) would give the same result, but get_dist_slot_2(dist)
79 # define get_dist_slot(dist) \
80 ((dist) <= 4 ? (dist) : get_dist_slot_2(dist))
83 get_dist_slot_2(uint32_t dist)
85 const uint32_t i = bsr32(dist);
86 return (i + i) + ((dist >> (i - 1)) & 1);
104 #define fastpos_result(dist, extra, n) \
105 (uint32_t)(lzma_fastpos[(dist) >> fastpos_shift(extra, n)]) \
110 get_dist_slot(uint32_t dist)
114 if (dist < fastpos_limit(0, 0))
115 return lzma_fastpos[dist];
117 if (dist < fastpos_limit(0, 1))
118 return fastpos_result(dist, 0, 1);
120 return fastpos_result(dist, 0, 2);
126 get_dist_slot_2(uint32_t dist)
128 assert(dist >= FULL_DISTANCES);
130 if (dist < fastpos_limit(FULL_DISTANCES_BITS - 1, 0))
131 return fastpos_result(dist, FULL_DISTANCES_BITS - 1, 0);
133 if (dist < fastpos_limit(FULL_DISTANCES_BITS - 1, 1))
134 return fastpos_result(dist, FULL_DISTANCES_BITS - 1, 1);
136 return fastpos_result(dist, FULL_DISTANCES_BITS - 1, 2);