Planar points and vectors can be stored in similar structures:
struct geom_point {
real x, y;
};
struct geom_vector {
real dx, dy;
};
It is safe to type-cast between these structures any time. Some simple manipulation routines and constants are defined in geomlib/vector.h. Any finite values of coordinates are supported in GEOMLIB but in some specific situations, extremely small or large values can lead to numerical problems.