// file: create_mixtures.h
//
// definitions file for the utility that create  initial mixture gaussians
//

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

// isip include files
//
#ifndef __ISIP_INTEGRAL
#include <integral.h>
#endif

// forward declaration of classes
//
#ifndef __ISIP_TRAIN_STATE
#include <train_state.h>
#endif

// functions to decipher commandline
//
logical_1 read_cmdline_cc(int_4 argc, char_1** argv, char_1* in_file,
			  char_1* out_file, int_4& target_num_mixtures);

// functions to read states data
//
Train_State** read_states_cc(int_4& num_st, int_4& num_feat, FILE* file);

// computational functions
//
logical_1 compute_cc(Train_State** in_states, Train_State**& out_states,
		     int_4 num_states, int_4 num_features,
		     int_4 num_mixtures);

// i/o methods
//
logical_1 print_state_cc(FILE* fp_in, Train_State** states, int_4 num_st,
			 int_4 num_feat);

// end of file
//
#endif
