34 lines
474 B
C
34 lines
474 B
C
#pragma once
|
|
#include "types.h"
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <stdio.h>
|
|
|
|
|
|
#define CHECK(X, Y) if (X == NULL) { \
|
|
printf(Y); \
|
|
return NULL; \
|
|
}
|
|
|
|
|
|
typedef struct {
|
|
u32 varcnt;
|
|
u32 litcnt;
|
|
u32 clausecnt;
|
|
u32* lastvars;
|
|
u32* variables;
|
|
u32* clauses;
|
|
u8* pars;
|
|
} cnf;
|
|
|
|
|
|
cnf* readDIMACS(char* path);
|
|
|
|
void printcnf(cnf* c);
|
|
|
|
|
|
void sortlastnum(cnf* c, u64 N);
|
|
|
|
|
|
void freecnf(cnf* c);
|