Mercurial > hg > Applications > Grep
view c/regexParser/bitVector.cc @ 137:c292c67b3100 pairPro
add generateTransitionList function
author | masa |
---|---|
date | Fri, 04 Dec 2015 20:32:09 +0900 |
parents | 166136236891 |
children | ea2810db8d87 |
line wrap: on
line source
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "bitVector.h" const BitVectorPtr allocateBitVector(); BitVectorListPtr createBitVector(NodePtr n) { BitVectorListPtr nextBvl = allocateBitVectorList(); nextBvl->bi = bitSet(nextBvl,n->nodeNumber); return nextBvl; } const BitVectorPtr allocateBitVector() { BitVectorPtr bi = (BitVectorPtr)malloc(sizeof(BitVector)); bi->bitContainer = 0; return bi; } void bitSet(BitVectorPtr bi, int bitSetPosition) { unsigned long tmp = 1 << (bitSetPosition % BITBLOCK); bi->bitContainer = bi->bitContainer | tmp; return; } void bitPrint(BitVectorPtr bi) { unsigned long vec = bi->bitContainer; for (int j = 0; j < BITBLOCK; j++) { putchar((vec & 1)?'1:'0'); vec >>= 1; } printf("\n"); }