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

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


#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:.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.

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

Fri Nov 24 2023 23:59:10 Version 2.0.0