(source)
| 27 | |
| 28 | |
| 29 | def process_input(source): |
| 30 | global vars |
| 31 | global clauses |
| 32 | input_numbers=[] |
| 33 | for line in source: |
| 34 | if (not(iscomment(line) or isheader(line))): |
| 35 | if (re.match("^%",line)): |
| 36 | break |
| 37 | line=re.sub("\n","", line) |
| 38 | line=re.sub("^\s+","",line) |
| 39 | |
| 40 | ind=[int(s) for s in line.split()] |
| 41 | |
| 42 | input_numbers+=ind |
| 43 | |
| 44 | else: |
| 45 | if(isheader(line)): |
| 46 | m=re.match("^p cnf\s+(?P<vars>\d+)\s+(?P<clauses>\d+)\s*\n",line) |
| 47 | assert(m) |
| 48 | #print "vars=", m.group("vars") |
| 49 | #print "clauses=",m.group("clauses") |
| 50 | vars=int(m.group("vars")) |
| 51 | clauses=int(m.group("clauses")) |
| 52 | return input_numbers |
| 53 | |
| 54 | |
| 55 | def gen_clauses(input_numbers): |
no test coverage detected