Classes | Defines | Typedefs | Functions

scop.h File Reference

#include <unistd.h>
#include <scoplib/macros.h>
#include <scoplib/matrix.h>
#include <scoplib/statement.h>
#include <scoplib/vector.h>
Include dependency graph for scop.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  scoplib_scop

Defines

#define SCOPLIB_RELEASE   "0.2.1"
#define SCOPLIB_VERSION   "64"
#define SCOPLIB_INT_T_IS_LONGLONG

Typedefs

typedef struct scoplib_scop scoplib_scop_t
typedef struct scoplib_scopscoplib_scop_p

Functions

void scoplib_scop_print_structure (FILE *, scoplib_scop_p, int)
void scoplib_scop_print (FILE *, scoplib_scop_p)
void scoplib_scop_print_dot_scop (FILE *, scoplib_scop_p)
void scoplib_scop_print_dot_scop_options (FILE *file, scoplib_scop_p scop, int options)
scoplib_scop_p scoplib_scop_read (FILE *)
char * scoplib_scop_tag_content (scoplib_scop_p, char *, char *)
char * scoplib_scop_tag_content_from_string (char *, char *, char *)
scoplib_scop_p scoplib_scop_malloc ()
void scoplib_scop_free (scoplib_scop_p)
scoplib_scop_p scoplib_scop_dup (scoplib_scop_p)
void scoplib_scop_shallow_free (scoplib_scop_p)
scoplib_scop_p scoplib_scop_shallow_copy (scoplib_scop_p)
void scoplib_scop_normalize_schedule (scoplib_scop_p)

Define Documentation

#define SCOPLIB_INT_T_IS_LONGLONG
#define SCOPLIB_RELEASE   "0.2.1"
#define SCOPLIB_VERSION   "64"

Typedef Documentation

typedef struct scoplib_scop* scoplib_scop_p
typedef struct scoplib_scop scoplib_scop_t

Function Documentation

scoplib_scop_p scoplib_scop_dup ( scoplib_scop_p  scop  ) 
void scoplib_scop_free ( scoplib_scop_p  scop  ) 

scoplib_scop_free function: This function frees the allocated memory for a scoplib_scop_t structure.

Parameters:
scop The pointer to the scop we want to free.
  • 30/04/2008: first version.

References scoplib_scop::arrays, scoplib_scop::context, scoplib_scop::nb_arrays, scoplib_scop::nb_parameters, scoplib_scop::optiontags, scoplib_scop::parameters, scoplib_matrix_free(), scoplib_statement_free(), and scoplib_scop::statement.

scoplib_scop_p scoplib_scop_malloc (  ) 

scoplib_scop_malloc function: This function allocates the memory space for a scoplib_scop_t structure and sets its fields with default values. Then it returns a pointer to the allocated space.

  • 30/04/2008: first version.

References scoplib_scop::arrays, scoplib_scop::context, scoplib_scop::nb_arrays, scoplib_scop::nb_parameters, scoplib_scop::optiontags, scoplib_scop::parameters, scoplib_scop::statement, and scoplib_scop::usr.

Referenced by scoplib_scop_dup(), scoplib_scop_read(), and scoplib_scop_shallow_copy().

void scoplib_scop_normalize_schedule ( scoplib_scop_p  scop  ) 

scoplib_scop_normalize_schedule function:

This function normalize the beta part of the 2d+1 schedules

Parameters:
scop The scop whose information have to be printed.

References scoplib_statement::nb_iterators, scoplib_matrix::NbColumns, scoplib_matrix::NbRows, scoplib_statement::next, scoplib_matrix::p, scoplib_statement::schedule, SCOPVAL_get_si, SCOPVAL_set_si, and scoplib_scop::statement.

void scoplib_scop_print ( FILE *  file,
scoplib_scop_p  scop 
)

scoplib_scop_print function: This function prints the content of a scoplib_scop_t structure (*scop) into a file (file, possibly stdout).

Parameters:
file File where informations are printed.
scop The scop whose information have to be printed.
  • 30/04/2008: first version.

References scoplib_scop_print_structure().

void scoplib_scop_print_dot_scop ( FILE *  file,
scoplib_scop_p  scop 
)

scoplib_scop_print_dot_scop function: This function prints the content of a scoplib_scop_t structure (*scop) into a file (file, possibly stdout) for the .scop format.

Parameters:
file File where informations are printed.
scop The scop whose information have to be printed.
  • 02/05/2008: first version.

References scoplib_scop_print_dot_scop_().

void scoplib_scop_print_dot_scop_options ( FILE *  file,
scoplib_scop_p  scop,
int  options 
)

scoplib_scop_print_dot_scop_castle function: This function prints the content of a scoplib_scop_t structure (*scop) into a file (file, possibly stdout) for the .scop format, with the castle.

Parameters:
file File where informations are printed.
scop The scop whose information have to be printed.
  • 02/05/2008: first version.

References SCOPLIB_SCOP_PRINT_ARRAYSTAG, SCOPLIB_SCOP_PRINT_CASTLE, and scoplib_scop_print_dot_scop_().

void scoplib_scop_print_structure ( FILE *  file,
scoplib_scop_p  scop,
int  level 
)

scoplib_scop_print_structure function: Displays a scoplib_scop_t structure (*scop) into a file (file, possibly stdout) in a way that trends to be understandable without falling in a deep depression or, for the lucky ones, getting a headache... It includes an indentation level (level) in order to work with others print_structure functions.

Parameters:
file File where informations are printed.
scop The scop whose information have to be printed.
level Number of spaces before printing, for each line.
  • 30/04/2008: first version.

References scoplib_scop::arrays, scoplib_scop::context, scoplib_scop::nb_arrays, scoplib_scop::nb_parameters, scoplib_scop::parameters, scoplib_matrix_print_structure(), scoplib_statement_print_structure(), and scoplib_scop::statement.

Referenced by scoplib_scop_print().

scoplib_scop_p scoplib_scop_read ( FILE *  file  ) 
scoplib_scop_p scoplib_scop_shallow_copy ( scoplib_scop_p  scop  ) 
void scoplib_scop_shallow_free ( scoplib_scop_p  scop  ) 

scoplib_scop_shallow_free function:

This function frees the allocated memory for a scoplib_scop_t structure, without touching the content of arrays, parameters and iterators fields.

Parameters:
scop The pointer to the scop we want to free.
  • 06/07/2011: first version.

References scoplib_scop::arrays, scoplib_scop::context, scoplib_scop::optiontags, scoplib_scop::parameters, scoplib_matrix_free(), scoplib_statement_shallow_free(), and scoplib_scop::statement.

char* scoplib_scop_tag_content ( scoplib_scop_p  scop,
char *  tag,
char *  endtag 
)

scoplib_scop_tag_content function: This function returns a freshly allocated string containing the content, in the optional tags section, between the tag 'tag' and the tag 'endtag'. If the tag 'tag' is not found, returns NULL.

References scoplib_scop::optiontags, and scoplib_scop_tag_content_from_string().

Referenced by scoplib_scop_print_dot_scop_(), and scoplib_scop_read().

char* scoplib_scop_tag_content_from_string ( char *  str,
char *  tag,
char *  endtag 
)

scoplib_scop_tag_content_from_string function: This function returns a freshly allocated string containing the content, in the given string 'str', between the tag 'tag' and the tag 'endtag'. If the tag 'tag' is not found, returns NULL.

Referenced by scoplib_scop_tag_content().