diff options
author | Derick Huth <derickhuth@gmail.com> | 2014-10-06 12:42:34 -0600 |
---|---|---|
committer | Derick Huth <derickhuth@gmail.com> | 2014-10-06 12:42:34 -0600 |
commit | 8d73c8fcc75556c1df71dd39dd99783f8f86fc3e (patch) | |
tree | 157d627863d76a4c256a27cae27ce2e8566c7ea0 /omega/examples/union | |
parent | e87b55ad69f0ac6211daae741b32c8ee9dcbe470 (diff) | |
parent | 8c646f24570079eac53e58fcf42d0d4fbc437ee3 (diff) | |
download | chill-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/union')
-rw-r--r-- | omega/examples/union | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/omega/examples/union b/omega/examples/union new file mode 100644 index 0000000..d03fcba --- /dev/null +++ b/omega/examples/union @@ -0,0 +1,64 @@ +# test ConvexRepresentation + +symbolic n; + +# +# result is convex, same behavior as PairwiseCheck +# +r1:={[i,j]: 0<=i,j<=100}; +r2:={[i,j]: i>=100 && j>=0 && i+j<=200}; +r3:={[i,j]: i>=0 && j>=100 && i+j<=200}; +PairwiseCheck (r1 union r2 union r3); +ConvexRepresentation (r1 union r2 union r3); + +r1:={[i]: 1<=i<=n && exists (alpha: i=2alpha)}; +r2:={[i]: 1<=i<=n && exists (alpha: i=2alpha+1)}; +PairwiseCheck (r1 union r2); +ConvexRepresentation (r1 union r2); + +# +# test neighboring regions merge +# +r1:={[i]: 1<=i<=9 && exists (alpha: i=2alpha+1)}; +r2:={[i]: 9<=i<=99 && exists (alpha: i=2alpha+1)}; +PairwiseCheck (r1 union r2); +ConvexRepresentation (r1 union r2); + +r1:={[i,j]:1<=i,j<=100}; +r2:={[i,j]:50<=i<=100 && 100<=j<=200}; +r3:={[i,j]:1<=i<=50 && 100<=j<=200}; +r4:={[i,j]: 1000<=i,j<=2000}; +PairwiseCheck (r1 union r2 union r3 union r4); +ConvexRepresentation (r1 union r2 union r3 union r4); + +# +# test stride condition merge, filling up holes +# +r1:={[i]:1<=i<=100 && exists (alpha: 1+7alpha<=i<=3+7alpha)}; +r2:={[i]:1<=i<=100 && exists (alpha: i=4+7alpha)}; +r3:={[i]:1<=i<=100 && exists (alpha: i=5+7alpha)}; +r4:={[i]:1<=i<=100 && exists (alpha: 6+7alpha<=i<=9+7alpha)}; +PairwiseCheck (r1 union r2 union r3); +ConvexRepresentation (r1 union r2 union r3); + +PairwiseCheck (r1 union r2 union r4); +ConvexRepresentation (r1 union r2 union r4); + +r1:={[i]:6<=i<=96 && exists (alpha: i=6alpha)}; +r2:={[i]:3<=i<=93 && exists (alpha: i=3+6alpha)}; +PairwiseCheck (r1 union r2); +ConvexRepresentation (r1 union r2); + +r1:={[i]:1<=i<=100 && exists (alpha: 1+15alpha<=i<=4+15alpha)}; +r2:={[i]:1<=i<=100 && exists (alpha: 6+15alpha<=i<=8+15alpha)}; +r3:={[i]:1<=i<=100 && exists (alpha: 11+15alpha<=i<=13+15alpha)}; +PairwiseCheck (r1 union r2 union r3); +ConvexRepresentation (r1 union r2 union r3); + +# +# additional test cases +# +r1:={[i]:0<=i<=100}; +r2:={[i]: 10<=i<=100 && exists (alpha: i=1+5alpha)}; +PairwiseCheck (r1 union r2); +ConvexRepresentation (r1 union r2); |