xref: /freebsd/contrib/jemalloc/src/ticker.py (revision c43cad87172039ccf38172129c79755ea79e6102)
1*c43cad87SWarner Losh#!/usr/bin/env python3
2*c43cad87SWarner Losh
3*c43cad87SWarner Loshimport math
4*c43cad87SWarner Losh
5*c43cad87SWarner Losh# Must match TICKER_GEOM_NBITS
6*c43cad87SWarner Loshlg_table_size = 6
7*c43cad87SWarner Loshtable_size = 2**lg_table_size
8*c43cad87SWarner Loshbyte_max = 255
9*c43cad87SWarner Loshmul = math.floor(-byte_max/math.log(1 / table_size))
10*c43cad87SWarner Loshvalues = [round(-mul * math.log(i / table_size))
11*c43cad87SWarner Losh	for i in range(1, table_size+1)]
12*c43cad87SWarner Loshprint("mul =", mul)
13*c43cad87SWarner Loshprint("values:")
14*c43cad87SWarner Loshfor i in range(table_size // 8):
15*c43cad87SWarner Losh	print(", ".join((str(x) for x in values[i*8 : i*8 + 8])))
16