CLooG 0.18.4
[cloog.git] / test / manual_scattering.cloog
bloba4b831adda7fea3b0e3f178623b4c6f1ff52fb1f
1 # ---------------------- CONTEXT ----------------------
2 c # language is C
4 # Context (no constraints on two parameters)
5 1 4                   # 1 lines and 4 columns
6 # eq/in m  n  1
7     1   0  0  0       # 0 >= 0, always true
9 1 # We want to set manually the parameter names
10 m n                   # parameter names
12 # --------------------- STATEMENTS --------------------
13 2 # Number of statements
15 2 # First statement: two domains
16 # First domain
17 3 5                   # 3 lines and 5 columns
18 # eq/in i  m  n  1
19     1   1  0  0 -1    # i >= 1
20     1  -1  0  1  0    # i <= n
21     1   1 -1  0  0    # i >= m
22 # Second domain
23 3 5                   # 3 lines and 5 columns
24 # eq/in i  m  n  1 
25     1   1  0  0 -1    # i >= 1
26     1  -1  0  1  0    # i <= n
27     1  -1  2  0  0    # i <= 2*m
28 0  0  0               # for future options
30 1 # Second statement: one domain
31 4 6                   # 4 lines and 6 columns
32 # eq/in i  j  m  n  1 
33     1   1  0  0  0 -1 # i >= 1
34     1  -1  0  0  1  0 # i <= n
35     1  -1  1  0  0 -1 # j >= i+1
36     1   0 -1  1  0  0 # j <= m
37 0  0  0               # for future options
39 1 # We want to set manually the iterator names
40 i j                   # iterator names
42 # --------------------- SCATTERING --------------------
43 2 # Scattering functions
44 # First function
45 2 7                   # 2 lines and 7 columns
46 # eq/in p1 p2  i  m  n  1 
47     0    1  0 -1  0  0  0    # p1 = i
48     0    0  1  0  0  0  0    # p2 = 0
49 # Second function
50 2 8                   # 2 lines and 8 columns
51 # eq/in p1 p2  i  j  m  n  1 
52     0    1  0  0  0  0 -1  0 # p1 = n
53     0    0  1 -1 -1  0  0  0 # p2 = i+j
55 1 # We want to set manually the scattering dimension names
56 p1 p2                 # scattering dimension names