Candl 0.6.0
|
00001 00037 #ifndef CANDL_PROGRAM_H 00038 # define CANDL_PROGRAM_H 00039 00040 # include <stdio.h> 00041 # include <stdlib.h> 00042 # include <candl/matrix.h> 00043 # include <candl/statement.h> 00044 00045 # ifdef CANDL_SUPPORTS_SCOPLIB 00046 # include <scoplib/scop.h> 00047 # endif 00048 00049 00050 # if defined(__cplusplus) 00051 extern "C" 00052 { 00053 # endif 00054 00059 struct candl_program 00060 { 00061 CandlMatrix * context; 00062 int nb_statements; 00063 CandlStatement ** statement; 00066 CandlMatrix ** transformation; 00071 int* scalars_privatizable; 00072 }; 00073 typedef struct candl_program CandlProgram; 00074 typedef struct candl_program candl_program_t; 00075 typedef struct candl_program * candl_program_p; 00076 00077 00078 /****************************************************************************** 00079 * Structure display function * 00080 ******************************************************************************/ 00081 void candl_program_print_structure(FILE *, candl_program_p, int); 00082 void candl_program_print(FILE *, candl_program_p); 00083 void candl_program_print_candl_file(FILE *, candl_program_p); 00084 00085 /****************************************************************************** 00086 * Memory alloc/dealloc function * 00087 ******************************************************************************/ 00088 candl_program_p candl_program_malloc(); 00089 void candl_program_free(candl_program_p); 00090 00091 00092 /****************************************************************************** 00093 * Reading function * 00094 ******************************************************************************/ 00095 candl_program_p candl_program_read(FILE *); 00096 /* This function is compiled if candl was configured with CLAN support. */ 00097 # ifdef CANDL_SUPPORTS_SCOPLIB 00098 candl_program_p candl_program_read_scop(FILE *); 00099 # endif 00100 00101 /****************************************************************************** 00102 * Processing functions * 00103 ******************************************************************************/ 00104 /* This function is compiled if candl was configured with CLAN support. */ 00105 # ifdef CANDL_SUPPORTS_SCOPLIB 00106 candl_program_p candl_program_convert_scop(scoplib_scop_p, int**); 00107 # endif 00108 00109 # if defined(__cplusplus) 00110 } 00111 # endif 00112 #endif /* define CANDL_PROGRAM_H */ 00113