initial version of ppcg
[ppcg.git] / clan / tests / matmul.c.scop
blobc1a0e8f187e3735ce8489fd5105152d2f8f1be4d
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 0 5
71 # Write access informations
72 2 5
73    1    1    0    0    0    ## c[i][j]
74    0    0    1    0    0    ##
76 # ----------------------------------------------  1.4 Body
77 # Statement body is provided
79 # Original iterator names
80 i j 
81 # Statement body
82 c[i][j]=0.0;
85 # =============================================== Statement 2
86 # ----------------------------------------------  2.1 Domain
87 # Iteration domain
89 6 6
90    1    1    0    0    0    0    ## i >= 0
91    1   -1    0    0    1   -1    ## -i+N-1 >= 0
92    1    0    1    0    0    0    ## j >= 0
93    1    0   -1    0    1   -1    ## -j+N-1 >= 0
94    1    0    0    1    0    0    ## k >= 0
95    1    0    0   -1    1   -1    ## -k+N-1 >= 0
97 # ----------------------------------------------  2.2 Scattering
98 # Scattering function is provided
100 # Scattering function
101 7 6
102    0    0    0    0    0    0    ## 0
103    0    1    0    0    0    0    ## i
104    0    0    0    0    0    0    ## 0
105    0    0    1    0    0    0    ## j
106    0    0    0    0    0    1    ## 1
107    0    0    0    1    0    0    ## k
108    0    0    0    0    0    0    ## 0
110 # ----------------------------------------------  2.3 Access
111 # Access informations are provided
113 # Read access informations
114 6 6
115    1    1    0    0    0    0    ## c[i][j]
116    0    0    1    0    0    0    ##
117    2    1    0    0    0    0    ## a[i][k]
118    0    0    0    1    0    0    ##
119    3    0    0    1    0    0    ## b[k][j]
120    0    0    1    0    0    0    ##
121 # Write access informations
122 2 6
123    1    1    0    0    0    0    ## c[i][j]
124    0    0    1    0    0    0    ##
126 # ----------------------------------------------  2.4 Body
127 # Statement body is provided
129 # Original iterator names
130 i j k 
131 # Statement body
132 c[i][j]=c[i][j]+a[i][k]*b[k][j];
135 # =============================================== Options
136 <arrays>
138 1 c
139 2 a
140 3 b
141 </arrays>