bresenham.c