// file: cmmf_write_0.cc
//
 
// isip include files
//
#include "convert_mmf.h"
#include "convert_mmf_constants.h"
 
// method: write_states_ascii_cc
//
// arguments:
//  int_4 write_mode : (input) read ascii or binary file
//  int_4 num_st : (output) number of states
//  int_4 num_feat : (output) number of features in data vector
//  char_1* st_file : (input) data file name
//  Train_State** state_list: (input) list of states
//  
// return: a logical_1 returning status
//
// this method writes the State file --- each mixture
// component in the States is assumed to have a diagonal covariance
// matrix
//
logical_1 write_states_cc(int_4 write_mode_a, int_4 num_st_a,
			  int_4 num_feat_a, char_1* st_file_a,
			  Train_State** state_list_a) {
  
  // determine read mode
  //
  if (write_mode_a == CMMF_ASCII) {
    return(write_states_ascii_cc(num_st_a, num_feat_a, st_file_a,
				  state_list_a));
  }
  else if (write_mode_a == CMMF_BINARY) {
    return(write_states_bin_cc(num_st_a, num_feat_a, st_file_a, state_list_a));
  }
  else {
    return ISIP_FALSE;
  }
  
  // exit gracefully
  //
  return ISIP_TRUE;
}
