// file: $isip_ifc/class/algo/CorrelationDimension/cdim_01.cc
// version: $Id: cdim_01.cc 10555 2006-04-19 08:39:03Z pannuri $
//

// isip include files
//
#include <Console.h>
#include "CorrelationDimension.h"

// method: debug
//
// arguments:
//  const unichar* msg: (input) message to print
//
// return: a boolean value indicating status
//
boolean CorrelationDimension::debug(const unichar* msg_a) const {

  // declare local variables
  //
  String value;
  String output;
 
  // output an information message
  //
  output.debugStr(name(), msg_a, L":");
  Console::put(output);
  Console::increaseIndention();
  
  // display the algorithm name
  //
  output.debugStr(name(), msg_a, L"algorithm_d",
                  ALGO_MAP.getName((long)algorithm_d));
  Console::put(output);
  
  // display the implementation name
  //
  output.debugStr(name(), msg_a, L"implementation_d",
                  IMPL_MAP.getName((long)implementation_d));
  Console::put(output);

  // display the scaling name
  //
  output.debugStr(name(), msg_a, L"scaling_d",
                  SCAL_MAP.getName((long)scaling_d));
  Console::put(output);

  // display epsilon minimum
  //
  value.assign((float)epsilon_min_d);
  output.debugStr(name(), msg_a, L"epsilon_min_d", value);
  Console::put(output);

  // display epsilon maximum
  //
  value.assign((float)epsilon_max_d);
  output.debugStr(name(), msg_a, L"epsilon_max_d", value);
  Console::put(output);

  // display resolution of epsilon 
  //
  value.assign((long)epsilon_res_d);
  output.debugStr(name(), msg_a, L"epsilon_res_d", value);
  Console::put(output);
 
  // display the delta
  //
  value.assign((float)delta_d);
  output.debugStr(name(), msg_a, L"delta_d", value);
  Console::put(output);

  // display resolution of Theiler's correction
  //
  value.assign((long)theiler_correction_d);
  output.debugStr(name(), msg_a, L"theiler_correction_d", value);
  Console::put(output);

  // display the base class
  //
  AlgorithmBase::debug(L"AlgorithmBase");

 // decrease indention
  //
  Console::decreaseIndention();
 
  // exit gracefully
  //
  return true;
}
