.TH "util_parity" 3avr "Fri Jan 1 2021" "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\&.