module PolkaGrid:Reduced product of NewPolka polyhedra and PPL gridssig
..end
type 'a
t
'a
is Polka.loose
or Polka.strict
.val manager_alloc : 'a Polka.t Apron.Manager.t ->
Ppl.grid Ppl.t Apron.Manager.t -> 'a t Apron.Manager.t
val manager_decompose : 'a t Apron.Manager.t ->
'a Polka.t Apron.Manager.t * Ppl.grid Ppl.t Apron.Manager.t
val decompose : 'a t Apron.Abstract0.t ->
'a Polka.t Apron.Abstract0.t * Ppl.grid Ppl.t Apron.Abstract0.t
val compose : 'a t Apron.Manager.t ->
'a Polka.t Apron.Abstract0.t ->
Ppl.grid Ppl.t Apron.Abstract0.t -> 'a t Apron.Abstract0.t
val manager_is_polkagrid : 'a Apron.Manager.t -> bool
true
iff the argument manager is a polkagrid managerval manager_of_polkagrid : 'a t Apron.Manager.t -> 'b Apron.Manager.t
val manager_to_polkagrid : 'a Apron.Manager.t -> 'b t Apron.Manager.t
Failure
if the argument manager is not a polkagrid managermodule Abstract0:sig
..end
module Abstract1:sig
..end
See Introduction.compilation
for complete explanations.
We just show examples with the file mlexample.ml
.
Do not forget the -cc "g++"
option: PPL is a C++ library which requires
a C++ linker.
Bytecode compilation
ocamlc -cc "g++"-I $MLGMPIDL_PREFIX/lib -I $APRON_PREFIX/lib -o mlexample.byte \
bigarray.cma gmp.cma apron.cma polkaMPQ.cma ppl.cma polkaGrid.cma mlexample.ml
ocamlc -cc "g++" -I $MLGMPIDL_PREFIX/lib -I $APRON_PREFIX/lib -make-runtime -o myrun \
bigarray.cma gmp.cma apron.cma polkaMPQ.cma ppl.cma polkaGrid.cma
ocamlc -cc "g++" -I $MLGMPIDL_PREFIX/lib -I $APRON_PREFIX/lib -use-runtime myrun -o mlexample.byte \
bigarray.cma gmp.cma apron.cma polkaMPQ.cma ppl.cma polkaGrid.cma mlexample.ml
Native-code compilation
ocamlopt -cc "g++" -I $MLGMPIDL_PREFIX/lib -I $APRON_PREFIX/lib -o mlexample.opt \
bigarray.cmxa gmp.cmxa apron.cmxa polkaMPQ.cmxa ppl.cmxa polkaGrid.cmxa mlexample.ml
Without auto-linking feature
ocamlopt -cc "g++" -I $MLGMPIDL_PREFIX/lib -I $APRON_PREFIX/lib -noautolink -o mlexample.opt \
bigarray.cmxa gmp.cmxa apron.cmxa polkaMPQ.cmxa ppl.cmxa polkaGrid.cmxa mlexample.ml \
-cclib "-L$MLGMPIDL_PREFIX/lib -L$APRON_PREFIX/lib -L$PPL_PREFIX/lib \
-lpolkaGrid_caml_debug -lap_pkgrid_debug \
-lpolkaMPQ_caml_debug -lpolkaMPQ_debug \
-lap_ppl_caml_debug -lap_ppl_debug -lppl -lgmpxx \
-lapron_caml_debug -lapron_debug \
-lgmp_caml -L$MPFR_PREFIX/lib -lmpfr -L$GMP_PREFIX/lib -lgmp \
-L$CAMLIDL_PREFIX/lib/ocaml -lcamlidl \
-lbigarray"