// file: $isip/class/pr/RegressionDecisionTreeNode/rdtnod_00.cc
// version: $Id: rdtnod_00.cc 9459 2004-04-19 16:06:08Z gao $
//

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

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

  if (debug_level_d >= Integral::ALL) { 
    String out(L" Constructor of Regression-decision-tree node: ");
    out.concat(this);
    out.concat("\n");
    Console::put(out);
  }
    
  // initialize member data
  //
  speech_flag_d = DEF_FLAG_EXISTS;
  split_flag_d = DEF_FLAG_EXISTS;
}

// method: copy constructor
//
// arguments:
//  const RegressionDecisionTreeNode& copy_node: (input) node to copy
//
// return: none
//
// this is the copy constructor for the RegressionDecisionTreeNode class
//
RegressionDecisionTreeNode::RegressionDecisionTreeNode(const RegressionDecisionTreeNode& 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 RegressionDecisionTreeNode::CLASS_NAME(L"RegressionDecisionTreeNode");

// constants: i/o related constants
//
const String RegressionDecisionTreeNode::DEF_PARAM(L"");
const String RegressionDecisionTreeNode::PARAM_DATAPOINTS(L"datapoints");

const String RegressionDecisionTreeNode::PARAM_AVERAGE_MEAN(L"average_mean");
const String RegressionDecisionTreeNode::PARAM_CLUSTER_SCORE(L"cluster_score");
const String RegressionDecisionTreeNode::PARAM_CLUSTER_ACCUMULATE(L"cluster_accumulate");
const String RegressionDecisionTreeNode::PARAM_NUMBER_COMPONENTS(L"number_components");
const String RegressionDecisionTreeNode::PARAM_NODE_INDEX(L"node_index");
const String RegressionDecisionTreeNode::PARAM_AVERAGE_COVARIANCE(L"average_covariance");
const String RegressionDecisionTreeNode::PARAM_SPEECH_FLAG(L"speech_flag");
const String RegressionDecisionTreeNode::PARAM_SPLIT_FLAG(L"split_flag");
const String RegressionDecisionTreeNode::PARAM_PARENT_NODE_INDEX(L"parent_node_index");
const String RegressionDecisionTreeNode::PARAM_TRANSFORM_FLAG(L"transform_flag");

const String RegressionDecisionTreeNode::PARAM_STAT_MODELS(L"stat_models");
const String RegressionDecisionTreeNode::PARAM_W_TRANSFORM(L"w_transform");
const String RegressionDecisionTreeNode::PARAM_DBGL(L"debug_level");

// static instantiations: memory manager and debug level
//
MemoryManager RegressionDecisionTreeNode::mgr_d(sizeof(RegressionDecisionTreeNode), name());
