bits: Add left circular shift function

Submitted-by: Max <max.suraev@fairwaves.co>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
This commit is contained in:
Max 2014-06-04 19:07:42 +02:00 committed by Sylvain Munaut
parent ece46d2a43
commit e2c1390d1b
1 changed files with 10 additions and 0 deletions

View File

@ -77,4 +77,14 @@ uint32_t osmo_revbytebits_8(uint8_t x);
/* \brief reverse the bits of each byte in a given buffer */
void osmo_revbytebits_buf(uint8_t *buf, int len);
/*! \brief left circular shift
* \param[in] in The 16 bit unsigned integer to be rotated
* \param[in] shift Number of bits to shift \a in to, [0;16] bits
* \returns shifted value
*/
static inline uint16_t osmo_rol16(uint16_t in, unsigned shift)
{
return (in << shift) | (in >> (16 - shift));
}
/*! @} */