double triangle_area(point2d a, point2d b, point2d c) { return fabs(signed_triangle_area(a, b, c)); }
bool collinear(point2d a, point2d b, point2d c) { return (fabs(signed_triangle_area(a, b, c)) <= EPSILON); }
bool cw(point2d a, point2d b, point2d c) { return (signed_triangle_area(a, b, c) < EPSILON); }
bool collinear(const point a, const point b, const point c) { return (fabs(signed_triangle_area(a, b, c)) <= EPSILON); }
bool cw(const point a, const point b, const point c) { return (signed_triangle_area(a, b, c) < - EPSILON); }
double triangle_area(const point a, const point b, const point c) { return( fabs(signed_triangle_area(a, b, c)) ); }