// file: ht_occ_0.cc
//
// isip include files
//
#include "hmm_train.h"
#include "hmm_train_constants.h"

// method: print_occ_cc
//
// arguments:
//  FILE* fp_out : (input) output file pointer
//  int_4** st_count : (input) the count of the all states
//  int_4 num_st : (input) the number of states
//  int_4 num_mix : (input) the number of mixtures
//
// return: a logical flag to indicate success
//
// this method dumps occupancy count for each state to be used for
// state-tying
//
logical_1 print_occ_cc(FILE* fp_out_a, int_4** st_count_a,
		       int_4 num_st_a, int_4 num_mix_a) {

  // loop over all states
  //
  for (int_4 i = 1; i < num_st_a; i++) {
    int_4 count = 0;
    
    for (int_4 j = 0; j < num_mix_a; j++) {

      count += st_count_a[i][j];
    }

    // dump the number of times each mixture has been accessed during traning
    //
    fprintf(fp_out_a, "%ld %.6f\n", i, (float_4)count);
  }

  // exit gracefully
  //
  return ISIP_TRUE;
}



