// file: $isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc
// version: $Id: pdtnod_00.cc 8688 2002-09-11 20:04:08Z parihar $
//

// isip include files
//
#include "PhoneticDecisionTreeNode.h"

// method: default constructor
//
// arguments: none
//
// return: none
//
// this is the default constructor for the PhoneticDecisionTreeNode class
//
PhoneticDecisionTreeNode::PhoneticDecisionTreeNode() {

  if (debug_level_d >= Integral::ALL) { 
    String out(L" Constructor of phonetic-decision-tree node: ");
    out.concat(this);
    out.concat("\n");
    Console::put(out);
  }
    
  // initialize member data
  //
  typical_index_d = DEF_TYPICAL_INDEX;
  actual_index_d = DEF_ACTUAL_INDEX;
  flag_exists_d = DEF_FLAG_EXISTS;
  typical_stat_model_d.setType(StatisticalModel::MIXTURE_MODEL);
}

// method: copy constructor
//
// arguments:
//  const PhoneticDecisionTreeNode& copy_node: (input) node to copy
//
// return: none
//
// this is the copy constructor for the PhoneticDecisionTreeNode class
//
PhoneticDecisionTreeNode::PhoneticDecisionTreeNode(const PhoneticDecisionTreeNode& copy_node_a) {

  if (debug_level_d >= Integral::ALL) { 
    String out(L" Constructor of train node: ");
    out.concat(this);
    out.concat("\n");
    Console::put(out);
  }
    
  // assign the node
  //
  assign(copy_node_a);
}

// constants: required constants such as class name
//
const String PhoneticDecisionTreeNode::CLASS_NAME(L"PhoneticDecisionTreeNode");

// constants: i/o related constants
//
const String PhoneticDecisionTreeNode::DEF_PARAM(L"");
const String PhoneticDecisionTreeNode::PARAM_DATAPOINTS(L"datapoints");
const String PhoneticDecisionTreeNode::PARAM_BEST_ATTRIBUTE(L"best_attribute");
const String PhoneticDecisionTreeNode::PARAM_TYPICAL_INDEX(L"typical_index");
const String PhoneticDecisionTreeNode::PARAM_ACTUAL_INDEX(L"actual_index");
const String PhoneticDecisionTreeNode::PARAM_TYPICAL_STAT_MODEL(L"typical_stat_model");
const String PhoneticDecisionTreeNode::PARAM_FLAG_EXISTS(L"flag_exists");

// static instantiations: memory manager and debug level
//
MemoryManager PhoneticDecisionTreeNode::mgr_d(sizeof(PhoneticDecisionTreeNode), name());
Integral::DEBUG PhoneticDecisionTreeNode::debug_level_d = Integral::NONE;
