19 void handleError(
const std::string& fClass,
const std::string& fMessage) __attribute__ ((noreturn));
24 float result = strtod (token.c_str(), &endptr);
25 if (endptr == token.c_str())
27 std::stringstream sserr;
28 sserr<<
"can't convert token "<<token<<
" to float value";
37 unsigned result = strtoul (token.c_str(), &endptr, 0);
38 if (endptr == token.c_str())
40 std::stringstream sserr;
41 sserr<<
"can't convert token "<<token<<
" to unsigned value";
49 size_t iFirst = token.find (
'[');
50 size_t iLast = token.find (
']');
51 if (iFirst != std::string::npos && iLast != std::string::npos && iFirst < iLast)
52 return std::string (token, iFirst+1, iLast-iFirst-1);
56 std::vector<std::string>
getTokens(
const std::string& fLine)
58 std::vector<std::string> tokens;
59 std::string currentToken;
60 for (
unsigned ipos = 0; ipos < fLine.length (); ++ipos)
66 if (!currentToken.empty())
68 tokens.push_back(currentToken);
75 if (!currentToken.empty()) tokens.push_back(currentToken);
81 size_t iFirst = token.find (
'{');
82 size_t iLast = token.find (
'}');
83 if (iFirst != std::string::npos && iLast != std::string::npos && iFirst < iLast)
84 return std::string (token, iFirst+1, iLast-iFirst-1);
88 void handleError(
const std::string& fClass,
const std::string& fMessage)
90 std::stringstream sserr;
91 std::cout <<fClass<<
" ERROR: "<<fMessage << std::endl;
100 D[0] = fX[0]*fX[1]*(fX[0]-fX[1])+fX[1]*fX[2]*(fX[1]-fX[2])+fX[2]*fX[0]*(fX[2]-fX[0]);
101 D[3] = fY[0]*(fX[1]-fX[2])+fY[1]*(fX[2]-fX[0])+fY[2]*(fX[0]-fX[1]);
102 D[2] = fY[0]*(pow(fX[2],2)-pow(fX[1],2))+fY[1]*(pow(fX[0],2)-pow(fX[2],2))+fY[2]*(pow(fX[1],2)-pow(fX[0],2));
103 D[1] = fY[0]*fX[1]*fX[2]*(fX[1]-fX[2])+fY[1]*fX[0]*fX[2]*(fX[2]-fX[0])+fY[2]*fX[0]*fX[1]*(fX[0]-fX[1]);
116 float r = a[0]+fZ*(a[1]+fZ*a[2]);
std::string getDefinitions(const std::string &token)
void handleError(const std::string &fClass, const std::string &fMessage)
std::string getSection(const std::string &token)
std::vector< std::string > getTokens(const std::string &fLine)
float getFloat(const std::string &token)
float quadraticInterpolation(float fZ, const float fX[3], const float fY[3])
unsigned getUnsigned(const std::string &token)