/home/rays/src/opensrc/tesseract-ocr/cutil/bitvec.h File Reference
#include "host.h"
Go to the source code of this file.
Defines |
| #define | BITSINLONG 32 |
| #define | zero_all_bits(array, length) |
| #define | set_all_bits(array, length) |
| #define | copy_all_bits(source, dest, length) |
| #define | SET_BIT(array, bit) (array[bit/BITSINLONG]|=1<<(bit&(BITSINLONG-1))) |
| #define | reset_bit(array, bit) (array[bit/BITSINLONG]&=~(1<<(bit&(BITSINLONG-1)))) |
| #define | test_bit(array, bit) (array[bit/BITSINLONG] & (1<<(bit&(BITSINLONG-1)))) |
| #define | WordsInVectorOfSize(NumBits) (((NumBits) + BITSINLONG - 1) / BITSINLONG) |
Typedefs |
| typedef uinT32 * | BIT_VECTOR |
Functions |
| BIT_VECTOR | ExpandBitVector (BIT_VECTOR Vector, int NewNumBits) |
| void | FreeBitVector (BIT_VECTOR BitVector) |
| int | hamming_distance (uinT32 *array1, uinT32 *array2, int length) |
| BIT_VECTOR | NewBitVector (int NumBits) |
Define Documentation
| #define copy_all_bits |
( |
source, |
|
|
dest, |
|
|
length |
|
) |
|
Value:{\
register int index; \
\
for (index=0;index<length;index++)\
dest[index]=source[index]; \
}
| #define reset_bit |
( |
array, |
|
|
bit |
|
) |
(array[bit/BITSINLONG]&=~(1<<(bit&(BITSINLONG-1)))) |
| #define set_all_bits |
( |
array, |
|
|
length |
|
) |
|
Value:{\
register int index; \
\
for (index=0;index<length;index++)\
array[index]= ~0; \
}
| #define SET_BIT |
( |
array, |
|
|
bit |
|
) |
(array[bit/BITSINLONG]|=1<<(bit&(BITSINLONG-1))) |
| #define test_bit |
( |
array, |
|
|
bit |
|
) |
(array[bit/BITSINLONG] & (1<<(bit&(BITSINLONG-1)))) |
| #define WordsInVectorOfSize |
( |
NumBits |
|
) |
(((NumBits) + BITSINLONG - 1) / BITSINLONG) |
| #define zero_all_bits |
( |
array, |
|
|
length |
|
) |
|
Value:{\
register int index; \
\
for (index=0;index<length;index++)\
array[index]=0; \
}
Typedef Documentation
Function Documentation
This routine uses realloc to increase the size of the specified bit vector.
Globals:
- Parameters:
-
| Vector | bit vector to be expanded |
| NewNumBits | new size of bit vector |
- Returns:
- New expanded bit vector.
- Note:
- Exceptions: none
-
History: Fri Nov 16 10:11:16 1990, DSJ, Created.
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 NULL, then the count is printed to stderr.
Globals:
- BitVectorCount count of number of bit vectors allocated
- Parameters:
-
| BitVector | bit vector to be freed |
- Note:
- Exceptions: none
-
History: Tue Oct 23 16:46:09 1990, DSJ, Created.
| int hamming_distance |
( |
uinT32 * |
array1, |
|
|
uinT32 * |
array2, |
|
|
int |
length | |
|
) |
| | |
hamming_distance(array1,array2,length) computes the hamming distance between two bit strings.
Allocate and return a new bit vector large enough to hold the specified number of bits.
Globals:
- BitVectorCount number of bit vectors allocated
- Parameters:
-
| NumBits | number of bits in new bit vector |
- Returns:
- New bit vector.
- Note:
- Exceptions: none
-
History: Tue Oct 23 16:51:27 1990, DSJ, Created.