mirror of https://gerrit.osmocom.org/libosmocore
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:
parent
ece46d2a43
commit
e2c1390d1b
|
@ -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));
|
||||
}
|
||||
|
||||
/*! @} */
|
||||
|
|
Loading…
Reference in New Issue