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