module Oct:Octagon abstract domain.sig
..end
type
internal
type
t
Octagons are defined by conjunctions of inequalities of the form
+/-x_i +/- x_j >= 0
.
Abstract values which are octagons have the type t Apron.AbstractX.t
.
Managers allocated for octagons have the type t Apron.manager.t
.
val manager_alloc : unit -> t Apron.Manager.t
val manager_get_internal : t Apron.Manager.t -> internal
val of_generator_array : t Apron.Manager.t ->
int -> int -> Apron.Generator0.t array -> t Apron.Abstract0.t
val widening_thresholds : t Apron.Manager.t ->
t Apron.Abstract0.t ->
t Apron.Abstract0.t -> Apron.Scalar.t array -> t Apron.Abstract0.t
val narrowing : t Apron.Manager.t ->
t Apron.Abstract0.t -> t Apron.Abstract0.t -> t Apron.Abstract0.t
val add_epsilon : t Apron.Manager.t ->
t Apron.Abstract0.t -> Apron.Scalar.t -> t Apron.Abstract0.t
val add_epsilon_bin : t Apron.Manager.t ->
t Apron.Abstract0.t ->
t Apron.Abstract0.t -> Apron.Scalar.t -> t Apron.Abstract0.t
val pre_widening : int
ocamlc -I $APRON_PREFIX/lib -make-runtime -o myrun bigarray.cma gmp.cma apron.cma oct.cma
and then you compile and link your example X.ml
with
ocamlc -I $APRON_PREFIX/lib -c X.ml
and
ocamlc -I $APRON_PREFIX/lib -use-runtime myrun -o X bigarray.cma gmp.cma apron.cma oct.cma X.cmo
Comments: The C libraries related to gmp.cma
and apron.cma
are
automatically looked for (thanks to the auto-linking feature provided by
ocamlc
). For oct.cma
, the library liboct.a
, identic to liboctMPQ.a
, is
selected by default. The -noautolink
option should be used to select a
differetn version. See the C documentation of Oct
library for details.
With the -noautolink
option, the generation of the custom runtime executable
should be done with
ocamlc -I $APRON_PREFIX/lib -noautolink -make-runtime -o myrun bigarray.cma gmp.cma apron.cma oct.cma -ccopt "-L$GMP_PREFIX/lib ..." -cclib "-loct_caml -loctMPQ -lapron_caml -lapron -lgmp_caml -lmpfr -lgmp -lbigarray -lcamlidl"
ocamlopt -I $APRON_PREFIX/lib -c X.ml
and
ocamlopt -I $APRON_PREFIX/lib -o X bigarray.cmxa gmp.cmxa apron.cmxa oct.cmxa X.cmx
Comments: Same as for bytecode compilation. With the
-noautolink
option, the linking command becomes
ocamlopt -I $APRON_PREFIX/lib -o X bigarray.cmxa gmp.cmxa apron.cmxa oct.cmxa -ccopt "-L$GMP_PREFIX/lib ..." -cclib "-loct_caml -loctMPQ -lapron_caml -lapron -lgmp_caml -lmpfr -lgmp -lbigarray -lcamlidl" X.cmx