[Avida-SVN] r3416 - development/source/tools
brysonda at myxo.css.msu.edu
brysonda at myxo.css.msu.edu
Tue Sep 22 13:08:55 PDT 2009
Author: brysonda
Date: 2009-09-22 16:08:55 -0400 (Tue, 22 Sep 2009)
New Revision: 3416
Modified:
development/source/tools/cDataFile.cc
development/source/tools/cDataFile.h
development/source/tools/cDataManager_Base.cc
Log:
Adjust cDataFile to unify number formatting of the first data line with all subsequent lines. Also clear out buffered line and comment strings once written to reduce unnecessary memory use.
THIS WILL BREAK CONSISTENCY
No quantitative differences, but the formatting of the output line changes and thus output files are no longer character for character matches.
Modified: development/source/tools/cDataFile.cc
===================================================================
--- development/source/tools/cDataFile.cc 2009-09-22 19:52:43 UTC (rev 3415)
+++ development/source/tools/cDataFile.cc 2009-09-22 20:08:55 UTC (rev 3416)
@@ -44,7 +44,7 @@
void cDataFile::Write( double x, const char* descr )
{
if (!m_descr_written) {
- m_data += cStringUtil::Stringf("%f ", x);
+ m_data << x << " ";
WriteColumnDesc(descr);
} else
m_fp << x << " ";
@@ -54,7 +54,7 @@
void cDataFile::Write(int i, const char* descr)
{
if (!m_descr_written) {
- m_data += cStringUtil::Stringf("%i ", i);
+ m_data << i << " ";
WriteColumnDesc(descr);
} else
m_fp << i << " ";
@@ -64,7 +64,7 @@
void cDataFile::Write(long i, const char* descr)
{
if (!m_descr_written) {
- m_data += cStringUtil::Stringf("%i ", i);
+ m_data << i << " ";
WriteColumnDesc(descr);
} else
m_fp << i << " ";
@@ -73,7 +73,7 @@
void cDataFile::Write(unsigned int i, const char* descr)
{
if (!m_descr_written) {
- m_data += cStringUtil::Stringf("%u ", i);
+ m_data << i << " ";
WriteColumnDesc(descr);
} else
m_fp << i << " ";
@@ -83,7 +83,7 @@
void cDataFile::Write(const char* data_str, const char* descr)
{
if (!m_descr_written) {
- m_data += cStringUtil::Stringf("%s ", data_str);
+ m_data << data_str << " ";
WriteColumnDesc(descr);
} else
m_fp << data_str << " ";
@@ -145,7 +145,10 @@
{
if ( !m_descr_written ){
m_fp << m_descr;
+ m_descr = "";
+
m_descr_written = true;
+ assert(m_data.str().size() == 0);
}
}
@@ -154,7 +157,12 @@
{
if ( !m_descr_written ){
m_fp << m_descr << endl;
- m_fp << m_data << endl;
+ m_descr = "";
+
+ m_fp << m_data.str() << endl;
+ m_data.clear();
+ m_data.str("");
+
m_descr_written = true;
}
else m_fp << endl;
Modified: development/source/tools/cDataFile.h
===================================================================
--- development/source/tools/cDataFile.h 2009-09-22 19:52:43 UTC (rev 3415)
+++ development/source/tools/cDataFile.h 2009-09-22 20:08:55 UTC (rev 3416)
@@ -27,6 +27,7 @@
#define cDataFile_h
#include <fstream>
+#include <sstream>
#ifndef cString_h
#include "cString.h"
@@ -50,7 +51,7 @@
#endif
private:
cString m_name;
- cString m_data;
+ std::ostringstream m_data;
cString m_descr;
int num_cols;
Modified: development/source/tools/cDataManager_Base.cc
===================================================================
--- development/source/tools/cDataManager_Base.cc 2009-09-22 19:52:43 UTC (rev 3415)
+++ development/source/tools/cDataManager_Base.cc 2009-09-22 20:08:55 UTC (rev 3416)
@@ -52,7 +52,6 @@
}
data_file.WriteColumnDesc(cur_desc);
}
- data_file.FlushComments();
data_file.Endl();
}
More information about the Avida-cvs
mailing list