summaryrefslogtreecommitdiff
path: root/omega/examples/old_test/saman.oc-rt
diff options
context:
space:
mode:
authorDerick Huth <derickhuth@gmail.com>2014-10-06 12:42:34 -0600
committerDerick Huth <derickhuth@gmail.com>2014-10-06 12:42:34 -0600
commit8d73c8fcc75556c1df71dd39dd99783f8f86fc3e (patch)
tree157d627863d76a4c256a27cae27ce2e8566c7ea0 /omega/examples/old_test/saman.oc-rt
parente87b55ad69f0ac6211daae741b32c8ee9dcbe470 (diff)
parent8c646f24570079eac53e58fcf42d0d4fbc437ee3 (diff)
downloadchill-8d73c8fcc75556c1df71dd39dd99783f8f86fc3e.tar.gz
chill-8d73c8fcc75556c1df71dd39dd99783f8f86fc3e.tar.bz2
chill-8d73c8fcc75556c1df71dd39dd99783f8f86fc3e.zip
Merge pull request #2 from dhuth/master
Moved omega into chill.
Diffstat (limited to 'omega/examples/old_test/saman.oc-rt')
-rw-r--r--omega/examples/old_test/saman.oc-rt31
1 files changed, 31 insertions, 0 deletions
diff --git a/omega/examples/old_test/saman.oc-rt b/omega/examples/old_test/saman.oc-rt
new file mode 100644
index 0000000..d75d4df
--- /dev/null
+++ b/omega/examples/old_test/saman.oc-rt
@@ -0,0 +1,31 @@
+# Omega Calculator v1.2 (based on Omega Library 1.2, August, 2000):
+# # Passing array sections through array reshaping
+# # procedure foo()
+# # real a(1:5,1:64,1:64,1:5)
+# # for i = 1 to 64 do
+# # for j = 1 to 64 do
+# # bar(a(1,i,j,1))
+# # ...
+# # procedure bar(x(*))
+# # x(1:5) = ...
+# #
+# # Question which element of a are effected by the call to bar?
+# #
+# symbolic i,j;
+#
+# R := {[i1,i2,i3,i4] -> [o1] :
+# (i1-1) + (i2-i)*5 + (i3-j)*5*64 + (i4-1)*5*64*64
+# = o1-1
+# && 1 <= i1,i4 <= 5
+# && 1 <= i,j,i2,i3 <= 64};
+#
+# R;
+
+{[i1,i2,i3,i4] -> [i1-320j-5i+5i2+320i3+20480i4-20480] : 1 <= j <= 64 && 1 <= i <= 64 && 1 <= i1 <= 5 && 1 <= i2 <= 64 && 1 <= i3 <= 64 && 1 <= i4 <= 5}
+
+#
+# (inverse R)({[1:5]});
+
+{[i1,i,j,1]: 1 <= i <= 64 && 1 <= j <= 64 && 1 <= i1 <= 5}
+
+#