//
// lcirc.inl
//
// Copyright (C) 1996-7 by Leonard Janke (janke@unixg.ubc.ca)

inline void LCirc::CirculateLeft(u32& circulateMe, int distance)
{
  circulateMe=circulateMe<<distance | circulateMe>>(32-distance);
}

inline void LCirc::CirculateRight(u32& circulateMe, int distance)
{
  circulateMe=circulateMe>>distance | circulateMe<<(32-distance);
}

inline u32 LCirc::LeftCirculation(const u32 preCirc, int distance)
{
  return preCirc<<distance | preCirc>>(32-distance);
}

inline u32 LCirc::RightCirculation(const u32 preCirc, int distance)
{
  return preCirc>>distance | preCirc<<(32-distance);
}
