diff options
author | qadeer <unknown> | 2014-07-15 19:47:44 -0700 |
---|---|---|
committer | qadeer <unknown> | 2014-07-15 19:47:44 -0700 |
commit | 9c1c28a5e28f76af29805e6dd8b4b34c99fbe1b4 (patch) | |
tree | 9e02ec556858d05124bb3547da664db838382a3a /Test/og/linear-set.bpl | |
parent | 74090e6fc892db326c6f98b8adb790f1f09fba41 (diff) |
updated the linear type system based on Chris' design with linear, linear_in, linear_out
Diffstat (limited to 'Test/og/linear-set.bpl')
-rw-r--r-- | Test/og/linear-set.bpl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Test/og/linear-set.bpl b/Test/og/linear-set.bpl index de7c53e6..228062a3 100644 --- a/Test/og/linear-set.bpl +++ b/Test/og/linear-set.bpl @@ -23,7 +23,7 @@ function {:inline} {:linear "x"} XCollector(xs: [X]bool) : [X]bool var {:phase 1} x: int;
var {:phase 1} l: [X]bool;
-procedure Split({:linear "x"} xls: [X]bool) returns ({:linear "x"} xls1: [X]bool, {:linear "x"} xls2: [X]bool);
+procedure Split({:linear_in "x"} xls: [X]bool) returns ({:linear "x"} xls1: [X]bool, {:linear "x"} xls2: [X]bool);
ensures xls == MapOr(xls1, xls2) && xls1 != None() && xls2 != None();
procedure Allocate() returns ({:linear "tid"} xls: [X]bool);
@@ -38,7 +38,7 @@ procedure {:yields} {:phase 0,1} Unlock(); ensures {:atomic} |{A: l := None(); return true; }|;
-procedure {:yields} {:phase 1} main({:linear "tid"} tidls': [X]bool, {:linear "x"} xls': [X]bool)
+procedure {:yields} {:phase 1} main({:linear_in "tid"} tidls': [X]bool, {:linear_in "x"} xls': [X]bool)
requires {:phase 1} tidls' != None() && xls' == All();
{
var {:linear "tid"} tidls: [X]bool;
@@ -66,7 +66,7 @@ requires {:phase 1} tidls' != None() && xls' == All(); yield;
}
-procedure {:yields} {:phase 1} thread({:linear "tid"} tidls': [X]bool, {:linear "x"} xls': [X]bool)
+procedure {:yields} {:phase 1} thread({:linear_in "tid"} tidls': [X]bool, {:linear_in "x"} xls': [X]bool)
requires {:phase 1} tidls' != None() && xls' != None();
{
var {:linear "x"} xls: [X]bool;
|