from elli_gf2 import (
reduce_er_auto,
reduce_ldpc_auto,
reduce_banded_auto,
)
def main() -> None:
er = reduce_er_auto(2048, 2048, 0.01, 1337)
ldpc = reduce_ldpc_auto(2048, 4096, 6, 7331)
banded = reduce_banded_auto(2048, 2048, 64, 10, 4242)
print(f"er_sparse_2048,rank={er.rank},strategy={er.strategy},ok={int(er.ok)}")
print(f"ldpc_like_2048x4096,rank={ldpc.rank},strategy={ldpc.strategy},ok={int(ldpc.ok)}")
print(f"banded_2048,rank={banded.rank},strategy={banded.strategy},ok={int(banded.ok)}")
if not (er.ok and ldpc.ok and banded.ok):
raise SystemExit(1)
if __name__ == "__main__":
main()