35 lines
648 B
Python
35 lines
648 B
Python
import ast
|
|
from math import log2
|
|
import os
|
|
from statistics import mean, pstdev
|
|
import sys
|
|
|
|
import click
|
|
import numpy as np
|
|
from scipy.special import kl_div
|
|
|
|
from matplotlib import pyplot as plt
|
|
|
|
|
|
def reader(path):
|
|
with open(path) as h:
|
|
for line in h:
|
|
line = line.strip()
|
|
yield line.split()
|
|
|
|
|
|
@click.command()
|
|
@click.argument("original")
|
|
@click.argument("compressed")
|
|
def main(original, compressed):
|
|
ratio = 0
|
|
total = 0
|
|
for o, c in zip(reader(original), reader(compressed)):
|
|
ratio += len(c)/len(o)
|
|
total += 1
|
|
print(f"cr: {ratio/total:.4f}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|