First commit : 0.14.0 version (with roadmap in doc instead of
[cloog/uuh.git] / include / cloog / names.h
blob2334705df3d5a461264d0883e8772ea079696210
2 /**-------------------------------------------------------------------**
3 ** CLooG **
4 **-------------------------------------------------------------------**
5 ** names.h **
6 **-------------------------------------------------------------------**
7 ** First version: august 1st 2002 **
8 **-------------------------------------------------------------------**/
11 /******************************************************************************
12 * CLooG : the Chunky Loop Generator (experimental) *
13 ******************************************************************************
14 * *
15 * Copyright (C) 2001-2005 Cedric Bastoul *
16 * *
17 * This is free software; you can redistribute it and/or modify it under the *
18 * terms of the GNU General Public License as published by the Free Software *
19 * Foundation; either version 2 of the License, or (at your option) any later *
20 * version. *
21 * *
22 * This software is distributed in the hope that it will be useful, but *
23 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
24 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
25 * for more details. *
26 * *
27 * You should have received a copy of the GNU General Public License along *
28 * with software; if not, write to the Free Software Foundation, Inc., *
29 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
30 * *
31 * CLooG, the Chunky Loop Generator *
32 * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr *
33 * *
34 ******************************************************************************/
37 #ifndef CLOOG_NAMES_H
38 #define CLOOG_NAMES_H
39 #if defined(__cplusplus)
40 extern "C"
42 #endif
45 # define MAX_NAME 50
46 # define FIRST_PARAMETER 'M'
47 # define FIRST_ITERATOR 'i'
50 /**
51 * CloogNames structure:
52 * this structure contains all the informations about parameter and iterator
53 * names (as strings).
55 struct cloognames
56 { int nb_scalars ; /**< Scalar dimension number. */
57 int nb_scattering ; /**< Scattering iterator number. */
58 int nb_iterators ; /**< Iterator number. */
59 int nb_parameters ; /**< Parameter number. */
60 char ** scalars ; /**< The scalar names (an array of strings). */
61 char ** scattering ; /**< The scattering names (an array of strings). */
62 char ** iterators ; /**< The iterator names (an array of strings). */
63 char ** parameters ; /**< The parameter names (an array of strings). */
64 } ;
65 typedef struct cloognames CloogNames ;
68 /******************************************************************************
69 * Structure display function *
70 ******************************************************************************/
71 void cloog_names_print_structure(FILE *, CloogNames *, int) ;
72 void cloog_names_print(FILE *, CloogNames *) ;
75 /******************************************************************************
76 * Memory deallocation function *
77 ******************************************************************************/
78 void cloog_names_free(CloogNames *) ;
81 /******************************************************************************
82 * Reading functions *
83 ******************************************************************************/
84 char ** cloog_names_read_strings(FILE *, int, char *, char) ;
87 /******************************************************************************
88 * Processing functions *
89 ******************************************************************************/
90 CloogNames * cloog_names_malloc() ;
91 CloogNames * cloog_names_alloc(int,int,int,int,char **,char **,char **,char **);
92 char ** cloog_names_generate_items(int, char *, char) ;
93 CloogNames * cloog_names_generate(int, int, int, int, char, char, char, char) ;
94 void cloog_names_scalarize(CloogNames *, int, int *) ;
96 #if defined(__cplusplus)
98 #endif
99 #endif /* define _H */