DOKK / manpages / debian 10 / avr-libc / util_parity.3avr.en
util_parity(3avr) avr-libc util_parity(3avr)

util_parity


#define parity_even_bit(val)

#include <util/parity.h> 

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

Value:

(__extension__({                        unsigned char __t;                  __asm__ (                           "mov __tmp_reg__,%0" "0t"             "swap %0" "0t"                    "eor %0,__tmp_reg__" "0t"             "mov __tmp_reg__,%0" "0t"             "lsr %0" "0t"                     "lsr %0" "0t"                     "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.

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

Sat Feb 16 2019 Version 2.0.0