summaryrefslogtreecommitdiff
path: root/omegalib/examples/basics.out
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/basics.out
parent29efa7b1a0d089e02a70f73f348f11878955287c (diff)
downloadchill-75ff98e4d65862ff5b36b533b4f6e3ea71ede1d5.tar.gz
chill-75ff98e4d65862ff5b36b533b4f6e3ea71ede1d5.tar.bz2
chill-75ff98e4d65862ff5b36b533b4f6e3ea71ede1d5.zip
cmake build
Diffstat (limited to 'omegalib/examples/basics.out')
-rw-r--r--omegalib/examples/basics.out76
1 files changed, 76 insertions, 0 deletions
diff --git a/omegalib/examples/basics.out b/omegalib/examples/basics.out
new file mode 100644
index 0000000..6f8f2bb
--- /dev/null
+++ b/omegalib/examples/basics.out
@@ -0,0 +1,76 @@
+>>> #
+>>> # Some examples from the documentation for the Omega Calculator
+>>> # This is the input for figures 2 and 3.
+>>> #
+>>>
+>>> R := { [i] -> [i'] : 1 <= i,i' <= 10 && i' = i+1 };
+>>> R;
+{[i] -> [i+1] : 1 <= i <= 9}
+>>> inverse R;
+{[i] -> [i-1] : 2 <= i <= 10}
+>>> domain R;
+{[i]: 1 <= i <= 9}
+>>> range R;
+{[i]: 2 <= i <= 10}
+>>> R compose R;
+{[i] -> [i+2] : 1 <= i <= 8}
+>>> R+;
+{[i] -> [i'] : 1 <= i < i' <= 10}
+>>> # closure of R = R union (R compose R) union (R compose R ...
+>>> complement R;
+{[i] -> [i'] : i <= 0} union
+ {[i] -> [i'] : 10 <= i} union
+ {[i] -> [i'] : 1, i' <= i <= 9} union
+ {[i] -> [i'] : 1 <= i <= 9, i'-2}
+>>> S := {[i] : 5 <= i <= 25};
+>>> S;
+{[i]: 5 <= i <= 25}
+>>> R(S);
+{[i]: 6 <= i <= 10}
+>>> # apply R to S
+>>> R \ S;
+{[i] -> [i+1] : 5 <= i <= 9}
+>>> # restrict domain of R to S
+>>> R / S;
+{[i] -> [i+1] : 4 <= i <= 9}
+>>> # restrict range of R to S
+>>> (R\S) union (R/S);
+{[i] -> [i+1] : 4 <= i <= 9}
+>>> (R\S) intersection (R/S);
+{[i] -> [i+1] : 5 <= i <= 9}
+>>> (R/S) - (R\S);
+{[4] -> [5] }
+>>> S*S;
+{[i] -> [i'] : 5 <= i <= 25 && 5 <= i' <= 25}
+>>> # cross product
+>>> D := S - {[9:16:2]} - {[17:19]};
+>>> D;
+{[i]: 5 <= i <= 8} union
+ {[i]: exists ( alpha : 2alpha = i && 10 <= i <= 16)} union
+ {[i]: 20 <= i <= 25}
+>>> T := { [i] : 1 <= i <= 11 & exists (a : i = 2a) };
+>>> T;
+{[i]: exists ( alpha : 2alpha = i && 2 <= i <= 10)}
+>>> Hull T;
+{[i]: exists ( alpha : 2alpha = i && 2 <= i <= 10)}
+>>> Hull D;
+{[i]: 5 <= i <= 25}
+>>> codegen D;
+for(t1 = 5; t1 <= 8; t1++) {
+ s0(t1);
+}
+for(t1 = 10; t1 <= 16; t1 += 2) {
+ s0(t1);
+}
+for(t1 = 20; t1 <= 25; t1++) {
+ s0(t1);
+}
+
+>>> codegen {[i,j] : 1 <= i+j,j <= 10};
+for(t1 = -9; t1 <= 9; t1++) {
+ for(t2 = max(1,-t1+1); t2 <= min(-t1+10,10); t2++) {
+ s0(t1,t2);
+ }
+}
+
+>>>