AlignDB-IntSpanXS
view release on metacpan or search on metacpan
benchmark/test_c.c view on Meta::CPAN
printf("is_nef_inf %d is_pos_inf %d\n", intspan_is_neg_inf(supplied),
intspan_is_pos_inf(supplied));
printf("is_inf %d is_fin %d\n", intspan_is_infinite(supplied),
intspan_is_finite(supplied));
intspan_clear(supplied);
intspan_add_pair(supplied, 1, POS_INF - 1);
intspan_basic_info(supplied);
printf("is_nef_inf %d is_pos_inf %d\n", intspan_is_neg_inf(supplied),
intspan_is_pos_inf(supplied));
printf("is_inf %d is_fin %d\n", intspan_is_infinite(supplied),
intspan_is_finite(supplied));
intspan_clear(supplied);
intspan_add_pair(supplied, NEG_INF, POS_INF - 1);
intspan_basic_info(supplied);
printf("is_nef_inf %d is_pos_inf %d\n", intspan_is_neg_inf(supplied),
intspan_is_pos_inf(supplied));
printf("is_inf %d is_fin %d\n", intspan_is_infinite(supplied),
intspan_is_finite(supplied));
printf("is_universal %d\n", intspan_is_universal(supplied));
intspan_destroy(this_intspan);
intspan_destroy(supplied);
veci_destroy(vec);
return 0;
}
int run_benchmark() {
double start, end;
int i;
printf("\n test_add_range\n");
for (i = 2; i <= 6; i++) {
printf("step %d\n", i);
start = get_time();
test_add_range(i);
end = get_time();
printf("duration %f\n", end - start);
}
printf("\n test_add_vec\n");
for (i = 2; i <= 5; i++) {
printf("step %d\n", i);
start = get_time();
test_add_vec(i);
end = get_time();
printf("duration %f\n", end - start);
}
return 0;
}
void read_file(char **str, char *filename, size_t len) {
FILE *fp;
int buf_size = 512;
char buf[buf_size];
fp = fopen(filename, "rt");
if (!fp) {
fprintf(stderr, "can't open %s\n", filename);
exit(1);
}
while (fgets(buf, buf_size, fp) != NULL) {
if (len - strlen(*str) < buf_size) {
len = strlen(*str) + buf_size + 1;
kroundup32(len);
*str = (char *) realloc(*str, len);
}
strncat(*str, buf, buf_size);
}
fclose(fp);
}
int run_file() {
size_t len = 1024 * sizeof(char);
char *runlist1 = (char *) malloc(len);
char *runlist2 = (char *) malloc(len);
read_file(&runlist1, "r1.yml", len);
printf("%ld\n", strlen(runlist1));
printf("%s", runlist1);
free(runlist1);
free(runlist2);
return 0;
}
static int usage() {
fprintf(stderr, "\n"
"Usage: test_c test\n"
" test_c benchmark\n"
" test_c file\n"
);
return 1;
}
int main(int argc, char *argv[]) {
if (argc == 1) return usage();
if (strcmp(argv[1], "test") == 0)
run_test();
else if (strcmp(argv[1], "benchmark") == 0)
run_benchmark();
else if (strcmp(argv[1], "file") == 0)
run_file();
else {
fprintf(stderr, "unrecognized commad '%s'. Abort!\n", argv[1]);
return 1;
}
return 0;
}
( run in 0.677 second using v1.01-cache-2.11-cpan-39bf76dae61 )