#include #include "strutil.h" #include "parsimu.h" #include "JackyDebugStream.h" #ifdef JACKY_DEBUG JackyDebugStream *JackyDebugStream::instance(NULL); /******************************************************************* * Function Name: Constructor ********************************************************************/ JackyDebugStream::JackyDebugStream() : jackyDebugStream(NULL) {} /******************************************************************* * Function Name: Destructor ********************************************************************/ JackyDebugStream::~JackyDebugStream() { if(jackyDebugStream) { (*jackyDebugStream) << flush; delete jackyDebugStream; } } //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ //$ Function Name: Stream() : 2005-08-15 //create an fstreams for a LP to print out debug info //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ostream& JackyDebugStream::Stream(){ if(!jackyDebugStream){ int machineNum = ParallelMainSimulator::Instance().getMachineID(); string filename = "jacky_debug" + int2Str(machineNum) + ".output"; //jacky_debugXX.output jackyDebugStream = new fstream(filename.c_str(), ios::out); } return (*jackyDebugStream); } /******************************************************************* * Function Name: Instance ********************************************************************/ JackyDebugStream &JackyDebugStream::Instance() { if( !instance ) { instance = new JackyDebugStream(); } return *instance; } #endif #ifdef JACKY_WRITER JackyWriter *JackyWriter::instance(NULL); /******************************************************************* * Function Name: Constructor ********************************************************************/ JackyWriter::JackyWriter() : jackyWriter(NULL) {} /******************************************************************* * Function Name: Destructor ********************************************************************/ JackyWriter::~JackyWriter() { if(jackyWriter) { (*jackyWriter) << flush; delete jackyWriter; } } //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ //$ Function Name: Stream() : 2005-08-15 //create an fstreams for a LP to print out debug info //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ostream& JackyWriter::Stream(){ if(!jackyWriter){ int machineNum = ParallelMainSimulator::Instance().getMachineID(); string filename = "jacky_writer" + int2Str(machineNum) + ".output"; //jacky_writerXX.output jackyWriter = new fstream(filename.c_str(), ios::out); } return (*jackyWriter); } /******************************************************************* * Function Name: Instance ********************************************************************/ JackyWriter &JackyWriter::Instance() { if( !instance ) { instance = new JackyWriter(); } return *instance; } #endif