-bool\r
-PlotFile::addColumn (int iCol, const float* const pdColData)\r
-{\r
- if (iCol < 0 || iCol >= m_iNumColumns) {\r
- sys_error (ERR_SEVERE, "Illegal column number %d [PlotFile::addColumn]", iCol);\r
- return (false);\r
- }\r
- \r
- for (int iRec = 0; iRec < m_iNumRecords; iRec++)\r
- m_vecCurves[ iRec + (iCol * m_iNumRecords) ] = pdColData [iRec];\r
- \r
- return true;\r
-}\r
-\r
-void\r
-PlotFile::getColumn (int iCol, double* pdColData) const\r
-{\r
- if (iCol < 0 || iCol >= m_iNumColumns) {\r
- sys_error (ERR_SEVERE, "Illegal column number %d [PlotFile::addColumn]", iCol);\r
- return;\r
- }\r
- \r
- for (int iRec = 0; iRec < m_iNumRecords; iRec++)\r
- pdColData[iRec] = m_vecCurves[ iRec + (iCol * m_iNumRecords) ];\r
- \r
-}\r
-\r
-bool\r
-PlotFile::getMinMax (int iStartingCol, double& dMin, double& dMax) const\r
-{\r
- if (iStartingCol >= m_iNumColumns) {\r
- sys_error (ERR_WARNING, "iStartingCol >= iNumColumns");\r
- return false;\r
- }\r
- \r
- int iOffset = iStartingCol * m_iNumRecords;\r
- dMin = m_vecCurves[ 0 + iOffset ];\r
- dMax = dMin;\r
- \r
- for (int iCol = iStartingCol; iCol < m_iNumColumns; iCol++) {\r
- int iOffset = iCol * m_iNumRecords;\r
- for (int iRec = 0; iRec < m_iNumRecords; iRec++) {\r
- double dVal = m_vecCurves[ iRec + iOffset ];\r
- if (dVal < dMin)\r
- dMin = dVal;\r
- else if (dVal > dMax)\r
- dMax = dVal;\r
- }\r
- }\r
- \r
- return true;\r
-}\r
-\r
-bool \r
-PlotFile::statistics (int iStartingCol, double& min, double& max, double& mean, double& mode, double& median, double &stddev) const\r
-{\r
- if (iStartingCol >= m_iNumColumns) {\r
- sys_error (ERR_WARNING, "iStartingCol >= iNumColumns");\r
- return false;\r
- }\r
- \r
- int iNPoints = (m_iNumColumns - iStartingCol) * m_iNumRecords;\r
- std::vector<double> vec;\r
- vec.resize (iNPoints);\r
- \r
- int iVec = 0;\r
- for (int iCol = iStartingCol; iCol < m_iNumColumns; iCol++) {\r
- int iOffset = iCol * m_iNumRecords;\r
- for (int iRec = 0; iRec < m_iNumRecords; iRec++)\r
- vec[iVec++] = m_vecCurves[ iRec + iOffset ];\r
- }\r
- \r
- vectorNumericStatistics (vec, iNPoints, min, max, mean, mode, median, stddev);\r
- \r
- return true;\r
-}\r
-\r
+bool
+PlotFile::addColumn (int iCol, const float* const pdColData)
+{
+ if (iCol < 0 || iCol >= m_iNumColumns) {
+ sys_error (ERR_SEVERE, "Illegal column number %d [PlotFile::addColumn]", iCol);
+ return (false);
+ }
+
+ for (int iRec = 0; iRec < m_iNumRecords; iRec++)
+ m_vecCurves[ iRec + (iCol * m_iNumRecords) ] = pdColData [iRec];
+
+ return true;
+}
+
+void
+PlotFile::getColumn (int iCol, double* pdColData) const
+{
+ if (iCol < 0 || iCol >= m_iNumColumns) {
+ sys_error (ERR_SEVERE, "Illegal column number %d [PlotFile::addColumn]", iCol);
+ return;
+ }
+
+ for (int iRec = 0; iRec < m_iNumRecords; iRec++)
+ pdColData[iRec] = m_vecCurves[ iRec + (iCol * m_iNumRecords) ];
+
+}
+
+bool
+PlotFile::getMinMax (int iStartingCol, double& dMin, double& dMax) const
+{
+ if (iStartingCol >= m_iNumColumns) {
+ sys_error (ERR_WARNING, "iStartingCol >= iNumColumns");
+ return false;
+ }
+
+ int iOffset = iStartingCol * m_iNumRecords;
+ dMin = m_vecCurves[ 0 + iOffset ];
+ dMax = dMin;
+
+ for (int iCol = iStartingCol; iCol < m_iNumColumns; iCol++) {
+ int iOffset = iCol * m_iNumRecords;
+ for (int iRec = 0; iRec < m_iNumRecords; iRec++) {
+ double dVal = m_vecCurves[ iRec + iOffset ];
+ if (dVal < dMin)
+ dMin = dVal;
+ else if (dVal > dMax)
+ dMax = dVal;
+ }
+ }
+
+ return true;
+}
+
+bool
+PlotFile::statistics (int iStartingCol, double& min, double& max, double& mean, double& mode, double& median, double &stddev) const
+{
+ if (iStartingCol >= m_iNumColumns) {
+ sys_error (ERR_WARNING, "iStartingCol >= iNumColumns");
+ return false;
+ }
+
+ int iNPoints = (m_iNumColumns - iStartingCol) * m_iNumRecords;
+ std::vector<double> vec;
+ vec.resize (iNPoints);
+
+ int iVec = 0;
+ for (int iCol = iStartingCol; iCol < m_iNumColumns; iCol++) {
+ int iOffset = iCol * m_iNumRecords;
+ for (int iRec = 0; iRec < m_iNumRecords; iRec++)
+ vec[iVec++] = m_vecCurves[ iRec + iOffset ];
+ }
+
+ vectorNumericStatistics (vec, iNPoints, min, max, mean, mode, median, stddev);
+
+ return true;
+}
+