summaryrefslogtreecommitdiff
path: root/omega/examples/old_test/p.delft2
diff options
context:
space:
mode:
authordhuth <derickhuth@gmail.com>2014-10-06 11:56:47 -0600
committerdhuth <derickhuth@gmail.com>2014-10-06 11:56:47 -0600
commite4b20015a4ee35f1279af4caa983478fa2ff0d4a (patch)
treef47cbff8b2bba458b54a739e91a87b303f7665f1 /omega/examples/old_test/p.delft2
parent600fa18324c21a162c50c40ae5f00c899a41dd24 (diff)
downloadchill-e4b20015a4ee35f1279af4caa983478fa2ff0d4a.tar.gz
chill-e4b20015a4ee35f1279af4caa983478fa2ff0d4a.tar.bz2
chill-e4b20015a4ee35f1279af4caa983478fa2ff0d4a.zip
Added omega to source
Diffstat (limited to 'omega/examples/old_test/p.delft2')
-rw-r--r--omega/examples/old_test/p.delft224
1 files changed, 24 insertions, 0 deletions
diff --git a/omega/examples/old_test/p.delft2 b/omega/examples/old_test/p.delft2
new file mode 100644
index 0000000..32e5da0
--- /dev/null
+++ b/omega/examples/old_test/p.delft2
@@ -0,0 +1,24 @@
+# Compute Sends and receives for the following HPF fragment
+
+I := { [i,j] : 1 <= i <= 14 && 0 <= j <= 14 };
+X := { [i,j] -> [3i,3j] };
+Y := { [i,j] -> [i',3j] : 3i-1 <= i'<= 3i};
+A := { [i,j] -> [3i,3j] };
+D := { [t1,t2] -> [p1,p2,c1,c2,l1,l2] :
+ t1 = 16c1+4p1+l1
+ && t2 = 16c2+4p2+l2
+ && 0 <= p1,p2 <= 3
+ && 0 <= l1,l2 <= 3 };
+P := { [p1,p2,c1,c2,l1,l2] -> [p1,p2]};
+C := { [p1,p2,c1,c2,l1,l2] -> [p1,p2,c1,c2]};
+own := P(D(A(X))) \I;
+own;
+need := D(A(Y)) \I;
+need;
+different := {[p1,p2] -> [q1,q2,c1,c2,l1,l2] : p1 != q1 || p2 != q2};
+ship := (need compose (inverse own) ) intersection different;
+symbolic P1,P2;
+P := {[P1,P2]};
+S := range (ship \ P);
+S;
+codegen S;