Files
psat/main.c
2022-07-17 14:03:47 -04:00

48 lines
1.2 KiB
C

#include <stdio.h>
#include "cnf.h"
#include "gpusolver.h"
#include "time.h"
int main() {
/*
srand( utime());
u32 cnt = 4096;
printf("p cnf %u %u\n", cnt, cnt);
for (u32 i = 0; i < cnt; ++i) {
printf("%s%u 0\n", (rand() & 1U) ? ("") : ("-"), i + 1);
if ((i & 0xFF) == 0) {
srand(utime() ^ rand());
}
}
return 0;
*/
/*
for (uint i = 0; i < 1000; ++i) {
char buf[128];
i32 len = sprintf(buf, "/home/lev/Downloads/uf50/uf50-0%u.cnf", i + 1);
}
*/
cnf* c = readDIMACS("/home/lev/Downloads/uf50/uf50-088.cnf");
// printf("%u\n", c->litcnt);
// for (u32 i = 0; i < c->clausecnt; ++i) printf("%u ", c->lastvars[i]);
//printf("\ntomato\n");
sortlastnum(c, c->litcnt);
// printf("%u\n", c->lastvars[c->clauses[0]]);
//printf("%u %u %u\n\n", c->litcnt, c->varcnt, c->clausecnt);
u64 start = utime();
i32 res = gpusolve(c);
u64 stop = utime();
// printf("%s : %d\n", buf, res);
printf("Took %f seconds\n", ((f64) (stop - start)) / 1000000.0);
// printf("please don't\n");
// if (res == 1) break;
freecnf(c);
return 0;
}