| 45 |
/** \def parity_even_bit |
/** \def parity_even_bit |
| 46 |
\ingroup avr_parity |
\ingroup avr_parity |
| 47 |
\returns 1 if \c val has an odd number of bits set. */ |
\returns 1 if \c val has an odd number of bits set. */ |
| 48 |
#define parity_even_bit(val) ({ \ |
#define parity_even_bit(val) \ |
| 49 |
|
(__extension__({ \ |
| 50 |
unsigned char __t; \ |
unsigned char __t; \ |
| 51 |
__asm__ ( \ |
__asm__ ( \ |
| 52 |
"mov __tmp_reg__,%0" "\n\t" \ |
"mov __tmp_reg__,%0" "\n\t" \ |
| 61 |
: "r0" \ |
: "r0" \ |
| 62 |
); \ |
); \ |
| 63 |
(((__t + 1) >> 1) & 1); \ |
(((__t + 1) >> 1) & 1); \ |
| 64 |
}) |
})) |
| 65 |
|
|
| 66 |
#endif /* _AVR_PARITY_H_ */ |
#endif /* _AVR_PARITY_H_ */ |