20 void handleError(
const std::string& fClass,
const std::string& fMessage) __attribute__ ((noreturn));
25 float result = strtod (token.c_str(), &endptr);
26 if (endptr == token.c_str())
28 std::stringstream sserr;
29 sserr<<
"can't convert token "<<token<<
" to float value";
38 unsigned result = strtoul (token.c_str(), &endptr, 0);
39 if (endptr == token.c_str())
41 std::stringstream sserr;
42 sserr<<
"can't convert token "<<token<<
" to unsigned value";
50 size_t iFirst = token.find (
'[');
51 size_t iLast = token.find (
']');
52 if (iFirst != std::string::npos && iLast != std::string::npos && iFirst < iLast)
53 return std::string (token, iFirst+1, iLast-iFirst-1);
57 std::vector<std::string>
getTokens(
const std::string& fLine)
59 std::vector<std::string> tokens;
60 std::string currentToken;
61 for (
unsigned ipos = 0; ipos < fLine.length (); ++ipos)
67 if (!currentToken.empty())
69 tokens.push_back(currentToken);
76 if (!currentToken.empty()) tokens.push_back(currentToken);
82 size_t iFirst = token.find (
'{');
83 size_t iLast = token.find (
'}');
84 if (iFirst != std::string::npos && iLast != std::string::npos && iFirst < iLast)
85 return std::string (token, iFirst+1, iLast-iFirst-1);
89 void handleError(
const std::string& fClass,
const std::string& fMessage)
91 std::stringstream sserr;
92 std::cout <<fClass<<
" ERROR: "<<fMessage << std::endl;
101 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]);
102 D[3] = fY[0]*(fX[1]-fX[2])+fY[1]*(fX[2]-fX[0])+fY[2]*(fX[0]-fX[1]);
103 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));
104 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]);
117 float r = a[0]+fZ*(a[1]+fZ*a[2]);
float quadraticInterpolation(float fZ, const float fX[3], const float fY[3])
std::string getSection(const std::string &token)
void handleError(const std::string &fClass, const std::string &fMessage)
unsigned getUnsigned(const std::string &token)
float getFloat(const std::string &token)
std::vector< std::string > getTokens(const std::string &fLine)
std::string getDefinitions(const std::string &token)