initial version of ppcg
[ppcg.git] / clan / tests / gemver.c.scop
blob325149260ee73945e0ff4c4f3ecaefb54580a59c
1 #                                                   
2 #          <|                                       
3 #           A                                       
4 #          /.\                                     
5 #     <|  [""M#                                   
6 #      A   | #              Clan McCloog Castle     
7 #     /.\ [""M#             [File generated by Clan 0.5.0 64 bits]
8 #    [""M# | #  U"U#U                            
9 #     | #  | #  \ .:/                              
10 #     | #  | #___| #                                
11 #     | "--'     .-"                              
12 #   |"-"-"-"-"-#-#-##                          
13 #   |     # ## ######                               
14 #    \       .::::'/                               
15 #     \      ::::'/                                
16 #   :8a|    # # ##                                  
17 #   ::88a      ###                                  
18 #  ::::888a  8a ##::.                               
19 #  ::::::888a88a[]::::                              
20 # :::::::::SUNDOGa8a::::. ..                        
21 # :::::8::::888:Y8888:::::::::...                   
22 #::':::88::::888::Y88a______________________________________________________
23 #:: ::::88a::::88a:Y88a                                  __---__-- __
24 #' .: ::Y88a:::::8a:Y88a                            __----_-- -------_-__
25 #  :' ::::8P::::::::::88aa.                   _ _- --  --_ --- __  --- __--
26 #.::  :::::::::::::::::::Y88as88a...s88aa.
28 SCoP
30 # =============================================== Global
31 # Language
34 # Context
35 0 3
37 # Parameter names are provided
39 # Parameter names
40
42 # Number of statements
45 # =============================================== Statement 1
46 # ----------------------------------------------  1.1 Domain
47 # Iteration domain
49 4 5
50    1    1    0    0    0    ## i >= 0
51    1   -1    0    1   -1    ## -i+N-1 >= 0
52    1    0    1    0    0    ## j >= 0
53    1    0   -1    1   -1    ## -j+N-1 >= 0
55 # ----------------------------------------------  1.2 Scattering
56 # Scattering function is provided
58 # Scattering function
59 5 5
60    0    0    0    0    0    ## 0
61    0    1    0    0    0    ## i
62    0    0    0    0    0    ## 0
63    0    0    1    0    0    ## j
64    0    0    0    0    0    ## 0
66 # ----------------------------------------------  1.3 Access
67 # Access informations are provided
69 # Read access informations
70 6 5
71    1    1    0    0    0    ## A[i][j]
72    0    0    1    0    0    ##
73    2    1    0    0    0    ## u1[i]
74    3    0    1    0    0    ## v1[j]
75    4    1    0    0    0    ## u2[i]
76    5    0    1    0    0    ## v2[j]
77 # Write access informations
78 2 5
79    1    1    0    0    0    ## A[i][j]
80    0    0    1    0    0    ##
82 # ----------------------------------------------  1.4 Body
83 # Statement body is provided
85 # Original iterator names
86 i j 
87 # Statement body
88 A[i][j]=A[i][j]+u1[i]*v1[j]+u2[i]*v2[j];
91 # =============================================== Statement 2
92 # ----------------------------------------------  2.1 Domain
93 # Iteration domain
95 4 5
96    1    1    0    0    0    ## i >= 0
97    1   -1    0    1   -1    ## -i+N-1 >= 0
98    1    0    1    0    0    ## j >= 0
99    1    0   -1    1   -1    ## -j+N-1 >= 0
101 # ----------------------------------------------  2.2 Scattering
102 # Scattering function is provided
104 # Scattering function
105 5 5
106    0    0    0    0    1    ## 1
107    0    1    0    0    0    ## i
108    0    0    0    0    0    ## 0
109    0    0    1    0    0    ## j
110    0    0    0    0    0    ## 0
112 # ----------------------------------------------  2.3 Access
113 # Access informations are provided
115 # Read access informations
116 5 5
117    6    1    0    0    0    ## x[i]
118    7    0    0    0    0    ## beta[0]
119    1    1    0    0    0    ## A[i][j]
120    0    0    1    0    0    ##
121    8    0    1    0    0    ## y[j]
122 # Write access informations
123 1 5
124    6    1    0    0    0    ## x[i]
126 # ----------------------------------------------  2.4 Body
127 # Statement body is provided
129 # Original iterator names
130 i j 
131 # Statement body
132 x[i]=x[i]+beta*A[i][j]*y[j];
135 # =============================================== Statement 3
136 # ----------------------------------------------  3.1 Domain
137 # Iteration domain
139 2 4
140    1    1    0    0    ## i >= 0
141    1   -1    1   -1    ## -i+N-1 >= 0
143 # ----------------------------------------------  3.2 Scattering
144 # Scattering function is provided
146 # Scattering function
147 3 4
148    0    0    0    2    ## 2
149    0    1    0    0    ## i
150    0    0    0    0    ## 0
152 # ----------------------------------------------  3.3 Access
153 # Access informations are provided
155 # Read access informations
156 2 4
157    6    1    0    0    ## x[i]
158    9    1    0    0    ## z[i]
159 # Write access informations
160 1 4
161    6    1    0    0    ## x[i]
163 # ----------------------------------------------  3.4 Body
164 # Statement body is provided
166 # Original iterator names
168 # Statement body
169 x[i]=x[i]+z[i];
172 # =============================================== Statement 4
173 # ----------------------------------------------  4.1 Domain
174 # Iteration domain
176 4 5
177    1    1    0    0    0    ## i >= 0
178    1   -1    0    1   -1    ## -i+N-1 >= 0
179    1    0    1    0    0    ## j >= 0
180    1    0   -1    1   -1    ## -j+N-1 >= 0
182 # ----------------------------------------------  4.2 Scattering
183 # Scattering function is provided
185 # Scattering function
186 5 5
187    0    0    0    0    3    ## 3
188    0    1    0    0    0    ## i
189    0    0    0    0    0    ## 0
190    0    0    1    0    0    ## j
191    0    0    0    0    0    ## 0
193 # ----------------------------------------------  4.3 Access
194 # Access informations are provided
196 # Read access informations
197 5 5
198   10    1    0    0    0    ## w[i]
199   11    0    0    0    0    ## alpha[0]
200    1    1    0    0    0    ## A[i][j]
201    0    0    1    0    0    ##
202    6    0    1    0    0    ## x[j]
203 # Write access informations
204 1 5
205   10    1    0    0    0    ## w[i]
207 # ----------------------------------------------  4.4 Body
208 # Statement body is provided
210 # Original iterator names
211 i j 
212 # Statement body
213 w[i]=w[i]+alpha*A[i][j]*x[j];
216 # =============================================== Options
217 <arrays>
219 1 A
220 2 u1
221 3 v1
222 4 u2
223 5 v2
224 6 x
225 7 beta
226 8 y
227 9 z
228 10 w
229 11 alpha
230 </arrays>