From 302b0c7eacf46c7315f2390e270ad20f5025c342 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Thu, 28 Jul 2016 15:32:38 +0200 Subject: Convert one more string parsing function to stringToDouble --- matlab/mex/mexHelpFunctions.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'matlab') diff --git a/matlab/mex/mexHelpFunctions.cpp b/matlab/mex/mexHelpFunctions.cpp index 13c4ade..b13dde3 100644 --- a/matlab/mex/mexHelpFunctions.cpp +++ b/matlab/mex/mexHelpFunctions.cpp @@ -402,16 +402,13 @@ mxArray* stringToMxArray(std::string input) return pVector; } - // number - char* end; - double content = ::strtod(input.c_str(), &end); - bool isnumber = !*end; - if (isnumber) { - return mxCreateDoubleScalar(content); + try { + // number + return mxCreateDoubleScalar(StringUtil::stringToDouble(input)); + } catch (const StringUtil::bad_cast &) { + // string + return mxCreateString(input.c_str()); } - - // string - return mxCreateString(input.c_str()); } //----------------------------------------------------------------------------------------- // turn a c++ map into a matlab struct -- cgit v1.2.3 From 584fb584816aefca42518c9a6075ac2df814dac6 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Thu, 28 Jul 2016 15:32:50 +0200 Subject: Replace use of boost::split by own function --- matlab/mex/mexHelpFunctions.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'matlab') diff --git a/matlab/mex/mexHelpFunctions.cpp b/matlab/mex/mexHelpFunctions.cpp index b13dde3..d957aea 100644 --- a/matlab/mex/mexHelpFunctions.cpp +++ b/matlab/mex/mexHelpFunctions.cpp @@ -33,11 +33,6 @@ $Id$ #include "mexHelpFunctions.h" #include "astra/Utilities.h" -#include -#include -#include -#include - using namespace std; using namespace astra; @@ -362,8 +357,8 @@ mxArray* stringToMxArray(std::string input) // split rows std::vector row_strings; std::vector col_strings; - boost::split(row_strings, input, boost::is_any_of(";")); - boost::split(col_strings, row_strings[0], boost::is_any_of(",")); + StringUtil::splitString(row_strings, input, ";"); + StringUtil::splitString(col_strings, row_strings[0], ","); // get dimensions int rows = row_strings.size(); @@ -375,7 +370,7 @@ mxArray* stringToMxArray(std::string input) // loop elements for (unsigned int row = 0; row < rows; row++) { - boost::split(col_strings, row_strings[row], boost::is_any_of(",")); + StringUtil::splitString(col_strings, row_strings[row], ","); // check size for (unsigned int col = 0; col < col_strings.size(); col++) { out[col*rows + row] = StringUtil::stringToFloat(col_strings[col]); @@ -389,7 +384,7 @@ mxArray* stringToMxArray(std::string input) // split std::vector items; - boost::split(items, input, boost::is_any_of(",")); + StringUtil::splitString(items, input, ","); // init matrix mxArray* pVector = mxCreateDoubleMatrix(1, items.size(), mxREAL); -- cgit v1.2.3