| 9 | }; |
| 10 | |
| 11 | int cmp_points(const void *a, const void *b) { |
| 12 | struct point* pa = (struct point*) a; |
| 13 | struct point* pb = (struct point*) b; |
| 14 | |
| 15 | if (pa->y > pb->y) { |
| 16 | return 1; |
| 17 | } else if (pa->y < pb->y) { |
| 18 | return -1; |
| 19 | } else { |
| 20 | return 0; |
| 21 | } |
| 22 | } |
| 23 | |
| 24 | double ccw(struct point a, struct point b, struct point c) { |
| 25 | return (b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x); |
nothing calls this directly
no outgoing calls
no test coverage detected