# Functor Rand.Planar.I

    module I: functor (G : Sig.I  with type V.label = int * int and type E.label = int) -> S  with type graph = G.t

Random imperative planar graphs

Parameters:

`G` | : | `Sig.I with type V.label = int * int and type E.label = int`

    type graph

    val graph : ?loops:bool ->
           xrange:int * int ->
           yrange:int * int -> prob:float -> int -> graph

`graph xrange yrange prob v` generates a random planar graph with exactly `v` vertices. Vertices are labeled with integer coordinates, randomly distributed according to `xrange` and `yrange`. Edges are built as follows: the full Delaunay triangulation is constructed and then each edge is discarded with probabiblity `prob` (which should lie in `0..1`). In particular `prob = 0.0` gives the full triangulation. Edges are labeled with the (rounded) Euclidean distance between the two vertices. The boolean `loops` indicates whether loops are allowed; default value is no loop (`false`).