int main() { igraph_t g; igraph_vector_t v; int ret; igraph_es_t es; igraph_vector_init(&v, 8); VECTOR(v)[0]=0; VECTOR(v)[1]=1; VECTOR(v)[2]=1; VECTOR(v)[3]=2; VECTOR(v)[4]=2; VECTOR(v)[5]=3; VECTOR(v)[6]=2; VECTOR(v)[7]=2; igraph_create(&g, &v, 0, 0); igraph_es_pairs_small(&es, IGRAPH_DIRECTED, 3,2, -1); igraph_delete_edges(&g, es); if (igraph_ecount(&g) != 3) { return 1; } /* error test, no such edge to delete */ igraph_set_error_handler(igraph_error_handler_ignore); ret=igraph_delete_edges(&g, es); if (ret != IGRAPH_EINVAL) { printf("Error code: %i\n", ret); return 2; } if (igraph_ecount(&g) != 3) { return 3; } /* error test, invalid vertex id */ igraph_es_destroy(&es); igraph_es_pairs_small(&es, IGRAPH_DIRECTED, 10,2, -1); ret=igraph_delete_edges(&g, es); if (ret != IGRAPH_EINVVID) { return 4; } if (igraph_ecount(&g) != 3) { return 5; } /* error test, invalid (odd) length */ igraph_es_destroy(&es); igraph_es_pairs_small(&es, IGRAPH_DIRECTED, 0,1,2, -1); ret=igraph_delete_edges(&g, es); if (ret != IGRAPH_EINVAL) { return 6; } if (igraph_ecount(&g) != 3) { return 7; } igraph_es_destroy(&es); igraph_vector_destroy(&v); igraph_destroy(&g); return 0; }
int main() { igraph_t g; long int i; igraph_integer_t size; /* DIRECTED */ igraph_star(&g, 10, IGRAPH_STAR_OUT, 0); for (i=0; i<100; i++) { igraph_es_t es; igraph_eit_t it; igraph_es_pairs_small(&es, IGRAPH_DIRECTED, 0,1,0,2,0,5,0,2,0,3,0,4,0,7,0,9, -1); igraph_eit_create(&g, es, &it); igraph_es_size(&g, &es, &size); IGRAPH_EIT_RESET(it); while (!IGRAPH_EIT_END(it)) { IGRAPH_EIT_GET(it); IGRAPH_EIT_NEXT(it); size--; } if (size != 0) return 1; igraph_eit_destroy(&it); igraph_es_destroy(&es); } igraph_destroy(&g); /* UNDIRECTED */ igraph_star(&g, 10, IGRAPH_STAR_UNDIRECTED, 0); for (i=0; i<100; i++) { igraph_es_t es; igraph_eit_t it; igraph_es_pairs_small(&es, IGRAPH_DIRECTED, 0,1,2,0,5,0,0,2,3,0,0,4,7,0,0,9, -1); igraph_eit_create(&g, es, &it); IGRAPH_EIT_RESET(it); while (!IGRAPH_EIT_END(it)) { IGRAPH_EIT_GET(it); IGRAPH_EIT_NEXT(it); } igraph_eit_destroy(&it); igraph_es_destroy(&es); } igraph_destroy(&g); return 0; }
int main() { igraph_t g; igraph_vector_ptr_t result; igraph_es_t es; igraph_integer_t omega; long int i, j, n; const int params[] = {4, -1, 2, 2, 0, 0, -1, -1}; igraph_set_warning_handler(warning_handler_ignore); igraph_vector_ptr_init(&result, 0); igraph_full(&g, 6, 0, 0); igraph_es_pairs_small(&es, 0, 0, 1, 0, 2, 3, 5, -1); igraph_delete_edges(&g, es); igraph_es_destroy(&es); for (j=0; j<sizeof(params)/(2*sizeof(params[0])); j++) { if (params[2*j+1] != 0) { igraph_cliques(&g, &result, params[2*j], params[2*j+1]); } else { igraph_largest_cliques(&g, &result); } n = igraph_vector_ptr_size(&result); printf("%ld cliques found\n", (long)n); canonicalize_list(&result); for (i=0; i<n; i++) { igraph_vector_t* v = (igraph_vector_t*) igraph_vector_ptr_e(&result,i); print_vector(v); igraph_vector_destroy(v); free(v); } } igraph_clique_number(&g, &omega); printf("omega=%ld\n", (long)omega); test_callback(&g); igraph_destroy(&g); igraph_tree(&g, 5, 2, IGRAPH_TREE_OUT); igraph_cliques(&g, &result, 5, 5); if (igraph_vector_ptr_size(&result) != 0) return 1; igraph_destroy(&g); igraph_vector_ptr_destroy(&result); return 0; }