Using buil-in gcc function for counting bits
This commit is contained in:
@@ -86,11 +86,13 @@ class BoolSquareMatrix {
|
||||
STORAGE vector_value = 0;
|
||||
for (STORAGE ind = 0; ind < SIZE; ++ind) {
|
||||
BoolVector<STORAGE, SIZE> cur_vec = vec * get_row(ind);
|
||||
STORAGE cur_sum = 0;
|
||||
/* STORAGE cur_sum = 0;
|
||||
for (STORAGE vec_ind = 0; vec_ind < SIZE; ++vec_ind)
|
||||
cur_sum += cur_vec.at(vec_ind);
|
||||
same but slow version, we just need number of bits
|
||||
*/
|
||||
vector_value *= 2;
|
||||
vector_value += cur_sum % 2;
|
||||
vector_value += __builtin_popcount(cur_vec.get_value()) % 2; // cur_sum
|
||||
}
|
||||
return BoolVector<STORAGE, SIZE>(vector_value);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user