comparison regexParser/bitVector.cc @ 167:3bf2c6d6d53e pairPro

move regexparser dir
author masa
date Sat, 19 Dec 2015 15:38:45 +0900
parents c/regexParser/bitVector.cc@84a2a5209d3a
children dbe004d03ef0
comparison
equal deleted inserted replaced
166:96854eba17e5 167:3bf2c6d6d53e
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include "bitVector.h"
5
6 BitVectorPtr createBitVector(NodePtr n) {
7 BitVectorPtr bi = allocateBitVector();
8 bitSet(bi,n->nodeNumber);
9 return bi;
10 }
11
12 const BitVectorPtr allocateBitVector() {
13 BitVectorPtr bi = (BitVectorPtr)malloc(sizeof(BitVector));
14 bi->bitContainer = 0;
15 return bi;
16 }
17
18 void bitSet(BitVectorPtr bi, int bitSetPosition) {
19 unsigned long tmp = 1 << (bitSetPosition % BITBLOCK);
20 bi->bitContainer = bi->bitContainer | tmp;
21 return;
22 }
23
24 void bitPrint(BitVectorPtr bi) {
25 unsigned long vec = bi->bitContainer;
26 for (int j = 0; j < BITBLOCK; j++) {
27 putchar((vec & 1) ? '1':'0');
28 vec >>= 1;
29 }
30 printf("\n");
31 }