LAR Library: bits.h Source File

LAR Library

bits.h
Go to the documentation of this file.
1 #ifndef LARLIB_BITS_H
2 #define LARLIB_BITS_H
3 
39 #include <larlib/base.h>
40 
47 
58 };
59 
74 int bitsSet(bitsBuffer_t *b, int index, int value);
75 
89 int bitsSetRange(bitsBuffer_t *b, int offset, int count, int value);
90 
104 int bitsGet(const bitsBuffer_t *b, int index);
105 
126 int64_t bitsExtractInt(const bitsBuffer_t *b, int offset, int count);
127 
149 int bitsAppend(const bitsBuffer_t *src, int srcOffset, int srcCount,
150  bitsBuffer_t *dst, int dstCount);
151 
175 int bitsAppendInt(uint64_t bits, int nbits,
176  bitsBuffer_t *dst, int dstCount);
177 
198 int bitsRotateLeft(bitsBuffer_t *b, int index, int nbits, int nrotate);
199 
220 int bitsRotateRight(bitsBuffer_t *b, int index, int nbits, int nrotate);
221 
241 int bitsShiftLeft(bitsBuffer_t *b, int index, int nbits, int nshift);
242 
262 int bitsShiftRight(bitsBuffer_t *b, int index, int nbits, int nshift);
263 
282 int bitsCopy(const bitsBuffer_t *src, int srcOffset, int srcCount,
283  bitsBuffer_t *dst, int dstOffset);
284 
306 int bitsBlt(const bitsBuffer_t *src, int srcOffset, int srcCount,
307  enum bitsBltOp_t op,
308  bitsBuffer_t *dst, int dstOffset);
309 
310 /* @} */
311 
312 #endif
int64_t bitsExtractInt(const bitsBuffer_t *b, int offset, int count)
Extract a sub-sequence of a bit buffer as an integer.
unsigned long long uint64_t
Unsigned 64-bit integer.
Definition: base.h:171
long long int64_t
Signed 64-bit integer.
Definition: base.h:159
int bitsSet(bitsBuffer_t *b, int index, int value)
Set or clear a bit in b.
int bitsShiftLeft(bitsBuffer_t *b, int index, int nbits, int nshift)
Shift b left by nshift bits.
uint8_t bitsBuffer_t
A bit-buffer is a sequence of 8-bits unsigned integers.
Definition: bits.h:46
int bitsRotateRight(bitsBuffer_t *b, int index, int nbits, int nrotate)
Rotate b right by nrotate bits.
int bitsAppendInt(uint64_t bits, int nbits, bitsBuffer_t *dst, int dstCount)
Append the bits extracted from an integer to a bit buffer.
Logical AND of source and destination.
Definition: bits.h:54
Copy source bits into destination.
Definition: bits.h:52
Logical OR of source and destination.
Definition: bits.h:55
Logical AND of negated source and destination.
Definition: bits.h:57
int bitsRotateLeft(bitsBuffer_t *b, int index, int nbits, int nrotate)
Rotate b left by nrotate bits.
int bitsCopy(const bitsBuffer_t *src, int srcOffset, int srcCount, bitsBuffer_t *dst, int dstOffset)
Copy a sequence of bits from one buffer to another.
int bitsGet(const bitsBuffer_t *b, int index)
Return the value of a bit in b.
int bitsShiftRight(bitsBuffer_t *b, int index, int nbits, int nshift)
Shift b right by nshift bits.
Copy negated source bits into destination.
Definition: bits.h:53
int bitsSetRange(bitsBuffer_t *b, int offset, int count, int value)
Set a range of bits on a buffer.
Larlib basic definitions.
int bitsAppend(const bitsBuffer_t *src, int srcOffset, int srcCount, bitsBuffer_t *dst, int dstCount)
Append one bit buffer to another.
int bitsBlt(const bitsBuffer_t *src, int srcOffset, int srcCount, enum bitsBltOp_t op, bitsBuffer_t *dst, int dstOffset)
Combine two bit buffers using a bit operation.
Logical XOR of source and destination.
Definition: bits.h:56
bitsBltOp_t
Possible bit operations for bitsBlt().
Definition: bits.h:51
unsigned char uint8_t
Unsigned 8-bit integer.
Definition: base.h:162
Generated on Mon Mar 27 2017 15:42:52 for LAR Library by   doxygen 1.8.9.1