summaryrefslogtreecommitdiff
path: root/omegalib/examples/old_test/saman
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2016-09-17 03:22:53 +0000
committerTuowen Zhao <ztuowen@gmail.com>2016-09-17 03:22:53 +0000
commit75ff98e4d65862ff5b36b533b4f6e3ea71ede1d5 (patch)
tree498ac06b4cf78568b807fafd2619856afff69c28 /omegalib/examples/old_test/saman
parent29efa7b1a0d089e02a70f73f348f11878955287c (diff)
downloadchill-75ff98e4d65862ff5b36b533b4f6e3ea71ede1d5.tar.gz
chill-75ff98e4d65862ff5b36b533b4f6e3ea71ede1d5.tar.bz2
chill-75ff98e4d65862ff5b36b533b4f6e3ea71ede1d5.zip
cmake build
Diffstat (limited to 'omegalib/examples/old_test/saman')
-rw-r--r--omegalib/examples/old_test/saman20
1 files changed, 20 insertions, 0 deletions
diff --git a/omegalib/examples/old_test/saman b/omegalib/examples/old_test/saman
new file mode 100644
index 0000000..bf44452
--- /dev/null
+++ b/omegalib/examples/old_test/saman
@@ -0,0 +1,20 @@
+# 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;
+(inverse R)({[1:5]});