package lutin

  1. Overview
  2. Docs

Defines thickness data type. The thickness states how many test vectors are generated at each step.

Boolean thickness:
type all_formula = bool

If true, all formula reachable from the current node should be tried. Otherwise, only one formula is drawn according to transition weigths.

type formula_draw_nb = int

Number of draw to perform for each formula.

type boolean = all_formula * formula_draw_nb

The Boolean thickness

Numeric thickness:
type inside_nb = int

Number a draw to perform inside the convex hull of solutions for numeric variables.

type edges_nb = int

Number a draw to perform at polyhedron edges.

type vertices_nb =
  1. | All
  2. | AtMost of int

Number a draw to perform at polyhedron vertices. That number of draw can either be all of them, or at most a fiwed number.

type numeric = inside_nb * edges_nb * vertices_nb

The numeric thickness

Thickness:
type t = boolean * numeric

It is made of a boolean and a numeric thickness.

val vertices_to_string : vertices_nb -> string
val numeric_to_string : (int * int * vertices_nb) -> string
val boolean_to_string : (bool * int) -> string
val to_string : ((bool * int) * (int * int * vertices_nb)) -> string