// file: tr_lat_cstr_2.cc
//

// isip include files
//
#include "train_lattice.h"
#include "train_lattice_constants.h"

// method: constructor
//
// arguments:
//  int_4 num_nodes: (input) number of Train_Lattice nodes
//  int_4 num_arcs: (input) number of Train_Lattice arcs
//  Train_Hash_table* lnodes: (input) Hash table of Train_Lattice nodes
//
// return: none
//
// this is an overloaded constructor
//
Train_Lattice::Train_Lattice(int_4 num_nodes_a, int_4 num_arcs_a, Train_Hash_table* lnodes_a) {

  // set node statistics
  //
  num_arcs_d = num_arcs_a;
  num_nodes_d = num_nodes_d;

  // set node pointers
  //
  lnode_d = lnodes_a;
  start_node_d = (Train_Lattice_node*)NULL;

  // set Train_Lattice generation infrmation
  //
  lang_model_d = (char_1*)NULL;
  utterance_d = (char_1*)NULL;
  model_set_d = (char_1*)NULL;

  // set likelihood scale factors
  //
  lm_scale_d = TRAIN_LATTICE_DEFAULT_SCALE;
  word_penalty_d = TRAIN_LATTICE_DEFAULT_PENALTY;
  
  // exit gracefully
  //
}
