1/*---------------------------------------------------------------------------*
2 *  srec_sizes.h  *
3 *                                                                           *
4 *  Copyright 2007, 2008 Nuance Communciations, Inc.                               *
5 *                                                                           *
6 *  Licensed under the Apache License, Version 2.0 (the 'License');          *
7 *  you may not use this file except in compliance with the License.         *
8 *                                                                           *
9 *  You may obtain a copy of the License at                                  *
10 *      http://www.apache.org/licenses/LICENSE-2.0                           *
11 *                                                                           *
12 *  Unless required by applicable law or agreed to in writing, software      *
13 *  distributed under the License is distributed on an 'AS IS' BASIS,        *
14 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
15 *  See the License for the specific language governing permissions and      *
16 *  limitations under the License.                                           *
17 *                                                                           *
18 *---------------------------------------------------------------------------*/
19
20
21
22
23#ifndef _h_srec_sizes_
24#define _h_srec_sizes_
25
26typedef asr_uint16_t costdata;  /*done as cost, so always >= 0*/
27typedef asr_int32_t bigcostdata;          /*done as cost, so always >= 0*/
28typedef asr_uint16_t miscdata;  /*for random small things*/
29typedef asr_uint16_t labelID; /*16 bits is a bit overkill for this, but 8's not enough*/
30typedef asr_uint16_t wordID;  /*for word index*/
31typedef asr_uint16_t nodeID;  /*for FSM node index*/
32typedef asr_uint16_t arcID;  /*for FSM arc index*/
33typedef asr_uint16_t frameID;  /*for time frame*/
34typedef asr_uint16_t stokenID;  /*for state token storage*/
35typedef asr_uint16_t ftokenID;  /*for FSMnode token storage*/
36typedef asr_uint16_t wtokenID;  /*for word token storage*/
37typedef asr_uint16_t HMMID;  /*for HMMs*/
38typedef asr_uint16_t modelID;  /*for models (HMM state distributions)*/
39
40/*limits on each of the above sizes*/
41
42#define MAXcostdata ((costdata)65535)
43#define MAXbcostdata ((bigcostdata)2147483647)
44#define FREEcostdata 0
45#define MAXlabelID 65535
46#define MAXwordID 65535
47#define MAXnodeID 65535
48#define MAXarcID 65535
49#define MAXframeID ((frameID)65535)
50#define MAXstokenID 65535
51#define MAXftokenID 65535
52#define MAXwtokenID 65535
53#define MAXmodelID 65535
54#define MAXHMMID 65535
55
56#endif
57