Browse Source

add set and clear functions

master
wes 7 years ago
parent
commit
3e502bfe3d
  1. BIN
      .bfilter.c.swp
  2. BIN
      .bfilter.h.swp
  3. 1
      .gitignore
  4. 19
      bfilter.c
  5. 1
      bfilter.h

BIN
.bfilter.c.swp

Binary file not shown.

BIN
.bfilter.h.swp

Binary file not shown.

1
.gitignore

@ -1 +1,2 @@
test
*swp

19
bfilter.c

@ -40,6 +40,7 @@ printbits(int n) {
int*
new_bitarray(int size) {
int *barray = malloc((sizeof (int)) * size);
int i;
for(i = 0; i < size; i++) {
barray[i] = 0;
@ -65,12 +66,30 @@ setbit(int* arr, int k) {
return 0;
}
int
unsetbit(int* arr, int k) {
int i = k/32;
int pos = k % 32;
unsigned int flag = 1;
flag = ~(flag << pos);
arr[i] = arr[i] & flag;
return 0;
}
int
main (void) {
int *test = new_bitarray(5);
setbit(test, 6);
setbit(test, 4);
setbit(test, 2);
unsetbit(test, 6);
unsetbit(test, 4);
unsetbit(test, 2);
printbits(test[0]);
return EXIT_SUCCESS;
}

1
bfilter.h

@ -12,3 +12,4 @@ int printbits(int);
int *new_bitarray(int);
int setbit(int*, int);
int unsetbit(int*, int);

Loading…
Cancel
Save