Merge branch 'master' of github.com:periscop/openscop
[openscop.git] / tests / polynom.scop
blob26db5d8151189055257652f30f7b36fd53f661d1
1 #                                                     
2 #          <|                                         
3 #           A                                         
4 #          /.\                                       
5 #     <|  [""M#                                     
6 #      A   | #            Clan McCloog Castle         
7 #     /.\ [""M#           [Generated by the OpenScop Library 0.3.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 <OpenScop>
30 # =============================================== Global
31 # Language
34 # Context
35 CONTEXT
36 1 3 0 0 0 1
37 # e/i  N   1
38    1   1   3
40 # Parameter names are provided
42 # Parameter names
43 <strings>
45 </strings>
47 # Number of statements
50 # =============================================== Statement 1
51 # Number of relations describing the statement
54 # ----------------------------------------------  1.1 Domain
55 DOMAIN
57 4 5 2 0 0 1
58 # e/i   i    j    N    1
59    1    1    0    0    0    ## i >= 0
60    1   -1    0    1   -1    ## -i+N-1 >= 0
61    1    0    1    0    0    ## j >= 0
62    1    0   -1    1   -1    ## -j+N-1 >= 0
63 5 5 2 0 0 1
64 # e/i   i    j    N    1
65    1    1    0    0    0    ## i >= 0
66    1   -1    0    1   -1    ## -i+N-1 >= 0
67    1    0    1    0    0    ## j >= 0
68    1    0   -1    1   -1    ## -j+N-1 >= 0
69    1    0   -1    1   -1    ## -j+N-1 >= 0
71 # ----------------------------------------------  1.2 Scattering
72 SCATTERING
73 5 10 5 2 0 1
74 # e/i  s1   s2   s3   s4   s5    i    j    N    1
75    0   -1    0    0    0    0    0    0    0    0    ## 0
76    0    0   -1    0    0    0    1    0    0    0    ## i
77    0    0    0   -1    0    0    0    0    0    0    ## 0
78    0    0    0    0   -1    0    0    1    0    0    ## j
79    0    0    0    0    0   -1    0    0    0    0    ## 0
81 # ----------------------------------------------  1.3 Access
82 READ
83 2 7 2 2 0 1
84 # e/i  Arr  [1]   i    j    N    1
85    0   -1    0    0    0    0    1    ## C[i+j]
86    0    0   -1    1    1    0    0    ##
88 READ
89 2 7 2 2 0 1
90 # e/i  Arr  [1]   i    j    N    1
91    0   -1    0    0    0    0    2    ## A[i]
92    0    0   -1    1    0    0    0    ##
94 READ
95 2 7 2 2 0 1
96 # e/i  Arr  [1]   i    j    N    1
97    0   -1    0    0    0    0    3    ## B[j]
98    0    0   -1    0    1    0    0    ##
100 WRITE
101 2 7 2 2 0 1
102 # e/i  Arr  [1]   i    j    N    1
103    0   -1    0    0    0    0    1    ## C[i+j]
104    0    0   -1    1    1    0    0    ##
106 # ----------------------------------------------  1.4 Body
107 # Statement body is provided
110 <body>
111 # Number of original iterators
113 # Original iterator names
114 i j 
115 # Statement body
116 C[i+j]+=A[i]*B[j];
117 </body>
119 # =============================================== Options
120 <arrays>
122 1 C
123 2 A
124 3 B
125 </arrays>
127 <comment>
128 hello, world
130 HELLO WORLD I SAID
131 </comment>
133 </OpenScop>