diff --git a/lib/sas.lus b/lib/sas.lus index ffa29ac83fe3b7c663d92d9f5c496e8ce477ad20..e8ea5cc1fdd13cccd90dcb6e2366387f52653d51 100644 --- a/lib/sas.lus +++ b/lib/sas.lus @@ -17,7 +17,7 @@ let tel; -- Any activation Ai implies Ei was previously enabled. -node activation_is_valid<<const an:int>>(acti, enab : bool^an) returns (y : bool); +function activation_is_valid<<const an:int>>(acti, enab : bool^an) returns (y : bool); let y = boolall<<an>>(map<<=>,an>>(acti, enab)); tel; diff --git a/test/bfs-spanning-tree/bfs_spanning_tree_oracle.lus b/test/bfs-spanning-tree/bfs_spanning_tree_oracle.lus index 5e57786aacb8ae4bec9190b1c368c9d9c8eb43f7..1e0cae5fe42d77c0bb34308ebd9964400600189c 100644 --- a/test/bfs-spanning-tree/bfs_spanning_tree_oracle.lus +++ b/test/bfs-spanning-tree/bfs_spanning_tree_oracle.lus @@ -1,5 +1,5 @@ --- Here, we use the Lustre version of the algorithm as an oracle for the ocaml version +-- Here, we use the Lustre version of the algorithm as a test oracle for the ocaml version include "../../lib/utils.lus" diff --git a/test/bfs-spanning-tree/p.lus b/test/bfs-spanning-tree/p.lus index 932ae34a824281821ad4162c6a74a2fb00f96e1b..e71005378c1abf66361e644801b41d42829eaa9c 100644 --- a/test/bfs-spanning-tree/p.lus +++ b/test/bfs-spanning-tree/p.lus @@ -1,12 +1,3 @@ ------------------------------------------------------------ ---Usefull function for type struct: -function d (neigh: state) -returns(res: int) -let - res=neigh.d; -tel; - ------------------------------------------------------------ --Return the tab minimal value: function min_tab<<const n:int>> (this : int; neighbors : int^n) returns (new: int); diff --git a/test/bfs-spanning-tree/state.lus b/test/bfs-spanning-tree/state.lus index 9b552c0c53b7d44f9c31d51267f112ad45cdb4b6..5df8fa20bf21a57c91ad04da11b7068f035b25e6 100644 --- a/test/bfs-spanning-tree/state.lus +++ b/test/bfs-spanning-tree/state.lus @@ -1,6 +1,4 @@ --- automatically generated by salut - type state = struct { d:int ; par:int }; type action = enum { CD , CP }; @@ -10,8 +8,20 @@ function action_of_int(i : int) returns (a : action); let a = if i = 0 then CD else CP; tel; -function legitimate<<const actions_number:int; const card:int>>(enables : bool^actions_number^card; config: state^card) +function legitimate<<const actions_number:int; const card:int>>( + enables : bool^actions_number^card; config: state^card) returns (res : bool); let res=silent<<actions_number,card>>(enables); tel; + +----------------------------------------------------------- +--Usefull function for type struct: +----------------------------------------------------------- + +function d (neigh: state) +returns(res: int) +let + res=neigh.d; +tel; + diff --git a/test/kclustering/verify.lus b/test/kclustering/verify.lus index 08aa21edf65de71b5dadcd4e841358923e4c0e7c..6fe2c212d581ad02551a002db1c104faf40b5f2c 100644 --- a/test/kclustering/verify.lus +++ b/test/kclustering/verify.lus @@ -41,7 +41,7 @@ tel; ---------------------------------------------------------------------------- -- all states are initially in correctly ---------------------------------------------------------------------------- -node rangei<<const low:int; const card:int; const max:int>>(config:state^card) returns (res:bool); +function rangei<<const low:int; const card:int; const max:int>>(config:state^card) returns (res:bool); var e:state; let