#pragma once #include #include "types.h" namespace vortex { template void unused(Args&&...) {} #define __unused(...) unused(__VA_ARGS__) Word signExt(Word w, Size bit, Word mask); Word bytesToWord(const Byte *b, Size wordSize); void wordToBytes(Byte *b, Word w, Size wordSize); Word flagsToWord(bool r, bool w, bool x); void wordToFlags(bool &r, bool &w, bool &x, Word f); Byte readByte(const std::vector &b, Size &n); Word readWord(const std::vector &b, Size &n, Size wordSize); void writeByte(std::vector &p, Size &n, Byte b); void writeWord(std::vector &p, Size &n, Size wordSize, Word w); }