view c/regexParser/bitVector.cc @ 138:ea2810db8d87 pairPro

remove warning and error
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Sun, 06 Dec 2015 15:54:05 +0900
parents c292c67b3100
children 84a2a5209d3a
line wrap: on
line source

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "bitVector.h"
const BitVectorPtr allocateBitVector();
void bitSet(BitVectorPtr bi, int bitSetPosition);

BitVectorPtr createBitVector(NodePtr n) {
    BitVectorPtr nextBvl = allocateBitVector();
    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");
}