mirror of
https://github.com/SatDump/SatDump
synced 2026-08-13 17:47:30 -04:00
37 lines
No EOL
917 B
C++
37 lines
No EOL
917 B
C++
#include "bitman.hh"
|
|
|
|
namespace dvbs2
|
|
{
|
|
namespace CODE
|
|
{
|
|
void xor_be_bit(uint8_t *buf, int pos, bool val)
|
|
{
|
|
buf[pos / 8] ^= val << (7 - pos % 8);
|
|
}
|
|
|
|
void xor_le_bit(uint8_t *buf, int pos, bool val)
|
|
{
|
|
buf[pos / 8] ^= val << (pos % 8);
|
|
}
|
|
|
|
void set_be_bit(uint8_t *buf, int pos, bool val)
|
|
{
|
|
buf[pos / 8] = (~(1 << (7 - pos % 8)) & buf[pos / 8]) | (val << (7 - pos % 8));
|
|
}
|
|
|
|
void set_le_bit(uint8_t *buf, int pos, bool val)
|
|
{
|
|
buf[pos / 8] = (~(1 << (pos % 8)) & buf[pos / 8]) | (val << (pos % 8));
|
|
}
|
|
|
|
bool get_be_bit(uint8_t *buf, int pos)
|
|
{
|
|
return (buf[pos / 8] >> (7 - pos % 8)) & 1;
|
|
}
|
|
|
|
bool get_le_bit(uint8_t *buf, int pos)
|
|
{
|
|
return (buf[pos / 8] >> (pos % 8)) & 1;
|
|
}
|
|
} // namespace CODE
|
|
} |