// file: train_lattice_constants.h
//
// this is the header for the path lattice class
//

// make sure definitions are only made once
//
#ifndef __ISIP_TRAIN_LATTICE_CONSTANTS
#define __ISIP_TRAIN_LATTICE_CONSTANTS

// isip include files
//
#ifndef __ISIP_INTEGRAL_CONSTANTS
#include <integral_constants.h>
#endif

// forward declaration of classes
//
#ifndef __ISIP_TRAIN_LINK_LIST_CONSTANTS
#include <train_link_list_constants.h>
#endif

#ifndef __ISIP_TRAIN_LATTICE_NODE_CONSTANTS
#include <train_lattice_node_constants.h>
#endif

#ifndef __ISIP_TRAIN_HASH_TABLE_CONSTANTS
#include <train_hash_table_constants.h>
#endif

// define the class name
//
#define TRAIN_LATTICE_CLASS_NAME (char_1*)"Train_Lattice"

// define some constants
//
#define TRAIN_LATTICE_DEFAULT_NUM_ARCS (int_4)0
#define TRAIN_LATTICE_DEFAULT_NUM_NODES (int_4)0
#define TRAIN_LATTICE_DEFAULT_SCALE (float_4)1
#define TRAIN_LATTICE_DEFAULT_PENALTY (float_4)0
#define TRAIN_LATTICE_KEYSTR_LENGTH (int_4)8

// lattice generation related constants
//
#define TRAIN_LATTICE_MAX_NUM_WORD (int_4)9999
#define TRAIN_LATTICE_MAX_NUM_ARC (int_4)99999

// define constants related to node information
//
#define TRAIN_LATTICE_FRAMES_PER_SEC (int_4)100
#define TRAIN_LATTICE_FRAME_DURATION (float_4)(1.0/TRAIN_LATTICE_FRAMES_PER_SEC)

// define some word strings
//
#define TRAIN_LATTICE_SENT_START (char_1*)"!SENT_START"
#define TRAIN_LATTICE_SENT_END (char_1*)"!SENT_END"

// end of file
//
#endif
