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
val manager_is_oct : 'a Apron.Manager.t -> bool
true
iff the argument manager is an octagon managerval manager_of_oct : t Apron.Manager.t -> 'a Apron.Manager.t
val manager_to_oct : 'a Apron.Manager.t -> t Apron.Manager.t
Failure
if the argument manager is not an octagon managermodule Abstract0:sig
..end
module Abstract1:sig
..end
See Introduction.compilation
for complete explanations.
We just show examples with the file mlexample.ml
.
Bytecode compilation
ocamlc -I $MLGMPIDL_PREFIX/lib -I $APRON_PREFIX/lib -o mlexample.byte \
bigarray.cma gmp.cma apron.cma octD.cma mlexample.ml
ocamlc -I $MLGMPIDL_PREFIX/lib -I $APRON_PREFIX/lib -make-runtime -o myrun \
bigarray.cma gmp.cma apron.cma octD.cma
ocamlc -I $MLGMPIDL_PREFIX/lib -I $APRON_PREFIX/lib -use-runtime myrun -o mlexample.byte \
bigarray.cma gmp.cma apron.cma octD.cma mlexample.ml
Native-code compilation
ocamlopt -I $MLGMPIDL_PREFIX/lib -I $APRON_PREFIX/lib -o mlexample.opt \
bigarray.cmxa gmp.cmxa apron.cmxa octD.cmxa mlexample.ml
Without auto-linking feature
ocamlopt -I $MLGMPIDL_PREFIX/lib -I $APRON_PREFIX/lib -noautolink -o mlexample.opt \
bigarray.cmxa gmp.cmxa apron.cmxa octD.cmxa mlexample.ml \
-cclib "-L$MLGMPIDL_PREFIX/lib -L$APRON_PREFIX/lib \
-loctD_caml_debug -loctD_debug \
-lapron_caml_debug -lapron_debug \
-lgmp_caml -L$MPFR_PREFIX/lib -lmpfr -L$GMP_PREFIX/lib -lgmp \
-L$CAMLIDL_PREFIX/lib/ocaml -lcamlidl \
-lbigarray"