From 6ea8238682075d66097aa9027751985e32a5cc49 Mon Sep 17 00:00:00 2001 From: Michele Alberti <michele.alberti@cea.fr> Date: Wed, 30 Nov 2022 10:14:08 +0100 Subject: [PATCH] [dataset] More robust meta generation for inputs and outputs. --- src/dataset.ml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/dataset.ml b/src/dataset.ml index a1f0f6e..b792972 100644 --- a/src/dataset.ml +++ b/src/dataset.ml @@ -316,15 +316,16 @@ let add_decls ~kind task = | `In n -> (n, Fmt.str "x%d", Utils.meta_input) | `Out n -> (n, Fmt.str "y%d", Utils.meta_output) in - let lls = - List.init n ~f:(fun idx -> - Term.create_lsymbol (Ident.id_fresh (fid idx)) [] (Some Ty.ty_real)) + let id_lls = + List.init n ~f:(fun id -> + (id, Term.create_lsymbol (Ident.id_fresh (fid id)) [] (Some Ty.ty_real))) in - let task = - List.foldi lls ~init:task ~f:(fun idx task ls -> - let task = Task.add_meta task meta [ MAls ls; MAint idx ] in - Task.add_param_decl task ls) + let lls, task = + List.fold id_lls ~init:([], task) ~f:(fun (lls, task) (id, ls) -> + let task = Task.add_meta task meta [ MAls ls; MAint id ] in + (ls :: lls, Task.add_param_decl task ls)) in + let lls = List.rev lls in (lls, task) let tasks_of_nn_csv_predicate env -- GitLab