# Module type Delaunay.CCC

    module type CCC = sig .. end

Delaunay triangulation is available for any CCC system in the sense of Knuth's ``Axioms and Hulls''

    type point

    val ccw : point -> point -> point -> bool

The counterclockwise relation `ccw p q r` states that the circle through points `(p,q,r)` is traversed counterclockwise when we encounter the points in cyclic order `p,q,r,p,...` *

    val in_circle : point ->
           point -> point -> point -> bool

The relation `in_circle p q r s` states that `s` lies inside the circle `(p,q,r)` if `ccw p q r` is true, or outside that circle if `ccw p q r` is false.