// 36-Bit Word Class Implementation // -------------------------------- #include "Word36.hpp" const _int64 Word36::MASK = 0777777777777; const _int64 Word36::SIGN_BIT = 0400000000000; const _int64 Word36::MAXVALUE = 0377777777777; bool Word36::ovfl = false; Word36 Word36::rotate(SHORT n) // Rotate left {short count = n; while (count < 0) count += 36; // Normalize count %= 36; // shift count return *this << count | *this << (count-36); }