// Do not edit this file #include "bit_utils.h" unsigned int mask(unsigned int num, unsigned int bits) { return num & bits; } unsigned int set(unsigned int num, unsigned int bits) { return num | bits; } unsigned int inverse(unsigned int num, unsigned int bits) { return num ^ bits; } unsigned int bit_select(unsigned int num, unsigned int startbit, unsigned int endbit) { startbit++; num <<= (SIZE - startbit); num >>= (SIZE - startbit + endbit); return num; } unsigned int barrel_shift(unsigned int num, unsigned int shamt) { unsigned int right_bits = num << (sizeof(unsigned int) * 8 - shamt); return (num >> shamt) | right_bits; }