faster and less bits... again

example_keyboards
Jeremiah 8 years ago
parent 37f6f92765
commit 63d9698d5c

@ -74,20 +74,19 @@ static matrix_row_t get_real_keys(uint8_t row, matrix_row_t rowdata){
return out; return out;
} }
static inline bool countones(matrix_row_t row)
static inline bool countones(matrix_row_t data)
{ {
int count = 0; int count = 0;
for (int col = 0; col < MATRIX_COLS; col++) { while (row > 0){
if (data & (1<<col)){ count += 1;
count++; row &= row-1;
}
} }
if (count > 1){ if (count > 1){
return true; return true;
} }
return false; return false;
} }
static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata) static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata)
{ {
rowdata = get_real_keys(row, rowdata); rowdata = get_real_keys(row, rowdata);

Loading…
Cancel
Save