Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

Commit 91a72845 authored by erwan's avatar erwan
Browse files

Fix the CI pipeline

parent f0e3cfaf
Pipeline #1589 failed with stages
in 4 minutes and 46 seconds
......@@ -7,11 +7,15 @@ stages:
- build
- test
build_and_test:
build:
stage: build
script:
- sudo apt-get install -y libgmp-dev libmpfr-dev m4
- opam install camlp4 ocamlfind
- opam repo add opam-ocaml-org "https://opam.ocaml.org"
- opam repo add verimag-sync-repo "http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository"
- opam update
- opam install -y camlp4 ocamlfind camlidl oasis mlgmpidl
- opam install rdbg lustre-v6
- make
- make install
......
......@@ -5,7 +5,7 @@ endif
all:build
-include ./Makefile.version
-include mymakefile
-include ./Makefile.local
###################################################
# camlidl clutches...
......@@ -41,7 +41,7 @@ setup.ml:_oasis lutin/src/version.ml polka/vector.ml lutin-utils/src/lutinUtils.
setup.data:configure
configure: setup.ml
ocaml setup.ml -configure
ocaml setup.ml -configure --prefix=$(shell opam config var prefix)
.PHONY:doc
doc:
......
......@@ -32,10 +32,6 @@ cia:
echo "*** I won't commit!\n*** until you 'make update_version'!" \
|| (git commit -a -F log && touch committed)
ci:
test -f committed && \
echo "*** I won't commit!\n*** until you 'make update_version'!" \
|| (git commit -F log && touch committed)
push: opam-test
git push && make uv
......
OASISFormat: 0.4
Name: Lutin
Version: 2.34
Version: 2.35
Authors: Erwan Jahier
Maintainers: erwan.jahier@imag.fr
License: PROP
......@@ -80,6 +80,7 @@ Library ezdl
CSources: Ezdl_c.c,Inspect_c.c
CCOpt: -fPIC
Library gbddml
XMETADescription: gbddml: the Verimag bdd library
Path: gbddml
......
(* File generated from lutinUtils.idl *)
external gauss_continue : int -> int -> int -> int
= "camlidl_lutinUtils_gauss_continue"
external gauss_stop : int -> int -> int -> int
= "camlidl_lutinUtils_gauss_stop"
external interval_continue : int -> int -> int -> int
= "camlidl_lutinUtils_interval_continue"
external interval_stop : int -> int -> int -> int
= "camlidl_lutinUtils_interval_stop"
(* File generated from lutinUtils.idl *)
external gauss_continue : int -> int -> int -> int
= "camlidl_lutinUtils_gauss_continue"
external gauss_stop : int -> int -> int -> int
= "camlidl_lutinUtils_gauss_stop"
external interval_continue : int -> int -> int -> int
= "camlidl_lutinUtils_interval_continue"
external interval_stop : int -> int -> int -> int
= "camlidl_lutinUtils_interval_stop"
let str="2.34"
let sha="32b4267"
let str="2.35"
let sha="f0e3cfa"
(* File generated from matrix.idl *)
type t
and equation = {
var : int;
expr : Vector.t
}
external make : int -> int -> t
= "camlidl_matrix_matrix_make"
let dummy = make 0 0
external copy : t -> t
= "camlidl_matrix_matrix_copy"
external _print : t -> unit
= "camlidl_matrix_matrix__print"
external compare : t -> t -> int
= "camlidl_matrix_matrix_compare"
external hash : t -> int
= "camlidl_matrix_matrix_hash"
external compare_sort : t -> t -> int
= "camlidl_matrix_matrix_compare_sort"
external hash_sort : t -> int
= "camlidl_matrix_matrix_hash_sort"
external get : t -> int -> int -> int
= "camlidl_matrix_matrix_get"
external get_str10 : t -> int -> int -> string
= "camlidl_matrix_matrix_get_str10"
external set : t -> int -> int -> int -> unit
= "camlidl_matrix_matrix_set"
external set_str10 : t -> int -> int -> string -> unit
= "camlidl_matrix_matrix_set_str10"
external get_row : t -> int -> Vector.t
= "camlidl_matrix_matrix_get_row"
external set_row : t -> int -> Vector.t -> unit
= "camlidl_matrix_matrix_set_row"
external nbrows : t -> int
= "camlidl_matrix_matrix_nbrows"
external nbcolumns : t -> int
= "camlidl_matrix_matrix_nbcolumns"
external sort_rows : t -> unit
= "camlidl_matrix_matrix_sort_rows"
external merge_sort : t -> t -> t
= "camlidl_matrix_matrix_merge_sort"
external assign_variable : t -> int -> Vector.t -> t
= "camlidl_matrix_matrix_assign_variable"
external substitute_variable : t -> int -> Vector.t -> t
= "camlidl_matrix_matrix_substitute_variable"
external assign_variables : t -> equation array -> t
= "camlidl_matrix_matrix_assign_variables"
external substitute_variables : t -> equation array -> t
= "camlidl_matrix_matrix_substitute_variables"
external add_dims : t -> int -> t
= "camlidl_matrix_matrix_add_dims"
external add_dims_multi : t -> Vector.dimsup array -> t
= "camlidl_matrix_matrix_add_dims_multi"
external del_dims_multi : t -> Vector.dimsup array -> t
= "camlidl_matrix_matrix_del_dims_multi"
external add_permute_dims : t -> int -> int array -> t
= "camlidl_matrix_matrix_add_permute_dims"
external permute_del_dims : t -> int -> int array -> t
= "camlidl_matrix_matrix_permute_del_dims"
external is_row_dummy_constraint : t -> int -> bool
= "camlidl_matrix_matrix_is_row_dummy_constraint"
let get_big_int mat i j =
try Big_int.big_int_of_int (get mat i j)
with Polka.Overflow(s) -> Big_int.big_int_of_string s
let set_big_int mat i j v =
if Big_int.is_int_big_int v
then set mat i j (Big_int.int_of_big_int v)
else set_str10 mat i j (Big_int.string_of_big_int v)
let print formatter mat =
let nbrows = nbrows mat in
Format.fprintf formatter "@[<v>";
for i=0 to nbrows-1 do
Format.fprintf formatter "%a@ " Vector.print (get_row mat i);
done;
Format.fprintf formatter "@]";
()
let print_constraints assoc formatter mat =
let nbrows = nbrows mat
and nbcolumns = nbcolumns mat
in
if nbrows > !Polka.print_limit then
Format.fprintf formatter "matrix with %i constraints" nbrows
else begin
let lchaines = ref [] in
for i = nbrows-1 downto 0 do
lchaines := (Polka.to_constraint assoc
(fun j -> get_big_int mat i j)
nbcolumns) :: !lchaines
done;
Polka.print_list formatter "{@[<hov>" ",@," "@]}"
Format.pp_print_string
!lchaines
end
let print_frames assoc formatter mat =
let nbrows = nbrows mat
and nbcolumns = nbcolumns mat
in
if nbrows > !Polka.print_limit then
Format.fprintf formatter "matrix with %i frames" nbrows
else begin
let lchaines = ref [] in
for i = nbrows-1 downto 0 do
lchaines := (Polka.to_frame assoc
(fun j -> get_big_int mat i j)
nbcolumns) :: !lchaines
done;
Polka.print_list formatter "{@[<hov>" ",@," "@]}"
Format.pp_print_string
!lchaines
end
let of_lconstraints assoc dim lstr =
let mat = make (List.length lstr) (!Polka.dec + dim) in
let i = ref 0 and l = ref lstr in
while !l<>[] do
let vec = Vector.of_constraint assoc dim (List.hd !l) in
set_row mat !i vec;
incr i;
l := List.tl !l
done;
mat
let of_lframes assoc dim lstr =
let mat = make (List.length lstr) (!Polka.dec + dim) in
let i = ref 0 and l = ref lstr in
while !l<>[] do
let vec = Vector.of_frame assoc dim (List.hd !l) in
set_row mat !i vec;
incr i;
l := List.tl !l
done;
mat
(* File generated from matrix.idl *)
type t
and equation = {
var : int;
expr : Vector.t
}
val dummy : t
external make : int -> int -> t
= "camlidl_matrix_matrix_make"
external copy : t -> t
= "camlidl_matrix_matrix_copy"
external _print : t -> unit
= "camlidl_matrix_matrix__print"
external compare : t -> t -> int
= "camlidl_matrix_matrix_compare"
external hash : t -> int
= "camlidl_matrix_matrix_hash"
external compare_sort : t -> t -> int
= "camlidl_matrix_matrix_compare_sort"
external hash_sort : t -> int
= "camlidl_matrix_matrix_hash_sort"
external get : t -> int -> int -> int
= "camlidl_matrix_matrix_get"
external get_str10 : t -> int -> int -> string
= "camlidl_matrix_matrix_get_str10"
external set : t -> int -> int -> int -> unit
= "camlidl_matrix_matrix_set"
external set_str10 : t -> int -> int -> string -> unit
= "camlidl_matrix_matrix_set_str10"
external get_row : t -> int -> Vector.t
= "camlidl_matrix_matrix_get_row"
external set_row : t -> int -> Vector.t -> unit
= "camlidl_matrix_matrix_set_row"
external nbrows : t -> int
= "camlidl_matrix_matrix_nbrows"
external nbcolumns : t -> int
= "camlidl_matrix_matrix_nbcolumns"
external sort_rows : t -> unit
= "camlidl_matrix_matrix_sort_rows"
external merge_sort : t -> t -> t
= "camlidl_matrix_matrix_merge_sort"
external assign_variable : t -> int -> Vector.t -> t
= "camlidl_matrix_matrix_assign_variable"
external substitute_variable : t -> int -> Vector.t -> t
= "camlidl_matrix_matrix_substitute_variable"
external assign_variables : t -> equation array -> t
= "camlidl_matrix_matrix_assign_variables"
external substitute_variables : t -> equation array -> t
= "camlidl_matrix_matrix_substitute_variables"
external add_dims : t -> int -> t
= "camlidl_matrix_matrix_add_dims"
external add_dims_multi : t -> Vector.dimsup array -> t
= "camlidl_matrix_matrix_add_dims_multi"
external del_dims_multi : t -> Vector.dimsup array -> t
= "camlidl_matrix_matrix_del_dims_multi"
external add_permute_dims : t -> int -> int array -> t
= "camlidl_matrix_matrix_add_permute_dims"
external permute_del_dims : t -> int -> int array -> t
= "camlidl_matrix_matrix_permute_del_dims"
external is_row_dummy_constraint : t -> int -> bool
= "camlidl_matrix_matrix_is_row_dummy_constraint"
val get_big_int : t -> int -> int -> Big_int.big_int
val set_big_int : t -> int -> int -> Big_int.big_int -> unit
val print : Format.formatter -> t -> unit
val print_constraints : (int -> string) -> Format.formatter -> t -> unit
val print_frames : (int -> string) -> Format.formatter -> t -> unit
val of_lconstraints : (string -> int) -> int -> string list -> t
val of_lframes : (string -> int) -> int -> string list -> t
/* File generated from matrix.idl */
#include <stddef.h>
#include <string.h>
#include <caml/mlvalues.h>
#include <caml/memory.h>
#include <caml/alloc.h>
#include <caml/fail.h>
#include <caml/callback.h>
#ifdef Custom_tag
#include <caml/custom.h>
#include <caml/bigarray.h>
#endif
#include <caml/camlidlruntime.h>
#include "matrix.h"
#include "polka_caml.h"
extern void camlidl_polka_vector_ml2c(value, vector__t *);
#define camlidl_ml2c_vector_vector__t(v,c,ctx) camlidl_polka_vector_ml2c(v,c)
extern value camlidl_polka_vector_c2ml(vector__t *);
#define camlidl_c2ml_vector_vector__t(c,ctx) camlidl_polka_vector_c2ml(c)
extern void camlidl_ml2c_vector_struct_dimsup_t(value, struct dimsup_t *, camlidl_ctx _ctx);
extern value camlidl_c2ml_vector_struct_dimsup_t(struct dimsup_t *, camlidl_ctx _ctx);
extern void camlidl_polka_dimsup_ml2c(value, dimsup_t *);
#define camlidl_ml2c_vector_dimsup_t(v,c,ctx) camlidl_polka_dimsup_ml2c(v,c)
extern value camlidl_polka_dimsup_c2ml(dimsup_t *);
#define camlidl_c2ml_vector_dimsup_t(c,ctx) camlidl_polka_dimsup_c2ml(c)
#define camlidl_ml2c_matrix_matrix__t(v,c,ctx) camlidl_polka_matrix_ml2c(v,c)
#define camlidl_c2ml_matrix_matrix__t(c,ctx) camlidl_polka_matrix_c2ml(c)
extern void camlidl_ml2c_matrix_struct_equation_t(value, struct equation_t *, camlidl_ctx _ctx);
extern value camlidl_c2ml_matrix_struct_equation_t(struct equation_t *, camlidl_ctx _ctx);
#define camlidl_ml2c_matrix_equation_t(v,c,ctx) camlidl_polka_equation_ml2c(v,c)
#define camlidl_c2ml_matrix_equation_t(c,ctx) camlidl_polka_equation_c2ml(c)
value camlidl_matrix_matrix_make(
value _v_nbrows,
value _v_nbcolumns)
{
int nbrows; /*in*/
int nbcolumns; /*in*/
matrix__t _res;
value _vres;
struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL };
camlidl_ctx _ctx = &_ctxs;
nbrows = Int_val(_v_nbrows);
nbcolumns = Int_val(_v_nbcolumns);
/* begin user-supplied calling sequence */
if (nbrows<0 || nbcolumns<0) {
fprintf(stderr,"nbrows=%d, nbcolumns=%d\n",nbrows,nbcolumns);
invalid_argument("Matrix.make: at least one argument is negative !");
}
_res = matrix_alloc(nbrows,nbcolumns,true);
/* end user-supplied calling sequence */
_vres = camlidl_c2ml_matrix_matrix__t(&_res, _ctx);
camlidl_free(_ctx);
return _vres;
}
value camlidl_matrix_matrix_copy(
value _v_mat)
{
matrix__t mat; /*in*/
matrix__t _res;
value _vres;
struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL };
camlidl_ctx _ctx = &_ctxs;
camlidl_ml2c_matrix_matrix__t(_v_mat, &mat, _ctx);
_res = matrix_copy(mat);
_vres = camlidl_c2ml_matrix_matrix__t(&_res, _ctx);
camlidl_free(_ctx);
return _vres;
}
value camlidl_matrix_matrix__print(
value _v_mat)
{
matrix__t mat; /*in*/
struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL };
camlidl_ctx _ctx = &_ctxs;
camlidl_ml2c_matrix_matrix__t(_v_mat, &mat, _ctx);
/* begin user-supplied calling sequence */
matrix_print(mat);
/* end user-supplied calling sequence */
camlidl_free(_ctx);
return Val_unit;
}
value camlidl_matrix_matrix_compare(
value _v_mata,
value _v_matb)
{
matrix__t mata; /*in*/
matrix__t matb; /*in*/
int _res;
value _vres;
struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL };
camlidl_ctx _ctx = &_ctxs;
camlidl_ml2c_matrix_matrix__t(_v_mata, &mata, _ctx);
camlidl_ml2c_matrix_matrix__t(_v_matb, &matb, _ctx);
_res = matrix_compare(mata, matb);
_vres = Val_int(_res);
camlidl_free(_ctx);
return _vres;
}
value camlidl_matrix_matrix_hash(
value _v_mat)
{
matrix__t mat; /*in*/
int _res;
value _vres;
struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL };
camlidl_ctx _ctx = &_ctxs;
camlidl_ml2c_matrix_matrix__t(_v_mat, &mat, _ctx);
_res = matrix_hash(mat);
_vres = Val_int(_res);
camlidl_free(_ctx);
return _vres;
}
value camlidl_matrix_matrix_compare_sort(
value _v_mata,
value _v_matb)
{
matrix__t mata; /*in*/
matrix__t matb; /*in*/
int _res;
value _vres;
struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL };
camlidl_ctx _ctx = &_ctxs;
camlidl_ml2c_matrix_matrix__t(_v_mata, &mata, _ctx);
camlidl_ml2c_matrix_matrix__t(_v_matb, &matb, _ctx);
_res = matrix_compare_sort(mata, matb);
_vres = Val_int(_res);
camlidl_free(_ctx);
return _vres;
}
value camlidl_matrix_matrix_hash_sort(
value _v_mat)
{
matrix__t mat; /*in*/
int _res;
value _vres;
struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL };
camlidl_ctx _ctx = &_ctxs;
camlidl_ml2c_matrix_matrix__t(_v_mat, &mat, _ctx);
_res = matrix_hash_sort(mat);
_vres = Val_int(_res);
camlidl_free(_ctx);
return _vres;
}
value camlidl_matrix_matrix_get(
value _v_mat,
value _v_row,
value _v_col)
{
matrix__t mat; /*in*/
int row; /*in*/
int col; /*in*/
long _res;
value _vres;
struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL };
camlidl_ctx _ctx = &_ctxs;
camlidl_ml2c_matrix_matrix__t(_v_mat, &mat, _ctx);
row = Int_val(_v_row);
col = Int_val(_v_col);
/* begin user-supplied calling sequence */
if (row<0 || col<0 || row>=mat->nbrows || col>=mat->nbcolumns){
fprintf(stderr,"row=%d,col=%d,nbrows=%d,nbcols=%d\n",
row,col,mat->nbrows,mat->nbcolumns);
invalid_argument("Matrix.get: indices");
}
int_set_pkint(&_res,mat->p[row][col],false);
/* end user-supplied calling sequence */
_vres = Val_long(_res);
camlidl_free(_ctx);
return _vres;
}
value camlidl_matrix_matrix_get_str10(
value _v_mat,
value _v_row,
value _v_col)
{
matrix__t mat; /*in*/
int row; /*in*/
int col; /*in*/
char *_res;
value _vres;
struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL };
camlidl_ctx _ctx = &_ctxs;
camlidl_ml2c_matrix_matrix__t(_v_mat, &mat, _ctx);
row = Int_val(_v_row);
col = Int_val(_v_col);
/* begin user-supplied calling sequence */
if (row<0 || col<0 || row>=mat->nbrows || col>=mat->nbcolumns){
fprintf(stderr,"row=%d,col=%d,nbrows=%d,nbcols=%d\n",
row,col,mat->nbrows,mat->nbcolumns);
invalid_argument("Matrix.get: indices");
}
_res = pkint_get_str10(NULL,mat->p[row][col]);
/* end user-supplied calling sequence */
_vres = copy_string(_res);
camlidl_free(_ctx);
/* begin user-supplied deallocation sequence */
free(_res);
/* end user-supplied deallocation sequence */
return _vres;
}
value camlidl_matrix_matrix_set(
value _v_mat,
value _v_row,
value _v_col,
value _v_val)
{
matrix__t mat; /*in*/
int row; /*in*/
int col; /*in*/
int val; /*in*/
struct camlidl_ctx_struct _ctxs = { CAMLIDL_TRANSIENT, NULL };
camlidl_ctx _ctx = &_ctxs;
camlidl_ml2c_matrix_matrix__t(_v_mat, &mat, _ctx);
row = Int_val(_v_row);
col = Int_val(_v_col);