From 9f34e8040f791bfba87ea947e89a94e09559cf24 Mon Sep 17 00:00:00 2001 From: Erwan Jahier <jahier@imag.fr> Date: Thu, 21 Aug 2008 16:05:46 +0200 Subject: [PATCH] Add the name of the package when printing structure. --- src/compiledData.ml | 4 +- src/evalClock.ml | 4 +- src/evalType.ml | 4 +- src/getEff.ml | 30 +++--- src/licDump.ml | 10 +- src/split.ml | 4 +- src/symbolTab.ml | 28 +++--- src/symbolTab.mli | 10 +- src/test/test.res.exp | 224 +++++++++++++++++++++++------------------- 9 files changed, 177 insertions(+), 141 deletions(-) diff --git a/src/compiledData.ml b/src/compiledData.ml index c6034459..111b0c57 100644 --- a/src/compiledData.ml +++ b/src/compiledData.ml @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 19/08/2008 (at 11:39) by Erwan Jahier> *) +(** Time-stamp: <modified the 21/08/2008 (at 15:57) by Erwan Jahier> *) (** @@ -169,7 +169,7 @@ and val_exp_eff = and operands_eff = OperEff of val_exp_eff list and by_name_op_eff = - | STRUCT_eff of Ident.idref + | STRUCT_eff of Ident.pack_name * Ident.idref | STRUCT_anonymous_eff diff --git a/src/evalClock.ml b/src/evalClock.ml index c49f6c35..f613700b 100644 --- a/src/evalClock.ml +++ b/src/evalClock.ml @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 19/08/2008 (at 17:23) by Erwan Jahier> *) +(** Time-stamp: <modified the 21/08/2008 (at 15:50) by Erwan Jahier> *) open Predef @@ -389,7 +389,7 @@ and (eval_by_name_clock : id_solver -> by_name_op_eff -> Lxm.t -> fun id_solver namop lxm namargs s -> match namop with | STRUCT_anonymous_eff -> assert false (* cf EvalType.f *) - | STRUCT_eff opid -> + | STRUCT_eff _ -> let args = List.map (fun (id,ve) -> ve) namargs in (* XXX The 3 following lines duplicates the code of TUPLE_eff and co *) let clk_args, s = f_list id_solver s args in diff --git a/src/evalType.ml b/src/evalType.ml index c867b0d9..ac6b41e3 100644 --- a/src/evalType.ml +++ b/src/evalType.ml @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 18/08/2008 (at 13:52) by Erwan Jahier> *) +(** Time-stamp: <modified the 21/08/2008 (at 15:55) by Erwan Jahier> *) open Predef @@ -180,5 +180,5 @@ and (eval_by_name_type : id_solver -> by_name_op_eff -> Lxm.t -> assert false (* failwith "Finish me: anonymous struct not yet supported" *) - | STRUCT_eff opid -> [id_solver.id2type opid lxm] + | STRUCT_eff (pn,opid) -> [id_solver.id2type opid lxm] diff --git a/src/getEff.ml b/src/getEff.ml index 741ae842..a0789dd5 100644 --- a/src/getEff.ml +++ b/src/getEff.ml @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 19/08/2008 (at 15:09) by Erwan Jahier> *) +(** Time-stamp: <modified the 21/08/2008 (at 15:58) by Erwan Jahier> *) open Lxm @@ -185,7 +185,9 @@ and (translate_left_part : id_solver -> left_part -> left_eff) = fun id_solver lp_top -> match lp_top with | LeftVar id -> - let vi_eff = id_solver.id2var (Ident.idref_of_string (Ident.to_string id.it)) id.src in + let vi_eff = + id_solver.id2var (Ident.idref_of_string (Ident.to_string id.it)) id.src + in LeftVarEff (vi_eff, id.src) | LeftField (lp, id) -> ( @@ -230,23 +232,29 @@ and (translate_val_exp : id_solver -> val_exp -> val_exp_eff) = match ve with | CallByName(by_name_op, field_list) -> (CallByNameEff( - flagit (translate_by_name_op by_name_op.it) by_name_op.src, + flagit (translate_by_name_op id_solver by_name_op) by_name_op.src, List.map (translate_field id_solver) field_list)) - + | CallByPos(by_pos_op, Oper vel) -> let vel_eff = List.map (translate_val_exp id_solver) vel in let by_pos_op_eff = translate_by_pos_op id_solver by_pos_op vel in CallByPosEff(flagit by_pos_op_eff by_pos_op.src, OperEff vel_eff) -and translate_by_name_op = function - | STRUCT_n idref -> STRUCT_eff idref - | STRUCT_anonymous_n -> STRUCT_anonymous_eff - +and translate_by_name_op id_solver op = + match op.it with + | STRUCT_anonymous_n -> STRUCT_anonymous_eff + | STRUCT_n idref -> + match Ident.pack_of_idref idref with + | None -> + (* If no pack name is provided, we lookup it in the symbol table *) + let id = Ident.of_idref idref in + let pn = SymbolTab.find_pack_of_type id_solver.symbols id op.src in + STRUCT_eff (pn, idref) + | Some pn -> STRUCT_eff (pn, idref) and translate_field id_solver (id, ve) = (id, translate_val_exp id_solver ve) - (* XXX autre nom, autre module ? ca fait partie de la definition des iterateurs d'une certaine maniere... -> créer 2 modules, Iterator + IteratorSemantics @@ -327,7 +335,7 @@ and (translate_by_pos_op : id_solver -> by_pos_op srcflagged -> val_exp list -> | Some pn -> IDENT_eff idref (* Constant with a pack name are treated as IDENT_eff. Indeed, I do not see any means to - know if idref denotes a constant or not, since + know if an idref denotes a constant or not, since the SymbolTab tables are indexed by Ident.t... Anyway, CONST_eff was introduced precisely to handle idref constants with no pack @@ -336,7 +344,7 @@ and (translate_by_pos_op : id_solver -> by_pos_op srcflagged -> val_exp list -> inelegant). *) | None -> let id = Ident.of_idref idref in - let pn = fst (SymbolTab.find_const2 id_solver.symbols id lxm) in + let pn = SymbolTab.find_pack_of_const id_solver.symbols id lxm in CONST_eff (idref, pn) with _ -> IDENT_eff idref ) diff --git a/src/licDump.ml b/src/licDump.ml index 7258f83c..4d6852f7 100644 --- a/src/licDump.ml +++ b/src/licDump.ml @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 19/08/2008 (at 17:25) by Erwan Jahier> *) +(** Time-stamp: <modified the 21/08/2008 (at 16:01) by Erwan Jahier> *) open CompiledData open Printf @@ -321,7 +321,13 @@ and string_of_val_exp_eff = function | CallByNameEff(by_name_op_eff, fl) -> (match by_name_op_eff.it with - | STRUCT_eff idref -> Ident.string_of_idref idref + | STRUCT_eff (pn,idref) -> ( + match Ident.pack_of_idref idref with + | Some pn -> Ident.string_of_idref idref + | None -> + let idref = Ident.make_idref pn (Ident.of_idref idref) in + Ident.string_of_idref idref + ) | STRUCT_anonymous_eff -> "") ^ "{" ^ (String.concat ";" (List.map diff --git a/src/split.ml b/src/split.ml index f1969a5d..98ab7d89 100644 --- a/src/split.ml +++ b/src/split.ml @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 20/08/2008 (at 11:37) by Erwan Jahier> *) +(** Time-stamp: <modified the 21/08/2008 (at 16:04) by Erwan Jahier> *) open Lxm @@ -103,7 +103,7 @@ and (split_val_exp : bool -> val_exp_eff -> val_exp_eff * split_acc) = let eq = Lxm.flagit (lpl, rhs) lxm in nve, (eql@[eq], vl@nv_l) - + and (split_val_exp_list : bool -> val_exp_eff list -> val_exp_eff list * split_acc) = fun top_level vel -> diff --git a/src/symbolTab.ml b/src/symbolTab.ml index 083b808e..bd529f69 100644 --- a/src/symbolTab.ml +++ b/src/symbolTab.ml @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 23/07/2008 (at 10:06) by Erwan Jahier> *) +(** Time-stamp: <modified the 21/08/2008 (at 15:46) by Erwan Jahier> *) (* Sous-module pour SyntaxTab @@ -14,7 +14,7 @@ type 'a elt = type t = { st_consts: (Ident.t , (Ident.pack_name * const_info srcflagged elt)) Hashtbl.t ; - st_types : (Ident.t , (type_info srcflagged) elt) Hashtbl.t ; + st_types : (Ident.t , (Ident.pack_name * type_info srcflagged elt)) Hashtbl.t ; st_nodes : (Ident.t , (node_info srcflagged) elt) Hashtbl.t ; } @@ -31,7 +31,12 @@ let create () = } let find_type (this: t) (id: Ident.t) lxm = - try Hashtbl.find (this.st_types) id + try snd (Hashtbl.find (this.st_types) id) + with Not_found -> + raise (Compile_error(lxm, "unknown type (" ^ (Ident.to_string id)^")")) + +let find_pack_of_type (this: t) (id: Ident.t) lxm = + try fst (Hashtbl.find (this.st_types) id) with Not_found -> raise (Compile_error(lxm, "unknown type (" ^ (Ident.to_string id)^")")) @@ -41,8 +46,8 @@ let find_const (this: t) (id: Ident.t) lxm = with Not_found -> raise (Compile_error(lxm, "unknown constant (" ^ (Ident.to_string id) ^")")) -let find_const2 (this: t) (id: Ident.t) lxm = - try Hashtbl.find (this.st_consts) id +let find_pack_of_const (this: t) (id: Ident.t) lxm = + try fst (Hashtbl.find (this.st_consts) id) with Not_found -> raise (Compile_error(lxm, "unknown constant (" ^ (Ident.to_string id) ^")")) @@ -64,7 +69,7 @@ let add_import_const (this: t) (pn:Ident.pack_name) (id: Ident.t) (aid: Ident.lo Hashtbl.replace (this.st_consts) id (pn, Imported (aid, [])) let add_import_type (this: t) (id: Ident.t) (aid: Ident.long) = - Hashtbl.replace (this.st_types) id (Imported (aid, [])) + Hashtbl.replace (this.st_types) id (Ident.pack_of_long aid, Imported (aid, [])) let add_import_node (this: t) (id: Ident.t) (aid: Ident.long) (params:static_param srcflagged list) = @@ -75,7 +80,7 @@ let add_const (this: t) (pn:Ident.pack_name) (n: Ident.t) Hashtbl.replace this.st_consts n (pn, Local cix) let add_type (this: t) pn (n: Ident.t) (tix: type_info srcflagged) = ( - Hashtbl.replace this.st_types n (Local tix) ; + Hashtbl.replace this.st_types n (pn, Local tix) ; (* cas particulier des types enums *) match tix.it with EnumType (_, ecl) -> ( @@ -96,10 +101,11 @@ let add_node (this: t) (n: Ident.t) (oix: node_info srcflagged) = Hashtbl.add this.st_nodes n (Local oix) -let iter_types this f = Hashtbl.iter f this.st_types +(* let iter_types this f = Hashtbl.iter f this.st_types *) +let iter_types this f = Hashtbl.iter (fun id (pn,ti) -> f id ti) this.st_types let iter_consts this f = Hashtbl.iter (fun id (pn,ci) -> f id ci) this.st_consts let iter_nodes this f = Hashtbl.iter f this.st_nodes -let iter_consts2 this f = Hashtbl.iter f this.st_consts +(* let iter_consts2 this f = Hashtbl.iter f this.st_consts *) (* useful for debug *) @@ -116,8 +122,8 @@ let (dump : t -> unit) = ) in let type_info_dump = function - | Imported(l,params) -> print_string (Ident.long_to_string l) - | Local ti -> + | pn, Imported(l,params) -> print_string (Ident.long_to_string l) + | pn, Local ti -> match ti.it with | ExternalType id -> print_string ("extern type ") | AliasedType(id,texp) -> diff --git a/src/symbolTab.mli b/src/symbolTab.mli index e74f2c37..f18129cc 100644 --- a/src/symbolTab.mli +++ b/src/symbolTab.mli @@ -1,4 +1,4 @@ -(** Time-stamp: <modified the 23/07/2008 (at 10:21) by Erwan Jahier> *) +(** Time-stamp: <modified the 21/08/2008 (at 15:45) by Erwan Jahier> *) (********************************************************** Sous-module pour SyntaxTab @@ -36,7 +36,8 @@ val find_type : t -> Ident.t -> Lxm.t -> (type_info Lxm.srcflagged) elt val find_const : t -> Ident.t -> Lxm.t -> (const_info Lxm.srcflagged) elt val find_node : t -> Ident.t -> Lxm.t -> (node_info Lxm.srcflagged) elt -val find_const2 : t -> Ident.t -> Lxm.t -> Ident.pack_name * const_info Lxm.srcflagged elt +val find_pack_of_type : t -> Ident.t -> Lxm.t -> Ident.pack_name +val find_pack_of_const : t -> Ident.t -> Lxm.t -> Ident.pack_name (* Ajout de nom d'item importés (via uses) *) val add_import_const : t -> Ident.pack_name -> Ident.t -> Ident.long -> unit @@ -45,7 +46,7 @@ val add_import_node : t -> Ident.t -> Ident.long -> static_param srcflagged list -> unit (** Add local items declaration *) -val add_type : t -> Ident.pack_name -> Ident.t -> type_info Lxm.srcflagged -> unit +val add_type : t -> Ident.pack_name -> Ident.t -> type_info Lxm.srcflagged -> unit val add_const : t -> Ident.pack_name -> Ident.t -> const_info Lxm.srcflagged -> unit val add_node : t -> Ident.t -> node_info Lxm.srcflagged -> unit @@ -55,6 +56,3 @@ val iter_types: t -> (Ident.t -> (type_info Lxm.srcflagged) elt -> unit) -> unit val iter_consts: t ->(Ident.t -> (const_info Lxm.srcflagged) elt -> unit) -> unit val iter_nodes : t ->(Ident.t -> (node_info Lxm.srcflagged) elt -> unit) -> unit -val iter_consts2: - t ->(Ident.t -> Ident.pack_name * const_info Lxm.srcflagged elt -> unit) -> unit - diff --git a/src/test/test.res.exp b/src/test/test.res.exp index e97e1a4d..1869c7b8 100644 --- a/src/test/test.res.exp +++ b/src/test/test.res.exp @@ -7987,7 +7987,7 @@ let t[0].a[1 .. 99 step 2][1] = true; t[0].a[5 .. 99 step 2] = (false^48); t[0].b = 42; - t[1 .. 2] = (truc{a=(true^100);b=0}^2); + t[1 .. 2] = (left::truc{a=(true^100);b=0}^2); tel -- end of node left::toto -- automatically defined aliases: @@ -8038,7 +8038,7 @@ var _v5:real; _v6:real; let - out2 = selType{i=0;b=true;r=.0}; + out2 = inter::selType{i=0;b=true;r=.0}; out.i = (pint::fby1(_v1, _v2)); _v1 = out2.i; _v2 = in.i; @@ -9212,7 +9212,7 @@ var _v5:real; _v6:real; let - out2 = selType{i=0;b=true;r=.0}; + out2 = inter::selType{i=0;b=true;r=.0}; out.i = (pint::fby1(_v1, _v2)); _v1 = out2.i; _v2 = in.i; @@ -9283,7 +9283,7 @@ var _v5:real; _v6:real; let - out2 = selType{i=0;b=true;r=0.0}; + out2 = inter::selType{i=0;b=true;r=0.0}; out.i = (pint::fby1(_v1, _v2)); _v1 = out2.i; _v2 = in.i; @@ -9317,7 +9317,7 @@ Opening file should_work/Pascal/struct0.lus type _struct0::Toto = struct {x : int = 1; y : int = 2}; node struct0::bibi(dummy:int) returns (z:_struct0::Toto); let - z = Toto{x=3}; + z = struct0::Toto{x=3}; tel -- end of node struct0::bibi @@ -9950,7 +9950,7 @@ var _v3:bool; _v4:_Gyroscope2::Valid_ChannelT; let - acc_out = CFF_Eltstruct{indx=(acc_in.indx + + acc_out = Gyroscope2::CFF_Eltstruct{indx=(acc_in.indx + 1);indx_toChange=acc_in.indx_toChange;value=acc_in.value}; elt_out = ( if _v3 then _v4 else elt_in); _v1 = acc_in.indx; @@ -9970,7 +9970,7 @@ var acc_out:_Gyroscope2::CFF_Eltstruct; let (acc_out, tabToFillAfter) = (fillred<<Gyroscope2::addOneChannelIter, - 3>>(CFF_Eltstruct{indx=0;indx_toChange=indx_toChange;value=channeltToAdd}, + 3>>(Gyroscope2::CFF_Eltstruct{indx=0;indx_toChange=indx_toChange;value=channeltToAdd}, tabToFill)); tel -- end of node Gyroscope2::addOneChannel @@ -9981,7 +9981,7 @@ node Gyroscope2::CFC_iter( returns ( structOut:_Gyroscope2::CFF_struct); let - structOut = CFF_struct{indx=(structIn.indx + + structOut = Gyroscope2::CFF_struct{indx=(structIn.indx + 1);indx_toChange=structIn.indx_toChange;tabToFill=( if (structIn.indx_toChange = structIn.indx) then structIn.tabToFill else (Gyroscope2::addOneChannel(structIn.indx, currentChannel, @@ -9998,9 +9998,10 @@ var acc_out:_Gyroscope2::CFF_struct; localtabToFill:_Gyroscope2::Valid_ChannelT; let - localtabToFill = Valid_ChannelT{local_failure=false;local_value=0.0}; + localtabToFill = + Gyroscope2::Valid_ChannelT{local_failure=false;local_value=0.0}; acc_out = (red<<Gyroscope2::CFC_iter, - 4>>(CFF_struct{indx=0;indx_toChange=currentChannelIndx;tabToFill=(localtabToFill^3)}, + 4>>(Gyroscope2::CFF_struct{indx=0;indx_toChange=currentChannelIndx;tabToFill=(localtabToFill^3)}, allChannels)); foreignChannels = acc_out.tabToFill; tel @@ -10145,11 +10146,12 @@ var localChannel:_Gyroscope2::Valid_ChannelT; let localChannel = - Valid_ChannelT{local_failure=((Gyroscope2::abs((inChannel.valuea - - inChannel.valueb))) > delta);local_value=( if + Gyroscope2::Valid_ChannelT{local_failure=((Gyroscope2::abs((inChannel.valuea + - inChannel.valueb))) > delta);local_value=( if ((Gyroscope2::abs((inChannel.valuea - inChannel.valueb))) > delta) then 0.0 else ((inChannel.valuea + inChannel.valueb) / 2.0))}; - outChannel = Valid_ChannelT{local_failure=(localChannel.local_failure or + outChannel = + Gyroscope2::Valid_ChannelT{local_failure=(localChannel.local_failure or (Gyroscope2::CrossFailDetect(nbInChannel, localChannel, previousOutChannel)));local_value=localChannel.local_value}; nextOutChannel = previousOutChannel; @@ -10286,7 +10288,8 @@ var _v4:A_real_4; _v5:A__Gyroscope2::Valid_ChannelT_4; let - initChannels = (Valid_ChannelT{local_failure=false;local_value=0.0}^4); + initChannels = + (Gyroscope2::Valid_ChannelT{local_failure=false;local_value=0.0}^4); (dumbChannel, resChannels) = (fillred<<Gyroscope2::Channel, 4>>(fillredInit, _v1, channels, _v2, _v3, _v4)); _v1 = ([0, 1, 2, 3]); @@ -12115,7 +12118,7 @@ var _v10:int; _v11:A_int_2; let - yo.titi = tube{in=i;out=(i + 1)}; + yo.titi = morel4::tube{in=i;out=(i + 1)}; yo.tutu = true; t = (_v5 -> _v11); _v1 = yo.titi; @@ -12323,7 +12326,7 @@ var _v12:A_int_2; _v13:A_int_2; let - yo.titi = tube{in=i;out=(i + 1)}; + yo.titi = morel5::tube{in=i;out=(i + 1)}; yo.tutu = true; t = (_v5 -> _v11); _v1 = yo.titi; @@ -15040,8 +15043,9 @@ let _v3 = (_v1 - _v2); _v4 = (Gyroscope::abs(_v3)); _v5 = (_v4 > delta); - outChannel = Valid_ChannelT{local_failure=maintain;local_value=( if - maintain then 0.0 else ((inChannel.valuea + inChannel.valueb) / 2.0))}; + outChannel = + Gyroscope::Valid_ChannelT{local_failure=maintain;local_value=( if maintain + then 0.0 else ((inChannel.valuea + inChannel.valueb) / 2.0))}; tel -- end of node Gyroscope::Channel @@ -15325,7 +15329,7 @@ returns ( acc_out:_produitBool::T_isElementOf_); let acc_out = - T_isElementOf_{eltToSearch=acc_in.eltToSearch;iselementof=(acc_in.iselementof + produitBool::T_isElementOf_{eltToSearch=acc_in.eltToSearch;iselementof=(acc_in.iselementof or (acc_in.eltToSearch = elt_in))}; tel -- end of node produitBool::iterated_isElementOf_ @@ -15339,7 +15343,7 @@ var acc_out:_produitBool::T_isElementOf_; let acc_out = (red<<produitBool::iterated_isElementOf_, - 10>>(T_isElementOf_{eltToSearch=e;iselementof=false}, t)); + 10>>(produitBool::T_isElementOf_{eltToSearch=e;iselementof=false}, t)); iselementof = acc_out.iselementof; tel -- end of node produitBool::_isElementOf_ @@ -15350,7 +15354,7 @@ node produitBool::selectOneStage( returns ( acc_out:_produitBool::iteratedStruct); let - acc_out = iteratedStruct{currentRank=(acc_in.currentRank + + acc_out = produitBool::iteratedStruct{currentRank=(acc_in.currentRank + 1);rankToSelect=acc_in.rankToSelect;elementSelected=( if (acc_in.currentRank = acc_in.rankToSelect) then currentElt else acc_in.elementSelected)}; @@ -15366,7 +15370,7 @@ var iterationResult:_produitBool::iteratedStruct; let iterationResult = (red<<produitBool::selectOneStage, - 10>>(iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=array[0]}, + 10>>(produitBool::iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=array[0]}, array)); elementSelected = iterationResult.elementSelected; tel @@ -15393,7 +15397,7 @@ var _v13:bool; let acc_out = - Tacc_inShift2{multiplieur=acc_in.multiplieur;rank=acc_in.rank;actual_rank=(acc_in.actual_rank + produitBool::Tacc_inShift2{multiplieur=acc_in.multiplieur;rank=acc_in.rank;actual_rank=(acc_in.actual_rank + 1)}; elt_out = ( if _v8 then _v13 else false); _v1 = acc_in.actual_rank; @@ -15420,7 +15424,7 @@ var bidon:_produitBool::Tacc_inShift2; let (bidon, ligne) = (fill<<produitBool::shiftFill, - 20>>(Tacc_inShift2{multiplieur=acc_in.multiplieur;rank=acc_in.rank;actual_rank=0})); + 20>>(produitBool::Tacc_inShift2{multiplieur=acc_in.multiplieur;rank=acc_in.rank;actual_rank=0})); tel -- end of node produitBool::shift @@ -15481,7 +15485,7 @@ node shiftFill_ludic::n_selectOneStage( returns ( o_acc_out:_shiftFill_ludic::T3_STRUCT); let - o_acc_out = T3_STRUCT{currentRank=(i_acc_in.currentRank + + o_acc_out = shiftFill_ludic::T3_STRUCT{currentRank=(i_acc_in.currentRank + 1);rankToSelect=i_acc_in.rankToSelect;elementSelected=( if (i_acc_in.currentRank = i_acc_in.rankToSelect) then i_currentElt else i_acc_in.elementSelected)}; @@ -15497,7 +15501,7 @@ var v_iterationResult:_shiftFill_ludic::T3_STRUCT; let v_iterationResult = (red<<shiftFill_ludic::n_selectOneStage, - 10>>(T3_STRUCT{currentRank=0;rankToSelect=i_rankToSelect;elementSelected=i_array[0]}, + 10>>(shiftFill_ludic::T3_STRUCT{currentRank=0;rankToSelect=i_rankToSelect;elementSelected=i_array[0]}, i_array)); o_elementSelected = v_iterationResult.elementSelected; tel @@ -15522,7 +15526,7 @@ var _v11:bool; let o_acc_out = - T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=(i_acc_in.actual_rank + shiftFill_ludic::T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=(i_acc_in.actual_rank + 1)}; o_elt_out = ( if _v8 then _v11 else false); _v1 = i_acc_in.actual_rank; @@ -15563,7 +15567,7 @@ node shift_ludic::n_selectOneStage( returns ( o_acc_out:_shift_ludic::T4_STRUCT); let - o_acc_out = T4_STRUCT{currentRank=(i_acc_in.currentRank + + o_acc_out = shift_ludic::T4_STRUCT{currentRank=(i_acc_in.currentRank + 1);rankToSelect=i_acc_in.rankToSelect;elementSelected=( if (i_acc_in.currentRank = i_acc_in.rankToSelect) then i_currentElt else i_acc_in.elementSelected)}; @@ -15579,7 +15583,7 @@ var v_iterationResult:_shift_ludic::T4_STRUCT; let v_iterationResult = (red<<shift_ludic::n_selectOneStage, - 10>>(T4_STRUCT{currentRank=0;rankToSelect=i_rankToSelect;elementSelected=i_array[0]}, + 10>>(shift_ludic::T4_STRUCT{currentRank=0;rankToSelect=i_rankToSelect;elementSelected=i_array[0]}, i_array)); o_elementSelected = v_iterationResult.elementSelected; tel @@ -15604,7 +15608,7 @@ var _v11:bool; let o_acc_out = - T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=(i_acc_in.actual_rank + shift_ludic::T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=(i_acc_in.actual_rank + 1)}; o_elt_out = ( if _v8 then _v11 else false); _v1 = i_acc_in.actual_rank; @@ -15629,7 +15633,7 @@ var v_bidon:_shift_ludic::T2_STRUCT; let (v_bidon, o_ligne) = (fill<<shift_ludic::n_shiftFill, - 20>>(T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=0})); + 20>>(shift_ludic::T2_STRUCT{multiplieur=i_acc_in.multiplieur;rank=i_acc_in.rank;actual_rank=0})); tel -- end of node shift_ludic::n_shift -- automatically defined aliases: @@ -15769,7 +15773,7 @@ var _v8:_calculs_max::struct_max; let strout = ( if _v2 then - struct_max{max1=strin.max1;max2=strin.max2;imax1=strin.imax1;imax2=strin.imax2;icourant=(strin.icourant + calculs_max::struct_max{max1=strin.max1;max2=strin.max2;imax1=strin.imax1;imax2=strin.imax2;icourant=(strin.icourant + 1)} else _v8); _v1 = strin.max2; _v2 = (ecourant <= _v1); @@ -15779,9 +15783,9 @@ let _v6 = (ecourant <= _v5); _v7 = (_v4 and _v6); _v8 = ( if _v7 then - struct_max{max1=strin.max1;max2=ecourant;imax1=strin.imax1;imax2=strin.icourant;icourant=(strin.icourant + calculs_max::struct_max{max1=strin.max1;max2=ecourant;imax1=strin.imax1;imax2=strin.icourant;icourant=(strin.icourant + 1)} else - struct_max{max1=ecourant;max2=strin.max1;imax1=strin.icourant;imax2=strin.imax1;icourant=(strin.icourant + calculs_max::struct_max{max1=ecourant;max2=strin.max1;imax1=strin.icourant;imax2=strin.imax1;icourant=(strin.icourant + 1)}); tel -- end of node calculs_max::max @@ -15800,7 +15804,7 @@ var _v6:bool; let s_out = - struct_fill_bool{imax1=s_in.imax1;imax2=s_in.imax2;icourant=(s_in.icourant + calculs_max::struct_fill_bool{imax1=s_in.imax1;imax2=s_in.imax2;icourant=(s_in.icourant + 1)}; elt = (_v3 or _v6); _v1 = s_in.icourant; @@ -15817,9 +15821,10 @@ var tmp:_calculs_max::struct_fill_bool; let local_struct = (red<<calculs_max::max, - 10>>(struct_max{max1=0;max2=0;imax1=(-1);imax2=(-1);icourant=0}, A)); + 10>>(calculs_max::struct_max{max1=0;max2=0;imax1=(-1);imax2=(-1);icourant=0}, + A)); (tmp, res) = (fill<<calculs_max::fill_bool, - 10>>(struct_fill_bool{imax1=local_struct.imax1;imax2=local_struct.imax2;icourant=0})); + 10>>(calculs_max::struct_fill_bool{imax1=local_struct.imax1;imax2=local_struct.imax2;icourant=0})); tel -- end of node calculs_max::calculs_max -- automatically defined aliases: @@ -15855,7 +15860,7 @@ let _v5 = (pre ackout); _v6 = (false -> _v5); _v7 = (not _v6); - accu_out = cell_accu{token=accu_in.token;grant=((not req) and + accu_out = deSimone::cell_accu{token=accu_in.token;grant=((not req) and accu_in.grant)}; tel -- end of node deSimone::oneCell @@ -15882,7 +15887,7 @@ var accu_out:_deSimone::cell_accu; let (accu_out, acknowledge) = (fillred<<deSimone::oneCell, - 10>>(cell_accu{token=new_token;grant=true}, request)); + 10>>(deSimone::cell_accu{token=new_token;grant=true}, request)); tel -- end of node deSimone::deSimone node deSimone::prop1(request:A_bool_10) returns (ok:bool); @@ -16123,8 +16128,9 @@ node moyenne::moyenne_step( returns ( accu_out:_moyenne::moyenne_accu); let - accu_out = moyenne_accu{sum=(accu_in.sum + elt_in);moyenne=((accu_in.sum + - elt_in) / (accu_in.rank + 1.0));rank=(accu_in.rank + 1.0)}; + accu_out = moyenne::moyenne_accu{sum=(accu_in.sum + + elt_in);moyenne=((accu_in.sum + elt_in) / (accu_in.rank + + 1.0));rank=(accu_in.rank + 1.0)}; tel -- end of node moyenne::moyenne_step node moyenne::moyenne(Tab:A_real_10) returns (moy:real); @@ -16132,7 +16138,7 @@ var accu_out:_moyenne::moyenne_accu; let accu_out = (red<<moyenne::moyenne_step, - 10>>(moyenne_accu{sum=0.0;moyenne=0.0;rank=0.0}, Tab)); + 10>>(moyenne::moyenne_accu{sum=0.0;moyenne=0.0;rank=0.0}, Tab)); moy = accu_out.moyenne; tel -- end of node moyenne::moyenne @@ -16166,7 +16172,7 @@ node normal::int2InfoChgIndiv( returns ( InfoChgIndiv:_normal::T_InfoChgIndiv); let - InfoChgIndiv = T_InfoChgIndiv{mesure_chg=m}; + InfoChgIndiv = normal::T_InfoChgIndiv{mesure_chg=m}; tel -- end of node normal::int2InfoChgIndiv @@ -16187,7 +16193,7 @@ node normal::int2InfoGenIndiv( returns ( InfoGenIndiv:_normal::T_InfoGenIndiv); let - InfoGenIndiv = T_InfoGenIndiv{mesure_gen=m}; + InfoGenIndiv = normal::T_InfoGenIndiv{mesure_gen=m}; tel -- end of node normal::int2InfoGenIndiv @@ -16302,7 +16308,7 @@ node normal::extract_info_chg_glob( returns ( InfoChgGlob:_normal::T_InfoChgGlob); let - InfoChgGlob = T_InfoChgGlob{chg2gen=(map<<normal::id, + InfoChgGlob = normal::T_InfoChgGlob{chg2gen=(map<<normal::id, 20>>(EntreeGlob.chg2gen))}; tel -- end of node normal::extract_info_chg_glob @@ -16390,7 +16396,7 @@ node normal::extract_info_gen_glob( returns ( InfoGenGlob:_normal::T_InfoGenGlob); let - InfoGenGlob = T_InfoGenGlob{elt_bidon=0;chg2gen=(map<<normal::id, + InfoGenGlob = normal::T_InfoGenGlob{elt_bidon=0;chg2gen=(map<<normal::id, 20>>(EntreeGlob.chg2gen))}; tel -- end of node normal::extract_info_gen_glob @@ -16728,7 +16734,7 @@ node testSilus::int2InfoChgIndiv( returns ( InfoChgIndiv:_testSilus::T_InfoChgIndiv); let - InfoChgIndiv = T_InfoChgIndiv{mesure_chg=m}; + InfoChgIndiv = testSilus::T_InfoChgIndiv{mesure_chg=m}; tel -- end of node testSilus::int2InfoChgIndiv @@ -16749,7 +16755,7 @@ node testSilus::int2InfoGenIndiv( returns ( InfoGenIndiv:_testSilus::T_InfoGenIndiv); let - InfoGenIndiv = T_InfoGenIndiv{mesure_gen=m}; + InfoGenIndiv = testSilus::T_InfoGenIndiv{mesure_gen=m}; tel -- end of node testSilus::int2InfoGenIndiv @@ -16835,7 +16841,7 @@ node testSilus::extract_info_chg_glob( returns ( InfoChgGlob:_testSilus::T_InfoChgGlob); let - InfoChgGlob = T_InfoChgGlob{chg2gen=(map<<testSilus::id, + InfoChgGlob = testSilus::T_InfoChgGlob{chg2gen=(map<<testSilus::id, 20>>(EntreeGlob.chg2gen))}; tel -- end of node testSilus::extract_info_chg_glob @@ -16906,7 +16912,8 @@ node testSilus::extract_info_gen_glob( returns ( InfoGenGlob:_testSilus::T_InfoGenGlob); let - InfoGenGlob = T_InfoGenGlob{elt_bidon=0;chg2gen=(map<<testSilus::id, + InfoGenGlob = + testSilus::T_InfoGenGlob{elt_bidon=0;chg2gen=(map<<testSilus::id, 20>>(EntreeGlob.chg2gen))}; tel -- end of node testSilus::extract_info_gen_glob @@ -17027,8 +17034,8 @@ node triSel::minFromRank( returns ( accu_out:_triSel::MinFR_accu); let - accu_out = MinFR_accu{MinVal=( if ((accu_in.Rank = 0) or (accu_in.Rank = - accu_in.RankFrom)) then TabEltIn else ( if (accu_in.Rank >= + accu_out = triSel::MinFR_accu{MinVal=( if ((accu_in.Rank = 0) or + (accu_in.Rank = accu_in.RankFrom)) then TabEltIn else ( if (accu_in.Rank >= accu_in.RankFrom) then ( if (TabEltIn < accu_in.MinVal) then TabEltIn else accu_in.MinVal) else accu_in.MinVal));MinRank=( if ((accu_in.Rank = 0) or (accu_in.Rank = accu_in.RankFrom)) then accu_in.Rank else ( if @@ -17045,7 +17052,7 @@ returns ( accu_out:_triSel::Select_accu); let accu_out = - Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank + triSel::Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank + 1);Val=( if (accu_in.RankToFind = accu_in.CurrentRank) then elt else accu_in.Val)}; tel @@ -17069,7 +17076,7 @@ var _v9:int; let accu_out = - Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank + triSel::Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank + 1)}; eltOut = ( if _v3 then _v4 else _v9); _v1 = accu_in.Rank; @@ -17099,18 +17106,19 @@ var _v3:A_int_50; let accu_out_min = (red<<triSel::minFromRank, - 50>>(MinFR_accu{MinVal=0;MinRank=0;RankFrom=accu_in.CurrentRank;Rank=0}, + 50>>(triSel::MinFR_accu{MinVal=0;MinRank=0;RankFrom=accu_in.CurrentRank;Rank=0}, _v1)); _v1 = accu_in.Tab; accu_out_select = (red<<triSel::select, - 50>>(Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0}, + 50>>(triSel::Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0}, _v2)); _v2 = accu_in.Tab; (accu_out_exchange, localTab) = (fillred<<triSel::Exchange_i_j, - 50>>(Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0}, + 50>>(triSel::Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0}, _v3)); _v3 = accu_in.Tab; - accu_out = Sort_accu{CurrentRank=(accu_in.CurrentRank + 1);Tab=localTab}; + accu_out = triSel::Sort_accu{CurrentRank=(accu_in.CurrentRank + + 1);Tab=localTab}; tel -- end of node triSel::UnarySort node triSel::triSel(TIn:A_int_50) returns (TSorted:A_int_50); @@ -17118,7 +17126,7 @@ var UnarySort_accu_out:_triSel::Sort_accu; let UnarySort_accu_out = (red<<triSel::UnarySort, - 50>>(Sort_accu{CurrentRank=0;Tab=TIn}, TIn)); + 50>>(triSel::Sort_accu{CurrentRank=0;Tab=TIn}, TIn)); TSorted = UnarySort_accu_out.Tab; tel -- end of node triSel::triSel @@ -17129,8 +17137,9 @@ node triSel::sorted_iter( returns ( accu_out:_triSel::sorted_iter_accu); let - accu_out = sorted_iter_accu{prev_elt=elt;prop_is_tt=((accu_in.prev_elt <= - elt) and accu_in.prop_is_tt)}; + accu_out = + triSel::sorted_iter_accu{prev_elt=elt;prop_is_tt=((accu_in.prev_elt <= elt) + and accu_in.prop_is_tt)}; tel -- end of node triSel::sorted_iter node triSel::Sorted(TIn:A_int_50) returns (ok:bool); @@ -17140,7 +17149,7 @@ var let TSorted = (triSel::triSel(TIn)); accu_out = (red<<triSel::sorted_iter, - 50>>(sorted_iter_accu{prev_elt=0;prop_is_tt=true}, TSorted)); + 50>>(triSel::sorted_iter_accu{prev_elt=0;prop_is_tt=true}, TSorted)); ok = accu_out.prop_is_tt; tel -- end of node triSel::Sorted @@ -17192,8 +17201,9 @@ node contractForElementSelectionInArray::selectOneStage( returns ( acc_out:_contractForElementSelectionInArray::iteratedStruct); let - acc_out = iteratedStruct{currentRank=(acc_in.currentRank + - 1);rankToSelect=acc_in.rankToSelect;elementSelected=( if + acc_out = + contractForElementSelectionInArray::iteratedStruct{currentRank=(acc_in.currentRank + + 1);rankToSelect=acc_in.rankToSelect;elementSelected=( if (acc_in.currentRank = acc_in.rankToSelect) then currentElt else acc_in.elementSelected)}; tel @@ -17209,7 +17219,7 @@ var let iterationResult = (red<<contractForElementSelectionInArray::selectOneStage, - 10>>(iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=0}, + 10>>(contractForElementSelectionInArray::iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=0}, array)); elementSelected = iterationResult.elementSelected; tel @@ -17247,8 +17257,8 @@ returns ( acc_out:_intArray::T_isElementOf_); let acc_out = - T_isElementOf_{eltToSearch=acc_in.eltToSearch;iselementof=(acc_in or - (intArray::_isEqualTo_(acc_in.eltToSearch, elt_in)))}; + intArray::T_isElementOf_{eltToSearch=acc_in.eltToSearch;iselementof=(acc_in + or (intArray::_isEqualTo_(acc_in.eltToSearch, elt_in)))}; tel -- end of node intArray::iterated_isElementOf_ @@ -17261,7 +17271,7 @@ var acc_out:_intArray::T_isElementOf_; let acc_out = (red<<intArray::iterated_isElementOf_, - 10>>(T_isElementOf_{eltToSearch=e;iselementof=false}, t)); + 10>>(intArray::T_isElementOf_{eltToSearch=e;iselementof=false}, t)); iselementof = acc_out.iselementof; tel -- end of node intArray::_isElementOf_ @@ -17284,7 +17294,7 @@ returns ( acc_out:_intArray::forSortingAlgo); let acc_out = - forSortingAlgo{previousElement=elt;sortedUpToHere=((intArray::_isGreaterOrEqualTo_(elt, + intArray::forSortingAlgo{previousElement=elt;sortedUpToHere=((intArray::_isGreaterOrEqualTo_(elt, acc_in.previousElement)) and acc_in.sortedUpToHere)}; tel -- end of node intArray::isLocallyLoselySorted @@ -17297,7 +17307,8 @@ var result:_intArray::forSortingAlgo; let result = (red<<intArray::isLocallyLoselySorted, - 10>>(forSortingAlgo{previousElement=array[0];sortedUpToHere=true}, array)); + 10>>(intArray::forSortingAlgo{previousElement=array[0];sortedUpToHere=true}, + array)); array_isLoselySorted = result.sortedUpToHere; tel -- end of node intArray::_isLoselySorted @@ -17312,11 +17323,12 @@ node intArray::minFromRank( returns ( accu_out:_intArray::MinFR_accu); let - accu_out = MinFR_accu{MinVal=( if (accu_in.Rank <= accu_in.RankFrom) then - TabEltIn else ( if (accu_in.Rank >= accu_in.RankFrom) then ( if (TabEltIn < - accu_in.MinVal) then TabEltIn else accu_in.MinVal) else - accu_in.MinVal));MinRank=( if (accu_in.Rank > accu_in.RankFrom) then ( if - (TabEltIn < accu_in.MinVal) then accu_in.Rank else accu_in.MinRank) else + accu_out = intArray::MinFR_accu{MinVal=( if (accu_in.Rank <= + accu_in.RankFrom) then TabEltIn else ( if (accu_in.Rank >= + accu_in.RankFrom) then ( if (TabEltIn < accu_in.MinVal) then TabEltIn else + accu_in.MinVal) else accu_in.MinVal));MinRank=( if (accu_in.Rank > + accu_in.RankFrom) then ( if (TabEltIn < accu_in.MinVal) then accu_in.Rank + else accu_in.MinRank) else accu_in.MinRank);RankFrom=accu_in.RankFrom;Rank=(accu_in.Rank + 1)}; tel -- end of node intArray::minFromRank @@ -17328,7 +17340,7 @@ returns ( accu_out:_intArray::Select_accu); let accu_out = - Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank + intArray::Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank + 1);Val=( if (accu_in.RankToFind = accu_in.CurrentRank) then elt else accu_in.Val)}; tel @@ -17352,7 +17364,7 @@ var _v9:int; let accu_out = - Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank + intArray::Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank + 1)}; eltOut = ( if _v3 then _v4 else _v9); _v1 = accu_in.Rank; @@ -17382,18 +17394,19 @@ var _v3:A_int_10; let accu_out_min = (red<<intArray::minFromRank, - 10>>(MinFR_accu{MinVal=0;MinRank=accu_in.CurrentRank;RankFrom=accu_in.CurrentRank;Rank=0}, + 10>>(intArray::MinFR_accu{MinVal=0;MinRank=accu_in.CurrentRank;RankFrom=accu_in.CurrentRank;Rank=0}, _v1)); _v1 = accu_in.Tab; accu_out_select = (red<<intArray::select, - 10>>(Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0}, + 10>>(intArray::Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0}, _v2)); _v2 = accu_in.Tab; (accu_out_exchange, localTab) = (fillred<<intArray::Exchange_i_j, - 10>>(Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0}, + 10>>(intArray::Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0}, _v3)); _v3 = accu_in.Tab; - accu_out = Sort_accu{CurrentRank=(accu_in.CurrentRank + 1);Tab=localTab}; + accu_out = intArray::Sort_accu{CurrentRank=(accu_in.CurrentRank + + 1);Tab=localTab}; tel -- end of node intArray::UnarySort node intArray::sort_(array:A_int_10) returns (arraySorted:A_int_10); @@ -17401,7 +17414,7 @@ var UnarySort_accu_out:_intArray::Sort_accu; let UnarySort_accu_out = (red<<intArray::UnarySort, - 10>>(Sort_accu{CurrentRank=0;Tab=array}, array)); + 10>>(intArray::Sort_accu{CurrentRank=0;Tab=array}, array)); arraySorted = UnarySort_accu_out.Tab; tel -- end of node intArray::sort_ @@ -17433,7 +17446,7 @@ node intArray::selectOneStage( returns ( acc_out:_intArray::iteratedStruct); let - acc_out = iteratedStruct{currentRank=(acc_in.currentRank + + acc_out = intArray::iteratedStruct{currentRank=(acc_in.currentRank + 1);rankToSelect=acc_in.rankToSelect;elementSelected=( if (acc_in.currentRank = acc_in.rankToSelect) then currentElt else acc_in.elementSelected)}; @@ -17449,7 +17462,7 @@ var iterationResult:_intArray::iteratedStruct; let iterationResult = (red<<intArray::selectOneStage, - 10>>(iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=array[0]}, + 10>>(intArray::iteratedStruct{currentRank=0;rankToSelect=rankToSelect;elementSelected=array[0]}, array)); elementSelected = iterationResult.elementSelected; tel @@ -17482,7 +17495,8 @@ node intArray::selectMaxRank( returns ( acc_out:_intArray::currentRank_withMemorizedRank); let - acc_out = currentRank_withMemorizedRank{currentRank=(acc_in.currentRank + + acc_out = + intArray::currentRank_withMemorizedRank{currentRank=(acc_in.currentRank + 1);rankOfMemorizedVal=( if (intArray::_isGreaterThan_(e1, acc_in.memorizedVal)) then acc_in.currentRank else acc_in.rankOfMemorizedVal);memorizedVal=( if (intArray::_isGreaterThan_(e1, @@ -17498,7 +17512,7 @@ var local:_intArray::currentRank_withMemorizedRank; let local = (red<<intArray::selectMaxRank, - 10>>(currentRank_withMemorizedRank{currentRank=0;rankOfMemorizedVal=0;memorizedVal=array[0]}, + 10>>(intArray::currentRank_withMemorizedRank{currentRank=0;rankOfMemorizedVal=0;memorizedVal=array[0]}, array)); rankOfMaximumElement = local.rankOfMemorizedVal; tel @@ -17510,7 +17524,8 @@ node intArray::selectMinRank( returns ( acc_out:_intArray::currentRank_withMemorizedRank); let - acc_out = currentRank_withMemorizedRank{currentRank=(acc_in.currentRank + + acc_out = + intArray::currentRank_withMemorizedRank{currentRank=(acc_in.currentRank + 1);rankOfMemorizedVal=( if (intArray::_isEqualTo_(acc_in.memorizedVal, elt)) then acc_in.currentRank else acc_in.rankOfMemorizedVal);memorizedVal=acc_in.memorizedVal}; @@ -17528,7 +17543,7 @@ let minElement = (intArray::getMinimumIn_(array)); rankOfMinimumElement = _v1.rankOfMemorizedVal; _v1 = (red<<intArray::selectMinRank, - 10>>(currentRank_withMemorizedRank{currentRank=0;rankOfMemorizedVal=0;memorizedVal=minElement}, + 10>>(intArray::currentRank_withMemorizedRank{currentRank=0;rankOfMemorizedVal=0;memorizedVal=minElement}, array)); tel -- end of node intArray::getRank_ofMinimumIn_ @@ -17587,9 +17602,9 @@ node tri::minFromRank( returns ( accu_out:_tri::MinFR_accu); let - accu_out = MinFR_accu{MinVal=( if (accu_in.Rank <= accu_in.RankFrom) then - TabEltIn else ( if (accu_in.Rank >= accu_in.RankFrom) then ( if (TabEltIn < - accu_in.MinVal) then TabEltIn else accu_in.MinVal) else + accu_out = tri::MinFR_accu{MinVal=( if (accu_in.Rank <= accu_in.RankFrom) + then TabEltIn else ( if (accu_in.Rank >= accu_in.RankFrom) then ( if + (TabEltIn < accu_in.MinVal) then TabEltIn else accu_in.MinVal) else accu_in.MinVal));MinRank=( if (accu_in.Rank > accu_in.RankFrom) then ( if (TabEltIn < accu_in.MinVal) then accu_in.Rank else accu_in.MinRank) else accu_in.MinRank);RankFrom=accu_in.RankFrom;Rank=(accu_in.Rank + 1)}; @@ -17603,7 +17618,7 @@ returns ( accu_out:_tri::Select_accu); let accu_out = - Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank + tri::Select_accu{RankToFind=accu_in.RankToFind;CurrentRank=(accu_in.CurrentRank + 1);Val=( if (accu_in.RankToFind = accu_in.CurrentRank) then elt else accu_in.Val)}; tel @@ -17627,7 +17642,7 @@ var _v9:int; let accu_out = - Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank + tri::Exchange_accu{MinVal=accu_in.MinVal;MinRank=accu_in.MinRank;RankFrom=accu_in.RankFrom;CurrentVal=accu_in.CurrentVal;Rank=(accu_in.Rank + 1)}; eltOut = ( if _v3 then _v4 else _v9); _v1 = accu_in.Rank; @@ -17657,18 +17672,19 @@ var _v3:A_int_10; let accu_out_min = (red<<tri::minFromRank, - 10>>(MinFR_accu{MinVal=0;MinRank=accu_in.CurrentRank;RankFrom=accu_in.CurrentRank;Rank=0}, + 10>>(tri::MinFR_accu{MinVal=0;MinRank=accu_in.CurrentRank;RankFrom=accu_in.CurrentRank;Rank=0}, _v1)); _v1 = accu_in.Tab; accu_out_select = (red<<tri::select, - 10>>(Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0}, + 10>>(tri::Select_accu{RankToFind=accu_in.CurrentRank;CurrentRank=0;Val=0}, _v2)); _v2 = accu_in.Tab; (accu_out_exchange, localTab) = (fillred<<tri::Exchange_i_j, - 10>>(Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0}, + 10>>(tri::Exchange_accu{MinVal=accu_out_min.MinVal;MinRank=accu_out_min.MinRank;RankFrom=accu_out_select.RankToFind;CurrentVal=accu_out_select.Val;Rank=0}, _v3)); _v3 = accu_in.Tab; - accu_out = Sort_accu{CurrentRank=(accu_in.CurrentRank + 1);Tab=localTab}; + accu_out = tri::Sort_accu{CurrentRank=(accu_in.CurrentRank + + 1);Tab=localTab}; tel -- end of node tri::UnarySort node tri::main(TIn:A_int_10) returns (TSorted:A_int_10); @@ -17677,7 +17693,8 @@ var _v1:A_int_10; let UnarySort_accu_out = (red<<tri::UnarySort, - 10>>(Sort_accu{CurrentRank=0;Tab=([7, 8, 4, 3, 2, 9, 1, 10, 2, 7])}, _v1)); + 10>>(tri::Sort_accu{CurrentRank=0;Tab=([7, 8, 4, 3, 2, 9, 1, 10, 2, 7])}, + _v1)); _v1 = ([7, 8, 4, 3, 2, 9, 1, 10, 2, 7]); TSorted = UnarySort_accu_out.Tab; tel @@ -17689,8 +17706,9 @@ node tri::sorted_iter( returns ( accu_out:_tri::sorted_iter_accu); let - accu_out = sorted_iter_accu{prev_elt=elt;prop_is_tt=((accu_in.prev_elt <= - elt) and accu_in.prop_is_tt)}; + accu_out = + tri::sorted_iter_accu{prev_elt=elt;prop_is_tt=((accu_in.prev_elt <= elt) + and accu_in.prop_is_tt)}; tel -- end of node tri::sorted_iter node tri::Sorted(TIn:A_int_10) returns (res:bool); @@ -17700,7 +17718,7 @@ var let TSorted = (tri::main(TIn)); accu_out = (red<<tri::sorted_iter, - 10>>(sorted_iter_accu{prev_elt=0;prop_is_tt=true}, TSorted)); + 10>>(tri::sorted_iter_accu{prev_elt=0;prop_is_tt=true}, TSorted)); res = accu_out.prop_is_tt; tel -- end of node tri::Sorted @@ -17806,7 +17824,7 @@ var _v5:real; _v6:real; let - out2 = selType{i=0;b=true;r=0.}; + out2 = inter::selType{i=0;b=true;r=0.}; out.i = (pint::fby1(_v1, _v2)); _v1 = out2.i; _v2 = in.i; @@ -17873,7 +17891,7 @@ var _v5:real; _v6:real; let - out2 = selType{i=0;b=true;r=0.}; + out2 = inter::selType{i=0;b=true;r=0.}; out.i = (pint::fby1(_v1, _v2)); _v1 = out2.i; _v2 = in.i; -- GitLab