#include #ifdef __cplusplus extern "C" { #endif void PRINT_INT(int* i); void align_c(char *a, char *w, char *x, char *y, char *z) { unsigned long aw, ax, ay, az; int diff, diff4; aw = (unsigned long) w; ax = (unsigned long) x; ay = (unsigned long) y; az = (unsigned long) z; if (! ((aw%16)||(ax%16)||(ay%16)||(az%16))) { diff4 = 16; } else if (! ((aw%12)||(ax%12)||(ay%12)||(az%12))) { diff4 = 12; } else if (! ((aw%8)||(ax%8)||(ay%8)||(az%8))) { diff4 = 8; } else if (! ((aw%4)||(ax%4)||(ay%4)||(az%4))) { diff4 = 4; } else if (! ((aw%2)||(ax%2)||(ay%2)||(az%2))) { diff4 = 2; } else { diff4 = 1; } diff = a - w; diff = (diff >= 0) ? diff : -diff; *a = diff; assert(diff4 == diff); } void align_c_(char *a, char *w, char *x, char *y, char *z) { align_c(a, w, x, y, z); } void align_c__(char *a, char *w, char *x, char *y, char *z) { align_c(a, w, x, y, z); } void ALIGN_C(char *a, char *w, char *x, char *y, char *z) { align_c(a, w, x, y, z); } void ALIGN_C_(char *a, char *w, char *x, char *y, char *z) { align_c(a, w, x, y, z); } void ALIGN_C__(char *a, char *w, char *x, char *y, char *z) { align_c(a, w, x, y, z); } #ifdef __cplusplus } #endif