25 *Data |= ( 0x01 << BitPn );
41 *Data &= ~( 0x01 << BitPn );
60 Result = ( Data >> BitPn ) & 1u;
80 uint8 Mask = ( ( 1u << BitLn ) - 1u ) << BitStartPn;
84 *Data = *Data & ~Mask;
86 else if( Status == 1 )
110 uint8 Mask = ( ( 1u << BitLn ) - 1u );
112 Result = ( Data >> BitStartPn ) & Mask;
166 Result = ( Data & Mask ) == Mask;
188 Result = ( Data & Mask ) > 0;
207 boolean Parity =
FALSE;
213 Data = Data & ( Data - 1 );
297 *Data = ( *Data >> ShiftCnt ) | ( *Data << ( 8 - ShiftCnt ) );
313 *Data = ( *Data << ShiftCnt ) | ( *Data >> ( 8 - ShiftCnt ) );
333 Buffer = ( ( SourceData & ( 0x01 << SourcePosition ) ) != 0 ) ?
TRUE :
FALSE;
335 if( Buffer ==
FALSE )
337 *DestinationData = ( *DestinationData & ~( 0x01 << DestinationPosition ) );
341 *DestinationData = *DestinationData | ( 0x01 << DestinationPosition );
360 uint8 Mask = ( ( 1u << BitLn ) - 1u ) << BitStartPn;
361 *Data = ( *Data & ~Mask ) | ( ( Pattern << BitStartPn ) & Mask );
378 *Data = ( *Data & ~Mask ) | ( Pattern & Mask );
395 if( Status ==
FALSE )
397 *Data = ( *Data & ~( 0x01 << BitPn ) );
401 *Data = *Data | ( 0x01 << BitPn );
420 for(
uint8 i = 8; i > 0; i-- )
422 if( ( Data & ( 0x01 << ( i - 1 ) ) ) != 0 )
454 while( ( Data & Mask ) == 0 )
462 while( ( Data & Mask ) == Mask )
488 for(
uint8 i = 8; i > 0; i-- )
490 if( ( Data & ( 0x01 << ( i - 1 ) ) ) != 0 )
525 boolean DataIsNegative = ( Data < 0 );
533 if( ( DataIsNegative ==
FALSE ) && ( Data < 0 ) )
538 else if( ( DataIsNegative ==
TRUE ) && ( Data >= 0 ) )
559 for(
uint8 i = 0; i < ShiftCnt; i++ )
593 uint8 MaxShiftLeft = 0;
596 while( ( Data & Mask ) == 0 )
606 if( ShiftCnt > MaxShiftLeft )
static uint8 Bfx_ShiftBitSat_u8s8_u8(sint8 ShiftCnt, uint8 Data)
Arithmetic shift with saturation
Definition Bfx_8bits.h:590
static boolean Bfx_TstBitLnMask_u8u8_u8(uint8 Data, uint8 Mask)
Compare any bit of a mask with a seccion of an unsigned integer
Definition Bfx_8bits.h:184
static void Bfx_PutBitsMask_u8u8u8(uint8 *Data, uint8 Pattern, uint8 Mask)
Takes a pattern and a mask and puts it in an unsigned integer
Definition Bfx_8bits.h:376
static void Bfx_PutBit_u8u8u8(uint8 *Data, uint8 BitPn, boolean Status)
Sets the bit of an unsigned integer according to Status
Definition Bfx_8bits.h:393
static void Bfx_PutBits_u8u8u8u8(uint8 *Data, uint8 BitStartPn, uint8 BitLn, uint8 Pattern)
Takes a pattern and puts it in an unsigned integer
Definition Bfx_8bits.h:358
static boolean Bfx_TstBitMask_u8u8_u8(uint8 Data, uint8 Mask)
Compare a mask with a seccion of an unsigned integer
Definition Bfx_8bits.h:162
static uint8 Bfx_CountLeadingOnes_u8(uint8 Data)
Counts consecutive ones
Definition Bfx_8bits.h:417
static uint8 Bfx_CountLeadingZeros_u8(uint8 Data)
Counts consecutive zeros
Definition Bfx_8bits.h:485
static boolean Bfx_GetBit_u8u8_u8(uint8 Data, uint8 BitPn)
Obtain one bit especified
Definition Bfx_8bits.h:56
static void Bfx_ToggleBitMask_u8u8(uint8 *Data, uint8 Mask)
Using a mask to toggle bits
Definition Bfx_8bits.h:245
static uint8 Bfx_CountLeadingSigns_s8(sint8 Data)
Count consecutive bits which have the same value as the MSB
Definition Bfx_8bits.h:447
static void Bfx_SetBit_u8u8(uint8 *Data, uint8 BitPn)
Set a single bit in Data pointer
Definition Bfx_8bits.h:23
static uint8 Bfx_GetBits_u8u8u8_u8(uint8 Data, uint8 BitStartPn, uint8 BitLn)
Obtains consecutive bits from an unsigned integer
Definition Bfx_8bits.h:106
static void Bfx_RotBitLt_u8u8(uint8 *Data, uint8 ShiftCnt)
Rotates a unsigned integer to the left acourding to ShiftCnt
Definition Bfx_8bits.h:311
static boolean Bfx_TstParityEven_u8_u8(uint8 Data)
Determines if an unsigned integer has even parity
Definition Bfx_8bits.h:205
static void Bfx_SetBitMask_u8u8(uint8 *Data, uint8 Mask)
Using a mask to set bits
Definition Bfx_8bits.h:128
static void Bfx_ShiftBitRt_u8u8(uint8 *Data, uint8 ShiftCnt)
Shifts a unsigned integer to the right acourding to ShiftCnt
Definition Bfx_8bits.h:262
static void Bfx_SetBits_u8u8u8u8(uint8 *Data, uint8 BitStartPn, uint8 BitLn, uint8 Status)
Modifies consecutive bits acording to status
Definition Bfx_8bits.h:78
static void Bfx_ToggleBits_u8(uint8 *Data)
Changes the value of every bit of an unsigned integer
Definition Bfx_8bits.h:229
static void Bfx_RotBitRt_u8u8(uint8 *Data, uint8 ShiftCnt)
Rotates a unsigned integer to the right acourding to ShiftCnt
Definition Bfx_8bits.h:295
static sint8 Bfx_ShiftBitSat_s8s8_s8(sint8 ShiftCnt, sint8 Data)
Arithmetic shift with saturation
Definition Bfx_8bits.h:522
static void Bfx_ClrBit_u8u8(uint8 *Data, uint8 BitPn)
Clears a single bit in Data pointer
Definition Bfx_8bits.h:39
static void Bfx_CopyBit_u8u8u8u8(uint8 *DestinationData, uint8 DestinationPosition, uint8 SourceData, uint8 SourcePosition)
Copies a bit from an integer to another
Definition Bfx_8bits.h:329
static void Bfx_ShiftBitLt_u8u8(uint8 *Data, uint8 ShiftCnt)
Shifts a unsigned integer to the left acourding to ShiftCnt
Definition Bfx_8bits.h:279
static void Bfx_ClrBitMask_u8u8(uint8 *Data, uint8 Mask)
Using a mask to clear bits
Definition Bfx_8bits.h:144
Specification of Standard Types