r"""
"""
import sys
from sage.all_cmdline import *
from boolean_cayley_graphs.bent_function_cayley_graph_classification import BentFunctionCayleyGraphClassification
from boolean_cayley_graphs.bent_function import BentFunction
r"""
"""
if len(sys.argv) < 3:
print("Usage: save_psf_from_parts seq_nbr fnbr [dir]")
sys.exit(1)
seq_nbr = int(sys.argv[1])
fnbr = int(sys.argv[2])
d_load = None
if len(sys.argv) > 3:
d_load = sys.argv[3]
d_save = None
if len(sys.argv) > 4:
d_save = sys.argv[4]
c_name = "psf"+str(seq_nbr)+"_"+str(fnbr)
c = BentFunctionCayleyGraphClassification.from_parts(c_name, dir=d_load)
c.save_mangled(c_name, dir=d_save)
c_check = BentFunctionCayleyGraphClassification.load_mangled(c_name, dir=d_save)
c_check.report()
if (c.algebraic_normal_form == c_check.algebraic_normal_form and
c.cayley_graph_class_list == c_check.cayley_graph_class_list and
c.bent_cayley_graph_index_matrix == c_check.bent_cayley_graph_index_matrix and
c.dual_cayley_graph_index_matrix == c_check.dual_cayley_graph_index_matrix and
c.weight_class_matrix == c_check.weight_class_matrix):
print("Check succeeded.")
else:
print("Check failed.")
sys.exit(1)
quit