#include void keke_swap(void *a, void *b, size_t size) { char *aa = a; char *bb = b; for(size_t i = 0; i < size; i++) { aa[i] ^= bb[i]; bb[i] ^= aa[i]; aa[i] ^= bb[i]; } } size_t next_power_of_two(size_t s) { size_t t = 1; while(t < s) t <<= 1; return t; }