From e4b20015a4ee35f1279af4caa983478fa2ff0d4a Mon Sep 17 00:00:00 2001 From: dhuth Date: Mon, 6 Oct 2014 11:56:47 -0600 Subject: Added omega to source --- omega/examples/old_test/saman.oc-rt | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 omega/examples/old_test/saman.oc-rt (limited to 'omega/examples/old_test/saman.oc-rt') 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} + +# -- cgit v1.2.3-70-g09d2