extern void page_rank(size_t size) { matrix w; matrix_init(&w, size); gen_web_matrix(&w); matrix g; matrix_init(&g, size); gen_google_matrix(&g, &w); matrix_free(&w); vector p; vector_init(&p, size); matrix_transpose(&g); matrix_solve(&p, &g); vector_sort(&p); vector_save(&p); matrix_free(&g); vector_free(&p); }
static void vector_2(void) { vector_t v; CU_ASSERT(vector_init(&v, "my_vector.bin", 1) == 0); CU_ASSERT(vector_size(&v) == 0); CU_ASSERT(vector_pages(&v) == 0); CU_ASSERT(vector_capacity(&v) == 0); CU_ASSERT(vector_elem_size(&v) == 1); CU_ASSERT(vector_size(&v, COUNT) == COUNT); CU_ASSERT(COUNT <= vector_capacity(&v)); CU_ASSERT(COUNT <= vector_size(&v)); CU_ASSERT(3 <= vector_pages(&v)); for (int i=0; i<COUNT; i++) { unsigned char c = (unsigned char)i; crc2 = clib_crc32(c, crc2); CU_ASSERT(vector_put(&v, i, &c) == 0); } CU_ASSERT_FATAL(crc2 != 0); FILE * f = fopen(v.hdr.name, "w"); CU_ASSERT_FATAL(f != NULL); CU_ASSERT(COUNT < vector_save(&v, f)); fclose(f), f = NULL; CU_ASSERT(vector_delete(&v) == 0); }