99   for (j = 0; j < level; j++)
 
  100     fprintf(file, 
"|\t");
 
  103     fprintf(file, 
"+-- osl_scop_t\n");
 
  105     fprintf(file, 
"+-- NULL scop\n");
 
  107   while (scop != NULL) {
 
  110       for (j = 0; j < level; j++)
 
  111         fprintf(file, 
"|\t");
 
  112       fprintf(file, 
"|   osl_scop_t\n");
 
  118     for (j = 0; j <= level+1; j++)
 
  119       fprintf(file, 
"|\t");
 
  123     for (j = 0; j < level; j++)
 
  124       fprintf(file, 
"|\t");
 
  125     fprintf(file, 
"|\tVersion: %d\n", scop->
version);
 
  128     for (j = 0; j <= level+1; j++)
 
  129       fprintf(file, 
"|\t");
 
  133     for (j = 0; j < level; j++)
 
  134       fprintf(file, 
"|\t");
 
  135     fprintf(file, 
"|\tLanguage: %s\n", scop->
language);
 
  138     for (j = 0; j <= level+1; j++)
 
  139       fprintf(file, 
"|\t");
 
  161       for (j = 0; j <= level; j++)
 
  162         fprintf(file, 
"|\t");
 
  163       fprintf(file, 
"V\n");
 
  168   for (j = 0; j <= level; j++)
 
  169     fprintf(file, 
"|\t");
 
  194   int nb_parameters = OSL_UNDEFINED;
 
  195   int nb_iterators  = OSL_UNDEFINED;
 
  196   int nb_scattdims  = OSL_UNDEFINED;
 
  197   int nb_localdims  = OSL_UNDEFINED;
 
  198   int array_id      = OSL_UNDEFINED;
 
  201                           &nb_scattdims,  &nb_localdims, &array_id);
 
  219   int parameters_backedup = 0;
 
  220   int arrays_backedup = 0;
 
  227     fprintf(file, 
"# NULL scop\n");
 
  231     fprintf(file, 
"# [File generated by the OpenScop Library %s]\n",
 
  236     OSL_warning(
"OpenScop integrity check failed. Something may go wrong.");
 
  241   while (scop != NULL) {
 
  244       parameters_backedup = 1;
 
  251     if (arrays != NULL) {
 
  253       arrays_backup = names->
arrays;
 
  257     fprintf(file, 
"\n<"OSL_URI_SCOP
">\n\n");
 
  258     fprintf(file, 
"# =============================================== " 
  260     fprintf(file, 
"# Language\n");
 
  261     fprintf(file, 
"%s\n\n", scop->
language);
 
  263     fprintf(file, 
"# Context\n");
 
  272     fprintf(file, 
"\n# Number of statements\n");
 
  278       fprintf(file, 
"# =============================================== " 
  282     fprintf(file, 
"\n</"OSL_URI_SCOP
">\n\n");
 
  285     if (parameters_backedup) {
 
  286       parameters_backedup = 0;
 
  291     if (arrays_backedup) {
 
  294       names->
arrays = arrays_backup;
 
  312   int parameters_backedup = 0;
 
  313   int arrays_backedup = 0;
 
  320     fprintf(file, 
"# NULL scop\n");
 
  324     fprintf(file, 
"# [File generated by the OpenScop Library %s]\n" 
  325                   "# [SCoPLib format]\n",
 
  330     OSL_error(
"SCoP integrity check failed. Something may go wrong.");
 
  337   while (scop != NULL) {
 
  340       parameters_backedup = 1;
 
  347     if (arrays != NULL) {
 
  349       arrays_backup = names->
arrays;
 
  353     fprintf(file, 
"\nSCoP\n\n");
 
  354     fprintf(file, 
"# =============================================== " 
  356     fprintf(file, 
"# Language\n");
 
  357     fprintf(file, 
"%s\n\n", scop->
language);
 
  359     fprintf(file, 
"# Context\n");
 
  369       fprintf(file, 
"# Parameter names\n");
 
  373     fprintf(file, 
"\n# Number of statements\n");
 
  379       fprintf(file, 
"# =============================================== " 
  385     if (parameters_backedup) {
 
  386       parameters_backedup = 0;
 
  391     if (arrays_backedup) {
 
  394       names->
arrays = arrays_backup;
 
  441       OSL_debug(
"no more scop in the file");
 
  458       OSL_error(
"no language (backend) specified");
 
  461       OSL_warning(
"uninterpreted information (after language)");
 
  463     if (language != NULL) {
 
  464       OSL_strdup(scop->language, language->
string[0]);
 
  482     for (i = 0; i < nb_statements; i++) {
 
  485       if (scop->statement == NULL)
 
  486         scop->statement = stmt;
 
  505       current->
next = scop;
 
  511     OSL_warning(
"scop integrity check failed");
 
  573   while (scop != NULL) {
 
  602   while (*location != NULL)
 
  603     location = &((*location)->next);
 
  619   while (scop != NULL) {
 
  636   osl_scop_p clone = NULL, node, previous = NULL;
 
  639   while (scop != NULL) {
 
  643       OSL_strdup(node->language, scop->
language);
 
  656       previous->
next = node;
 
  657       previous = previous->
next;
 
  677   while ((s1 != NULL) && (s2 != NULL)) {
 
  682       OSL_info(
"versions are not the same"); 
 
  687       OSL_info(
"languages are not the same"); 
 
  692       OSL_info(
"contexts are not the same"); 
 
  697       OSL_info(
"parameters are not the same"); 
 
  702       OSL_info(
"statements are not the same"); 
 
  707       OSL_info(
"registries are not the same"); 
 
  712       OSL_info(
"extensions are not the same"); 
 
  720   if (((s1 == NULL) && (s2 != NULL)) || ((s1 != NULL) && (s2 == NULL)))
 
  735   int expected_nb_parameters;
 
  738   while (scop != NULL) {
 
  743       fprintf(stderr, 
"[OpenScop] Alert: What ?! Caml ?! Are you sure ?!?!\n");
 
  757       expected_nb_parameters = OSL_UNDEFINED;
 
  762                                        expected_nb_parameters))
 
  783   if (scop->
next != NULL)
 
  785   if (scop == NULL || scop->
statement == NULL)
 
  795   while (statement != NULL) {
 
  799       OSL_error(
"Local dims in scattering matrix");
 
  803     domain = statement->
domain;
 
  804     while (domain != NULL) {
 
  806         OSL_error(
"Local dims in domain matrix");
 
  809       domain = domain->
next;
 
  814     for (i = 0 ; i < scattering->
nb_rows ; i++) {
 
  818             OSL_error(
"Wrong -Identity");
 
  823             OSL_error(
"Wrong -Identity");
 
  830     statement = statement->
next;
 
  846     OSL_debug(
"no context domain, assuming 0 parameters");
 
  866   char * extension_string;
 
  868   if ((interface != NULL) && (scop != NULL)) {
 
  872     if (textual != NULL) {
 
  905   int local_nb_parameters = OSL_UNDEFINED;
 
  906   int local_nb_iterators  = OSL_UNDEFINED;
 
  907   int local_nb_scattdims  = OSL_UNDEFINED;
 
  908   int local_nb_localdims  = OSL_UNDEFINED;
 
  909   int local_array_id      = OSL_UNDEFINED;
 
  911   while (scop != NULL) {
 
  913                                 &local_nb_parameters,
 
  920                                 &local_nb_parameters,
 
  926     *nb_parameters = OSL_max(*nb_parameters, local_nb_parameters);
 
  927     *nb_iterators  = OSL_max(*nb_iterators,  local_nb_iterators);
 
  928     *nb_scattdims  = OSL_max(*nb_scattdims,  local_nb_scattdims);
 
  929     *nb_localdims  = OSL_max(*nb_localdims,  local_nb_localdims);
 
  930     *array_id      = OSL_max(*array_id,      local_array_id);
 
  944   int max_scattering_dims = 0;
 
  948   if ((scop != NULL) && (scop->
statement != NULL)) {
 
  951     while (statement != NULL) {
 
  953         max_scattering_dims = OSL_max(max_scattering_dims,
 
  956       statement = statement->
next;
 
  961     while (statement != NULL) {
 
  964                                               max_scattering_dims);
 
  968       statement = statement->
next;
 
osl_strings_p osl_arrays_to_strings(osl_arrays_p arrays)
void osl_relation_free(osl_relation_p relation)
osl_names_p osl_names_generate(char *parameter_prefix, int nb_parameters, char *iterator_prefix, int nb_iterators, char *scatt_dim_prefix, int nb_scatt_dims, char *local_dim_prefix, int nb_local_dims, char *array_prefix, int nb_arrays)
int osl_interface_equal(osl_interface_p interface1, osl_interface_p interface2)
int osl_scop_equal(osl_scop_p s1, osl_scop_p s2)
int osl_scop_integrity_check(osl_scop_p scop)
void osl_scop_free(osl_scop_p scop)
void osl_scop_dump(FILE *file, osl_scop_p scop)
void osl_scop_add(osl_scop_p *location, osl_scop_p scop)
void osl_interface_free(osl_interface_p interface)
void osl_scop_print(FILE *file, osl_scop_p scop)
int osl_scop_get_nb_parameters(osl_scop_p scop)
int osl_statement_number(osl_statement_p statement)
struct osl_relation * next
osl_statement_p osl_statement_pread(FILE *file, osl_interface_p registry, int precision)
int osl_statement_equal(osl_statement_p s1, osl_statement_p s2)
osl_statement_p osl_statement_clone(osl_statement_p statement)
int osl_int_mone(int precision, osl_const_int_t value)
value == -1 
size_t osl_scop_number(osl_scop_p scop)
osl_interface_p osl_interface_clone(osl_interface_p interface)
void osl_statement_free(osl_statement_p statement)
void * osl_generic_lookup(osl_generic_p x, char const *const URI)
struct osl_textual * osl_textual_p
void osl_generic_add(osl_generic_p *list, osl_generic_p generic)
void osl_interface_idump(FILE *file, osl_interface_p interface, int level)
void osl_interface_add(osl_interface_p *list, osl_interface_p interface)
void osl_scop_print_scoplib(FILE *file, osl_scop_p scop)
void osl_statement_pprint_scoplib(FILE *file, osl_statement_p statement, osl_names_p names)
void osl_relation_pprint(FILE *file, osl_relation_p relation, osl_names_p names)
void osl_scop_register_extension(osl_scop_p scop, osl_interface_p interface)
int osl_generic_has_URI(osl_const_generic_const_p x, char const *const URI)
osl_relation_p scattering
int osl_relation_equal(osl_relation_p r1, osl_relation_p r2)
void osl_relation_idump(FILE *file, osl_relation_p relation, int level)
osl_generic_p osl_generic_read(FILE *file, osl_interface_p registry)
int osl_util_get_precision()
osl_strings_p osl_strings_read(FILE *file)
void osl_relation_pprint_scoplib(FILE *file, osl_relation_p relation, osl_names_p names, int print_nth_part, int add_fakeiter)
int osl_scop_check_compatible_scoplib(osl_scop_p scop)
osl_generic_p osl_generic_read_one(FILE *file, osl_interface_p registry)
size_t osl_strings_size(osl_const_strings_const_p strings)
void osl_statement_get_attributes(osl_statement_p statement, int *nb_parameters, int *nb_iterators, int *nb_scattdims, int *nb_localdims, int *array_id)
osl_scop_p osl_scop_clone(osl_scop_p scop)
void osl_relation_get_attributes(osl_relation_p relation, int *nb_parameters, int *nb_iterators, int *nb_scattdims, int *nb_localdims, int *array_id)
void osl_names_free(osl_names_p names)
int osl_relation_integrity_check(osl_relation_p relation, int expected_type, int expected_nb_output_dims, int expected_nb_input_dims, int expected_nb_parameters)
int osl_statement_integrity_check(osl_statement_p statement, int expected_nb_parameters)
void osl_generic_idump(FILE *file, osl_generic_p generic, int level)
int osl_util_read_int(FILE *file, char **str)
osl_names_p osl_scop_names(osl_scop_p scop)
void osl_strings_print(FILE *file, osl_strings_p strings)
osl_generic_p osl_generic_sread(char **input, osl_interface_p registry)
void osl_util_print_provided(FILE *file, int provided, char *title)
osl_relation_p osl_relation_clone(osl_relation_p relation)
void osl_statement_pprint(FILE *file, osl_statement_p statement, osl_names_p names)
void osl_strings_free(osl_strings_p strings)
void osl_scop_idump(FILE *file, osl_scop_p scop, int level)
osl_interface_p osl_interface_get_default_registry()
void osl_generic_print_options_scoplib(FILE *file, osl_generic_p generic)
int osl_generic_equal(osl_generic_p x1, osl_generic_p x2)
osl_generic_p osl_generic_clone(osl_generic_p generic)
int osl_int_zero(int precision, osl_const_int_t value)
value == 0 
osl_relation_p osl_relation_extend_output(osl_relation_p relation, int dim)
void osl_scop_normalize_scattering(osl_scop_p scop)
char * osl_util_read_uptotag(FILE *file, char **str, char *name)
osl_relation_p osl_relation_pread(FILE *foo, int precision)
void osl_statement_idump(FILE *file, osl_statement_p statement, int level)
osl_statement_p statement
osl_scop_p osl_scop_pread(FILE *file, osl_interface_p registry, int precision)
void osl_scop_get_attributes(osl_scop_p scop, int *nb_parameters, int *nb_iterators, int *nb_scattdims, int *nb_localdims, int *array_id)
void osl_generic_print(FILE *file, osl_generic_p generic)
struct osl_statement * next
osl_scop_p osl_scop_read(FILE *foo)
void osl_generic_free(osl_generic_p generic)
osl_scop_p osl_scop_malloc()