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

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

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

// forward declaration of classes
//
#ifndef __ISIP_LINK_LIST_CONSTANTS
#include <link_list_constants.h>
#endif

#ifndef __ISIP_LATTICE_NODE_CONSTANTS
#include <lattice_node_constants.h>
#endif

#ifndef __ISIP_HASH_TABLE_CONSTANTS
#include <hash_table_constants.h>
#endif

#ifndef __ISIP_LATTICE_PATH_CONSTANTS
#include <lattice_path_constants.h>
#endif

#ifndef __ISIP_NGRAM_CONSTANTS
#include <ngram_constants.h>
#endif

// define the class name
//
#define LATTICE_CLASS_NAME (char_1*)"Lattice"

// define some constants
//
#define LATTICE_DEFAULT_NUM_ARCS (int_4)0
#define LATTICE_DEFAULT_NUM_NODES (int_4)0
#define LATTICE_DEFAULT_SCALE (float_4)1
#define LATTICE_DEFAULT_PENALTY (float_4)0
#define LATTICE_KEYSTR_LENGTH (int_4)32

// lattice generation related constants
//
#define LATTICE_MAX_NUM_WORD (int_4)9999
#define LATTICE_MAX_NUM_ARC (int_4)99999

// define constants related to node information
//
#define LATTICE_FRAMES_PER_SEC (int_4)100
#define LATTICE_FRAME_DURATION (float_4)(1.0/LATTICE_FRAMES_PER_SEC)

// define some word strings
//
#define LATTICE_SENT_START WRD_SENT_START
#define LATTICE_SENT_END WRD_SENT_END
#define LATTICE_NET_START WRD_NET_START
#define LATTICE_NET_END WRD_NET_END

// end of file
//
#endif
