blob: 5b15328a7a77a0605414dc89c8025d23646fd19c [file] [log] [blame]
from math import ceil
PACKED_VALUES = 504
def find_inflection(bitwidth):
rle_cost = float(16 + (ceil(bitwidth/8.0)*8) + (PACKED_VALUES * bitwidth))
bp_cost = float(8 + (bitwidth * PACKED_VALUES))
cpb_bp = bp_cost / PACKED_VALUES
repeats = 2
while(True):
cpb_rle = (rle_cost / (PACKED_VALUES + repeats))
if cpb_rle < cpb_bp: break
repeats += 1
print "Bitwidth: %s, repeats %s" % (bitwidth, repeats)
for bitwidth in xrange(1, 33):
find_inflection(bitwidth)