tesseract  4.1.0
bitvec.cpp File Reference
#include "bitvec.h"
#include <cstdio>
#include "emalloc.h"

Go to the source code of this file.

Functions

BIT_VECTOR ExpandBitVector (BIT_VECTOR Vector, int NewNumBits)
 
void FreeBitVector (BIT_VECTOR BitVector)
 
BIT_VECTOR NewBitVector (int NumBits)
 

Function Documentation

BIT_VECTOR ExpandBitVector ( BIT_VECTOR  Vector,
int  NewNumBits 
)

This routine uses realloc to increase the size of the specified bit vector.

Globals:

  • none
Parameters
Vectorbit vector to be expanded
NewNumBitsnew size of bit vector
Returns
New expanded bit vector.

Definition at line 43 of file bitvec.cpp.

43  {
44  return (static_cast<BIT_VECTOR>(Erealloc(Vector,
45  sizeof(Vector[0]) * WordsInVectorOfSize(NewNumBits))));
46 } /* ExpandBitVector */
#define WordsInVectorOfSize(NumBits)
Definition: bitvec.h:63
void * Erealloc(void *ptr, int size)
Definition: emalloc.cpp:38
void FreeBitVector ( BIT_VECTOR  BitVector)

This routine frees a bit vector. It also decrements the global counter that keeps track of the number of bit vectors allocated. If BitVector is nullptr, then the count is printed to stderr.

Globals:

  • BitVectorCount count of number of bit vectors allocated
Parameters
BitVectorbit vector to be freed

Definition at line 50 of file bitvec.cpp.

50  {
63  if (BitVector) {
64  Efree(BitVector);
65  }
66 } /* FreeBitVector */
void Efree(void *ptr)
Definition: emalloc.cpp:45
BIT_VECTOR NewBitVector ( int  NumBits)

Allocate and return a new bit vector large enough to hold the specified number of bits.

Globals:

  • BitVectorCount number of bit vectors allocated
Parameters
NumBitsnumber of bits in new bit vector
Returns
New bit vector.

Definition at line 81 of file bitvec.cpp.

81  {
82  return (static_cast<BIT_VECTOR>(Emalloc(sizeof(uint32_t) *
83  WordsInVectorOfSize(NumBits))));
84 } /* NewBitVector */
#define WordsInVectorOfSize(NumBits)
Definition: bitvec.h:63
void * Emalloc(int Size)
Definition: emalloc.cpp:31