.TH "util_parity" 3avr "Fri Nov 24 2023 23:59:10" "Version 2.0.0" "avr-libc" \" -*- nroff -*- .ad l .nh .SH NAME util_parity \- : Parity bit generation .SH SYNOPSIS .br .PP .SS "Macros" .in +1c .ti -1c .RI "#define \fBparity_even_bit\fP(val)" .br .in -1c .SH "Detailed Description" .PP .PP .nf #include .fi .PP .PP This header file contains optimized assembler code to calculate the parity bit for a byte\&. .SH "Macro Definition Documentation" .PP .SS "#define parity_even_bit(val)" \fBValue:\fP.PP .nf (__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); \\ })) .fi .PP \fBReturns\fP .RS 4 1 if \fCval\fP has an odd number of bits set\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for avr-libc from the source code\&.