You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

41 lines
918 B

#!python3
import sys
from pysat.formula import CNF
import argparse
import pathlib as pl
import bz2
def main():
f_ext= CNF(from_fp=sys.stdin)
instance_dir = pl.Path(parse_args())
instance, core_nr = parse_header(f_ext.comments[0])
ipath = instance_dir / (instance + ".cnf.bz2")
f = CNF(ipath)
f.extend(f_ext)
f.comments = []
f.to_fp(sys.stdout,
comments=["c extension_of:{} nr:{}".format(instance, core_nr)])
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--instance_dir",
type=str,
help="path to the directoy containing all instances")
args = parser.parse_args()
return args.instance_dir
def parse_header(header):
tokens = header.split(' ')[1:]
return tokens[0].split(':')[1], int(tokens[1].split(':')[1])
if __name__ == "__main__":
main()