Scroll to navigation

util_parity(3avr) avr-libc util_parity(3avr)

NAME

util_parity - <util/parity.h>: Parity bit generation

SYNOPSIS

Macros


#define parity_even_bit(val)

Detailed Description

#include <util/parity.h> 

This header file contains optimized assembler code to calculate the parity bit for a byte.

Macro Definition Documentation

#define parity_even_bit(val)

Value:.PP

(__extension__({                    \

unsigned char __t; \
__asm__ ( \
"mov __tmp_reg__,%0" "\n\t" \
"swap %0" "\n\t" \
"eor %0,__tmp_reg__" "\n\t" \
"mov __tmp_reg__,%0" "\n\t" \
"lsr %0" "\n\t" \
"lsr %0" "\n\t" \
"eor %0,__tmp_reg__" \
: "=r" (__t) \
: "0" ((unsigned char)(val)) \
: "r0" \
); \
(((__t + 1) >> 1) & 1); \
}))

Returns

1 if val has an odd number of bits set.

Author

Generated automatically by Doxygen for avr-libc from the source code.

Fri Nov 24 2023 23:59:10 Version 2.0.0