static int compositeGetExpression( const cv_converter* const conv, char* const buf, const size_t max, const char* const variable) { char tmpBuf[132]; int nchar = cv_get_expression(conv->composite.first, buf, max, variable); if (nchar >= 0) { buf[max-1] = 0; if (cvNeedsParentheses(buf)) { (void)snprintf(tmpBuf, sizeof(tmpBuf), "(%s)", buf); } else { (void)strncpy(tmpBuf, buf, sizeof(tmpBuf)); tmpBuf[sizeof(tmpBuf)-1] = 0; } nchar = cv_get_expression(conv->composite.second, buf, max, tmpBuf); } return nchar; }
static int expGetExpression( const cv_converter* const conv, char* const buf, const size_t max, const char* const variable) { return cvNeedsParentheses(variable) ? snprintf(buf, max, "pow(%g, (%s))", conv->exp.base, variable) : snprintf(buf, max, "pow(%g, %s)", conv->exp.base, variable); }
static int scaleGetExpression( const cv_converter* const conv, char* const buf, const size_t max, const char* const variable) { return cvNeedsParentheses(variable) ? snprintf(buf, max, "%g*(%s)", conv->scale.value, variable) : snprintf(buf, max, "%g*%s", conv->scale.value, variable); }
static int reciprocalGetExpression( const cv_converter* const conv, char* const buf, const size_t max, const char* const variable) { return cvNeedsParentheses(variable) ? snprintf(buf, max, "1/(%s)", variable) : snprintf(buf, max, "1/%s", variable); }
static int galileanGetExpression( const cv_converter* const conv, char* const buf, const size_t max, const char* const variable) { const int oper = conv->galilean.intercept < 0 ? '-' : '+'; return cvNeedsParentheses(variable) ? snprintf(buf, max, "%g*(%s) %c %g", conv->galilean.slope, variable, oper, fabs(conv->galilean.intercept)) : snprintf(buf, max, "%g*%s %c %g", conv->galilean.slope, variable, oper, fabs(conv->galilean.intercept)); }
static int offsetGetExpression( const cv_converter* const conv, char* const buf, const size_t max, const char* const variable) { const int oper = conv->offset.value < 0 ? '-' : '+'; return cvNeedsParentheses(variable) ? snprintf(buf, max, "(%s) %c %g", variable, oper, fabs(conv->offset.value)) : snprintf(buf, max, "%s %c %g", variable, oper, fabs(conv->offset.value)); }