summaryrefslogtreecommitdiff
path: root/omega/examples/old_test/wak3.oc-rt
blob: 825c72fc6fc406dfb92167a9b004bbb065b4c4e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
>>> Symbolic a,b;
>>> 
>>> IS1 := {[i] : a <= i <= b };
>>> IS2 := {[i] : a+10 <= i <= b+10 };
>>> IS3 := {[i] : a+20 <= i <= b+20 };
>>> 
>>> T1 := {[i] -> [i,0]};
>>> T2 := {[i] -> [i,1]};
>>> T3 := {[i] -> [i,2]};
>>> 
>>> codegen T1:IS1,T2:IS2,T3:IS3;
for(t1 = a; t1 <= min(b,a+9); t1++) {
  s1(t1);
}
for(t1 = a+10; t1 <= min(b,a+19); t1++) {
  s1(t1);
  s2(t1);
}
for(t1 = a+20; t1 <= b; t1++) {
  s1(t1);
  s2(t1);
  s3(t1);
}
for(t1 = max(a+10,b+1); t1 <= min(b+10,a+19); t1++) {
  s2(t1);
}
for(t1 = max(a+20,b+1); t1 <= b+10; t1++) {
  s2(t1);
  s3(t1);
}
for(t1 = max(a+20,b+11); t1 <= b+20; t1++) {
  s3(t1);
}

>>> codegen 2 T1:IS1,T2:IS2,T3:IS3;
for(t1 = a; t1 <= min(b,a+9); t1++) {
  s1(t1);
}
for(t1 = a+10; t1 <= min(b,a+19); t1++) {
  s1(t1);
  s2(t1);
}
for(t1 = a+20; t1 <= b; t1++) {
  s1(t1);
  s2(t1);
  s3(t1);
}
for(t1 = max(a+10,b+1); t1 <= min(b+10,a+19); t1++) {
  s2(t1);
}
for(t1 = max(a+20,b+1); t1 <= b+10; t1++) {
  s2(t1);
  s3(t1);
}
for(t1 = max(a+20,b+11); t1 <= b+20; t1++) {
  s3(t1);
}