tesseract  3.03
/usr/local/google/home/jbreiden/tesseract-ocr-read-only/cutil/bitvec.cpp
Go to the documentation of this file.
00001 /******************************************************************************
00002  **     Filename:    bitvec.c
00003  **     Purpose:     Routines for manipulating bit vectors
00004  **     Author:      Dan Johnson
00005  **     History:     Thu Mar 15 10:37:27 1990, DSJ, Created.
00006  **
00007  **     (c) Copyright Hewlett-Packard Company, 1988.
00008  ** Licensed under the Apache License, Version 2.0 (the "License");
00009  ** you may not use this file except in compliance with the License.
00010  ** You may obtain a copy of the License at
00011  ** http://www.apache.org/licenses/LICENSE-2.0
00012  ** Unless required by applicable law or agreed to in writing, software
00013  ** distributed under the License is distributed on an "AS IS" BASIS,
00014  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  ** See the License for the specific language governing permissions and
00016  ** limitations under the License.
00017  ******************************************************************************/
00018 
00019 /*-----------------------------------------------------------------------------
00020           Include Files and Type Defines
00021 -----------------------------------------------------------------------------*/
00022 #include "bitvec.h"
00023 
00024 #include <stdio.h>
00025 
00026 #include "emalloc.h"
00027 #include "freelist.h"
00028 #include "tprintf.h"
00029 
00030 /*-----------------------------------------------------------------------------
00031               Public Code
00032 -----------------------------------------------------------------------------*/
00033 /*---------------------------------------------------------------------------*/
00048 BIT_VECTOR ExpandBitVector(BIT_VECTOR Vector, int NewNumBits) {
00049   return ((BIT_VECTOR) Erealloc(Vector,
00050     sizeof(Vector[0]) * WordsInVectorOfSize(NewNumBits)));
00051 }                                /* ExpandBitVector */
00052 
00053 
00054 /*---------------------------------------------------------------------------*/
00055 void FreeBitVector(BIT_VECTOR BitVector) {
00070   if (BitVector) {
00071     Efree(BitVector);
00072   }
00073 }                                /* FreeBitVector */
00074 
00075 
00076 /*---------------------------------------------------------------------------*/
00090 BIT_VECTOR NewBitVector(int NumBits) {
00091   return ((BIT_VECTOR) Emalloc(sizeof(uinT32) *
00092     WordsInVectorOfSize(NumBits)));
00093 }                                /* NewBitVector */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines