====== Namespace std::bit ======
This namespace contains bit-manipulation functions that can make the ACT description more legible.
export template function repeat(int x) : int;
This concatenates ''N'' copies of the ''W''-bit input ''x'' to create an output of width ''N*W''.
export template function sign_extend(int x) : int;
This sign-extends the integer ''x'' (bitwidth ''W'') to bitwidth ''W2''. ''W2'' must be strictly larger than ''W''.
export template function rol(int x) : int;
Left rotate the ''W'' bit integer by 1. The MSB of ''x'' becomes the LSB of the result (rotating shift).
export template function ror(int x) : int;
Right rotate ''x'' by one, with the LSB of ''x'' becoming the MSB of the result.
export template function find_msb_pos(int x) : int;
This function assumes that ''x'' is non-zero, and returns the bit position of the most significant one in ''x''.
export template function popcount(int x) : int;
This function returns a count of the number of bits of ''x'' that are set to 1.