1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- //
- // Created by robin on 7/23/16.
- //
-
- #include "libnfc_cpptools/ArrayUtils.h"
-
- namespace LibNfc
- {
- namespace Utils
- {
-
- void ArrayUtils::setArrayBit(char *buf, const char &bitPosition, const bool &value)
- {
- char byteOffset = (char)(bitPosition / 8);
- char bitOffset = (char)(7 - (bitPosition % 8));
- if(value)
- {
- buf[byteOffset] |= (1 << bitOffset);
- }
- else
- {
- buf[byteOffset] &= ~(1 << bitOffset);
- }
- }
-
- void ArrayUtils::setArrayBit(unsigned char *buf, const char &bitPosition, const bool &value)
- {
- setArrayBit((char*)buf, bitPosition, value);
- }
-
- bool ArrayUtils::getArrayBit(const char *buf, const char &bitPosition)
- {
- char byteOffset = (char)(bitPosition / 8);
- char bitOffset = (char)(7 - (bitPosition % 8));
- return (buf[byteOffset] >> bitOffset) & 1 == 1;
- }
-
- bool ArrayUtils::getArrayBit(const unsigned char *buf, const char &bitPosition)
- {
- return getArrayBit((const char *)buf, bitPosition);
- }
-
- }; // Utils
- }; // LibNfc
|