24 *Data |= ( 0x01 << BitPn );
40 *Data &= ~( 0x01 << BitPn );
59 Result = ( Data >> BitPn ) & 1u;
78 uint32 Mask = ( ( 1u << BitLn ) - 1 ) << BitStartPn;
84 else if( Status == 1 )
108 Result = ( Data >> BitStartPn ) & ( ( 1u << BitLn ) - 1u );
161 Result = ( Data & Mask ) == Mask;
182 Result = ( Data & Mask ) > 0;
200 boolean parity =
FALSE;
206 Data &= ( Data - 1 );
289 *Data = ( *Data >> ShiftCnt ) | ( *Data << ( 32 - ShiftCnt ) );
305 *Data = ( *Data << ShiftCnt ) | ( *Data >> ( 32 - ShiftCnt ) );
325 Buffer = ( ( SourceData & ( 0x01 << SourcePosition ) ) != 0 ) ?
TRUE :
FALSE;
326 if( Buffer ==
FALSE )
328 *DestinationData = ( *DestinationData & ~( 0x01 << DestinationPosition ) );
332 *DestinationData = *DestinationData | ( 0x01 << DestinationPosition );
351 uint32 Mask = ( ( 1u << BitLn ) - 1u ) << BitStartPn;
352 *Data = ( *Data & ~Mask ) | ( ( Pattern << BitStartPn ) & Mask );
369 *Data = ( *Data & ~Mask ) | ( Pattern & Mask );
386 if( Status ==
FALSE )
388 *Data &= ~( 0x01 << BitPn );
392 *Data |= 0x01 << BitPn;
412 for(
uint8 i = 32; i > 0; i-- )
414 if( ( Data & ( 0x01 << ( i - 1 ) ) ) != 0 )
442 for(
uint8 i = 32; i > 0; i-- )
444 if( ( Data & ( 0x01 << ( i - 1 ) ) ) != 0 )
476 while( ( Data & Mask ) == 0 )
484 while( ( Data & Mask ) == Mask )
515 boolean DataIsNegative = ( Data < 0 );
520 if( ( DataIsNegative ==
FALSE ) && ( Data < 0 ) )
524 else if( ( DataIsNegative ==
TRUE ) && ( Data >= 0 ) )
539 for(
uint8 i = 0; i < ShiftCnt; i++ )
570 uint8 MaxShiftLeft = 0;
572 while( ( Data & Mask ) == 0 )
579 if( ShiftCnt > MaxShiftLeft )
static void Bfx_ShiftBitRt_u32u8(uint32 *Data, uint8 ShiftCnt)
Shifts a unsigned integer to the right acourding to ShiftCnt
Definition Bfx_32bits.h:254
static void Bfx_CopyBit_u32u8u32u8(uint32 *DestinationData, uint8 DestinationPosition, uint32 SourceData, uint8 SourcePosition)
Copies a bit from an integer to another
Definition Bfx_32bits.h:321
static void Bfx_ClrBitMask_u32u32(uint32 *Data, uint32 Mask)
Using a mask to clear bits
Definition Bfx_32bits.h:139
static uint8 Bfx_CountLeadingZeros_u32(uint32 Data)
Counts consecutive zeros
Definition Bfx_32bits.h:438
static void Bfx_PutBitsMask_u32u32u32(uint32 *Data, uint32 Pattern, uint32 Mask)
Takes a pattern and a mask and puts it in an unsigned integer
Definition Bfx_32bits.h:367
static uint32 Bfx_GetBits_u32u8u8_u32(uint32 Data, uint8 BitStartPn, uint8 BitLn)
Obtains consecutive bits from an unsigned integer
Definition Bfx_32bits.h:104
static void Bfx_ShiftBitLt_u32u8(uint32 *Data, uint8 ShiftCnt)
Shifts a unsigned integer to the left acourding to ShiftCnt
Definition Bfx_32bits.h:271
static boolean Bfx_GetBit_u32u8_u8(uint32 Data, uint8 BitPn)
Obtain one bit especified
Definition Bfx_32bits.h:55
static void Bfx_PutBits_u32u8u8u32(uint32 *Data, uint8 BitStartPn, uint8 BitLn, uint32 Pattern)
Takes a pattern and puts it in an unsigned integer
Definition Bfx_32bits.h:349
static void Bfx_ToggleBits_u32(uint32 *Data)
Changes the value of every bit of an unsigned integer
Definition Bfx_32bits.h:221
static uint8 Bfx_CountLeadingSigns_s32(sint32 Data)
Counts leading signs
Definition Bfx_32bits.h:469
static boolean Bfx_TstBitLnMask_u32u32_u8(uint32 Data, uint32 Mask)
Compare any bit of a mask with a seccion of an unsigned integer
Definition Bfx_32bits.h:178
static void Bfx_SetBit_u32u8(uint32 *Data, uint8 BitPn)
Set a single bit in Data pointer
Definition Bfx_32bits.h:22
static uint8 Bfx_CountLeadingOnes_u32(uint32 Data)
Counts consecutive ones
Definition Bfx_32bits.h:408
static void Bfx_SetBitMask_u32u32(uint32 *Data, uint32 Mask)
Using a mask to set bits
Definition Bfx_32bits.h:123
static boolean Bfx_TstParityEven_u32_u8(uint32 Data)
Determines if an unsigned integer has even parity
Definition Bfx_32bits.h:198
static boolean Bfx_TstBitMask_u32u32_u8(uint32 Data, uint32 Mask)
Compare a mask with a seccion of an unsigned integer
Definition Bfx_32bits.h:157
static uint32 Bfx_ShiftBitSat_u32s8_u32(sint8 ShiftCnt, uint32 Data)
Arithmetic shift with saturation
Definition Bfx_32bits.h:567
static void Bfx_RotBitRt_u32u8(uint32 *Data, uint8 ShiftCnt)
Rotates a unsigned integer to the right acourding to ShiftCnt
Definition Bfx_32bits.h:287
static void Bfx_PutBit_u32u8u8(uint32 *Data, uint8 BitPn, boolean Status)
Sets the bit of an unsigned integer according to Status
Definition Bfx_32bits.h:384
static void Bfx_ClrBit_u32u8(uint32 *Data, uint8 BitPn)
Clears a single bit in Data pointer
Definition Bfx_32bits.h:38
static void Bfx_SetBits_u32u8u8u8(uint32 *Data, uint8 BitStartPn, uint8 BitLn, uint8 Status)
Modifies consecutive bits acording to status
Definition Bfx_32bits.h:76
static void Bfx_ToggleBitMask_u32u32(uint32 *Data, uint32 Mask)
Using a mask to toggle bits
Definition Bfx_32bits.h:237
static sint32 Bfx_ShiftBitSat_s32s8_s32(sint8 ShiftCnt, sint32 Data)
Arithmetic shift with saturation
Definition Bfx_32bits.h:512
static void Bfx_RotBitLt_u32u8(uint32 *Data, uint8 ShiftCnt)
Rotates a unsigned integer to the left acourding to ShiftCnt
Definition Bfx_32bits.h:303
Specification of Standard Types