// file: tr_mod_cstr_2.cc
//

// isip include files
//
#include "train_model.h"
#include "train_model_constants.h"

// method: constructor
//
// arguments:
//  int_4 num_states : (input) number of states for this model model
//  float_4** trans_prob : (input) transition probability matrix
//  Train_State** state : (input) array of states
//
// return: none
//
// this is an overloaded constructor
//
Train_Model::Train_Model(int_4 num_states_a, float_4** trans_prob_a, Train_State** state_a) {
  
  // set the number fo state
  //
  num_states_d = num_states_a;
  
  // set the transition probabilities
  //
  trans_prob_d = trans_prob_a;

  // set the states
  //
  states_d = new Train_State*[num_states_d];
  for (int_4 i = 0; i < num_states_d; i++) {
    states_d[i] = state_a[i];
  }

  // exit gracefully
  //
}
