#include #include "../util.h" #include "../crf.h" int main(int UNUSED argc, char ** UNUSED argv) { procr *pr = NULL; procu *pu = NULL; spa *spap = NULL; prodecor *prod = NULL; /* check crf */ crf *crfp = new_crf(); pair2 p = { 0 }; p.x = 0; p.y = 1; if (crf_find_node(crfp, p) == NULL) { if (crf_add_node(crfp, p)) { fleprintf0("fail to add node\n"); goto cleanup; } else { printf("Successfully add node (0, 1)\n"); } } if (crf_find_node(crfp, p) == NULL) { fleprintf0("Fail to find node\n"); goto cleanup; } else { printf("Successfully find node for (0, 1)\n"); } pair4 p4 = { 0 }; if (crf_add_edge(crfp, p, p4)) { fleprintf0("Fail to add edge\n"); goto cleanup; } else { printf("Successfully add edge from (0, 1) to zero\n"); } if (crf_find_node(crfp, p)) { printf("Printing edges for (0, 1)...\n"); #define TABLE (crf_find_node(crfp, p)) for (NUM i = 0; i < ht_size(TABLE); i++) { #define KEY (*((pair4**) ht_keys(TABLE)+i)) printf("(%ld, %ld, %ld, %ld)", KEY->x, KEY->y, KEY->z, KEY->w); if (i+1x, prod->y, prod->z, prod->w, grade); cleanup: destroy_crf(crfp); if (pr) destroy_procr(pr); if (pu) destroy_procu(pu); if (spap) destroy_spa(spap); if (prod) free(prod); return 0; }