#include #include #include "tap.h" #include "hex.h" void iso(struct hex *h) { hex_iso(h); printf("iso(%d,%d,%d)", h->x, h->y, h->z); } void xy(struct hex *h) { hex_xy(h); printf("xy(%d,%d)", h->x, h->y); } int main(void) { int x, y; double p, q; plan_tests(5); hexbin2(0, 1.0, 0.0, 0.0, &x, &y); ok(x == 0 && y == 0, "0.0 0.0 -> 0 0"); hexbin2(0, 0.1111111, 0.288675, 0.500000, &x, &y); ok(x == 3, "center bin X %d == 3", x); ok(y == -5, "center bin Y %d == -5", y); hexbin2(0, 0.1111111, 0.866025, 0.500000, &x, &y); ok(x == 9, "vertex bin X %d == 9", x); ok(y == -5, "vertex bin Y %d == -5", y); return exit_status(); for (p = -4.0; p < 4.0; p+= 0.4) { for (q = -4.0; q < 4.0; q += 0.4) { hexbin2(0, 1.0, p, q, &x, &y); printf("(%f, %f) = %d %d\n", p, q, x, y); } } }