mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
from bise import compute_bise_bitcount
|
|
from datasize import data_size, cem_values_count, color_endpoint_range
|
|
from range import RANGE_CARDINALITY_TABLE
|
|
import sys
|
|
|
|
|
|
def print_data_size_info(block_width, block_height, cem, partitions,
|
|
weight_range):
|
|
config_bits, weight_bits, remaining_bits = data_size(
|
|
partitions=partitions,
|
|
single_cem=True,
|
|
block_width=block_width,
|
|
block_height=block_height,
|
|
block_depth=1,
|
|
dual_plane=False,
|
|
weight_range=weight_range
|
|
)
|
|
|
|
ce_values = cem_values_count(cem, partitions)
|
|
ce_range = color_endpoint_range(cem, remaining_bits, partitions)
|
|
cem_bits = compute_bise_bitcount(ce_values, ce_range)
|
|
|
|
print("block width:", block_width)
|
|
print("block height:", block_height)
|
|
print("config bits:", config_bits)
|
|
print("weight count:", block_width * block_height)
|
|
print("weight range:", RANGE_CARDINALITY_TABLE[weight_range])
|
|
print("weight bits:", weight_bits)
|
|
print("remaining bits:", remaining_bits)
|
|
print("color endpoint values:", ce_values)
|
|
print("color endpoint range:", RANGE_CARDINALITY_TABLE[ce_range])
|
|
print("color endpoint bits:", cem_bits)
|
|
print("unused bits:", remaining_bits - cem_bits)
|
|
|
|
|
|
if len(sys.argv) != 6:
|
|
sys.stderr.write(
|
|
"Usage: {} BLOCKWIDTH BLOCKHEIGHT CEM PARTITIONS WEIGHTRANGE\n".format(
|
|
sys.argv[0]))
|
|
else:
|
|
print_data_size_info(
|
|
int(sys.argv[1]),
|
|
int(sys.argv[2]),
|
|
int(sys.argv[3]),
|
|
int(sys.argv[4]),
|
|
int(sys.argv[5]))
|