summaryrefslogtreecommitdiff
path: root/omega/examples/old_test/collard.oc-rt
blob: 9d2c8c089c801ed437e6b73d934a3fb6dd2b3266 (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
# Omega Calculator v1.2 (based on Omega Library 1.2, August, 2000):
# symbolic n;
# 
# 
# I1 := {[i,j] : 1 <= i < j <= n};
# 
# I2 := {[i,j,K] : 1 <= i < j,K <= n};
# 
# I3 := {[i] : 1 <=  i <= n};
# 
# I4 := {[i,j] : 1 <= j < i <= n};
# 
# I5 := {[i] : 1 <= i <= n};
# 
# 
# T1 := {[i,j]   -> [1,i,0,n-i,n-j]};
# 
# T2 := {[i,j,k] -> [1,i,1,n-j,k]};
# 
# T3 := {[i]     -> [0,0,0,0,i]};
# 
# T4 := {[i,j]   -> [2,j,1,i,j]};
# 
# T5 := {[i]     -> [2,i,0,0,0]};
# 
# 
# 
# codegen T1:I1,T2:I2,T3:I3,T4:I4,T5:I5;
for(t5 = 1; t5 <= n; t5++) {
  s3(t5);
}
for(t2 = 1; t2 <= n-1; t2++) {
  for(t5 = 0; t5 <= n-t2-1; t5++) {
    s1(t2,n-t5);
  }
  for(t4 = 0; t4 <= n-t2-1; t4++) {
    for(t5 = t2+1; t5 <= n; t5++) {
      s2(t2,n-t4,t5);
    }
  }
}
for(t2 = 1; t2 <= n; t2++) {
  s5(t2);
  for(t4 = t2+1; t4 <= n; t4++) {
    s4(t4,t2);
  }
}

#