+ ASSERT((size_t)idx <= bitx->bitarray_len);
+
+ for (int i = idx; i < offset + idx; i++)
+ bitarray_set(bitx, i);
+}
+
+/**
+ * Clear a range of bits.
+ *
+ * The range starts from \a idx (inclusive) and spans \a offset bits.
+ *
+ * \param bitx BitArray context
+ * \param idx Starting bit
+ * \param offset Number of bits to clear
+ */
+INLINE void bitarray_clearRange(BitArray *bitx, int idx, int offset)
+{
+ ASSERT((size_t)idx <= bitx->bitarray_len);
+
+ for (int i = idx; i < offset + idx; i++)
+ bitarray_clear(bitx, i);
+}
+
+/**
+ * Test a bit.
+ *
+ * \param bitx BitArray context
+ * \param idx Bit to test
+ * \return True if bit is set, false otherwise.
+ */
+INLINE bool bitarray_test(BitArray *bitx, int idx)
+{
+ ASSERT((size_t)idx <= bitx->bitarray_len);