• Main Page
  • Classes
  • Files
  • File List
  • File Members

ddv.h

Go to the documentation of this file.
00001 
00042 #ifndef CANDL_DDV_H
00043 # define CANDL_DDV_H
00044 
00045 
00046 # include <stdio.h>
00047 # include <candl/statement.h>
00048 # include <candl/matrix.h>
00049 # include <candl/program.h>
00050 # include <candl/options.h>
00051 # include <candl/dependence.h>
00052 
00053 
00054 
00055 # if defined(__cplusplus)
00056 extern "C"
00057   {
00058 # endif
00059 
00060 
00061 
00062 /******************************************************************************
00063  *                        Dependence Distance structures                      *
00064  ******************************************************************************/
00065 
00085     enum dv_type {
00086       candl_dv_scalar, candl_dv_plus, candl_dv_minus, candl_dv_star, candl_dv_eq
00087     };
00088     typedef enum dv_type e_dv_type;
00089 
00095     struct dv_descriptor {
00096       e_dv_type type;
00097       int value;
00098     };
00099     typedef struct dv_descriptor s_dv_descriptor;
00100 
00105     struct candl_ddv {
00106       int loop_id;
00107       int length;
00108       s_dv_descriptor* data;
00109       struct candl_ddv* next;
00110     };
00111 
00112     typedef struct candl_ddv CandlDDV;
00113 
00114 
00115 
00116 
00117 /******************************************************************************
00118  *                         Memory deallocation function                       *
00119  ******************************************************************************/
00120 
00126 CandlDDV*
00127 candl_ddv_malloc();
00128 
00129 
00135 CandlDDV*
00136 candl_ddv_alloc(int);
00137 
00138 
00144 void
00145 candl_ddv_free(CandlDDV*);
00146 
00147 
00154 void
00155 candl_ddv_set_type_at(CandlDDV*, e_dv_type, int);
00156 
00164 void
00165 candl_ddv_set_value_at(CandlDDV*, int, int);
00166 
00167 
00168 /******************************************************************************
00169  *                          Structure display function                        *
00170  ******************************************************************************/
00171 
00172 
00177 void
00178 candl_ddv_print(FILE*, CandlDDV*);
00179 
00180 
00181 /******************************************************************************
00182  *                            Processing functions                            *
00183  ******************************************************************************/
00184 
00192 CandlDDV*
00193 candl_ddv_extract_in_loop(CandlProgram*, CandlDependence*, int);
00194 
00195 
00196 
00197 # if defined(__cplusplus)
00198   }
00199 # endif
00200 #endif /* define CANDL_DDV_H */
00201 

Generated on Fri Feb 11 2011 17:58:11 for Candl by  doxygen 1.7.1