void user_bitvector_print (bitvector_t *bv) { int i; int s = bitvector_size (bv); printf ("bitvector: %d\n", s); for (i = 0; i < s; i++) printf ("%c", bitvector_is_set (bv, i) ? '1' : '0'); printf ("\n"); }
int dm_bitvector_col(bitvector_t *bv, const matrix_t *m, int col) { // check size if (bitvector_size (bv) != (size_t)dm_nrows (m)) return -1; // copy row for (int i = 0; i < dm_nrows (m); i++) { if (dm_is_set (m, i, col)) { bitvector_set(bv, i); } else { bitvector_unset(bv, i); } } return 0; }