Mercurial > hg > Members > masakoha > testcode
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 } |