#include "rive/math/bit_field_loc.hpp"
#include <cassert>

using namespace rive;

BitFieldLoc::BitFieldLoc(uint32_t start, uint32_t end) : m_start(start)
{
  assert(end >= start);
  assert(end < 32);

  m_count = end - start + 1;
  m_mask = ((1 << (end - start + 1)) - 1) << start;
}

uint32_t BitFieldLoc::read(uint32_t bits) { return (bits & m_mask) >> m_start; }

uint32_t BitFieldLoc::write(uint32_t bits, uint32_t value)
{
  return (bits & ~m_mask) | ((value << m_start) & m_mask);
}