00001 00037 #ifndef CANDL_VIOLATION_H 00038 # define CANDL_VIOLATION_H 00039 00040 # include <stdio.h> 00041 # include <candl/dependence.h> 00042 # include <candl/matrix.h> 00043 00044 # if defined(__cplusplus) 00045 extern "C" 00046 { 00047 # endif 00048 00049 00054 struct candlviolation 00055 { CandlDependence * dependence; 00056 int dimension; 00057 CandlMatrix * domain; 00058 struct candlviolation * next; 00059 }; 00060 typedef struct candlviolation CandlViolation; 00061 00062 00063 /****************************************************************************** 00064 * Structure display function * 00065 ******************************************************************************/ 00066 void candl_violation_print_structure(FILE *, CandlViolation *, int); 00067 void candl_violation_print(FILE *, CandlViolation *); 00068 void candl_violation_pprint(FILE *, CandlViolation *); 00069 void candl_violation_view(CandlViolation *); 00070 00071 00072 /****************************************************************************** 00073 * Memory deallocation function * 00074 ******************************************************************************/ 00075 void candl_violation_free(CandlViolation *); 00076 00077 00078 /****************************************************************************** 00079 * Processing functions * 00080 ******************************************************************************/ 00081 CandlViolation * candl_violation_malloc(); 00082 void candl_violation_add(CandlViolation **, CandlViolation **, 00083 CandlViolation *); 00084 CandlViolation * candl_violation(CandlProgram *, CandlDependence *, 00085 CandlOptions *); 00086 00087 00088 # if defined(__cplusplus) 00089 } 00090 # endif 00091 #endif /* define CANDL_VIOLATION_H */ 00092