CAPD DynSys Library
5.2.0
|
Functions and Maps. More...
Classes | |
class | BasicFunction |
This class is a basic for further protected inheritance to classes Function, Map ... More... | |
class | CnCoeffSlice |
class | Function |
Class Function represents a function . More... | |
class | Map |
This class is used to represent a map . More... | |
Functions | |
size_t | parseBrackets (const std::string &e, size_t position) |
return a position of '(' which is paired with the last ')' or 0, when there are not any parentheses More... | |
size_t | searchForOperator (const std::string &e, unsigned char op, size_t position) |
size_t | searchForFunction (const std::string &fun, const std::string &e) |
returns position of arguments of function <fun> , or 0 if <fun> does not appear or is an argument for some other function More... | |
bool | checkPrefix (const std::string &prefix, const std::string &text) |
Checks if text begins with prefix. More... | |
bool | searchForFunction (const std::string &fun, const std::string &equation, std::string &args) |
Checks if equation is of the form fun(params) More... | |
std::string & | removeBrackets (std::string &eq) |
This function removes exterior brackets. More... | |
void | splitVariables (const std::string &what, const std::string &where, std::vector< std::string > &result) |
bool | isConstant (std::string &s, double &value) |
bool | stringToDouble (std::string const &text, double &result) |
Converts given text to double. More... | |
void | removeWhiteSpaces (std::string &text) |
removes all white spaces from text More... | |
int | parseExpression (std::string &expression, const std::vector< std::string > &vars, std::vector< capd::autodiff::Node > &dag, std::map< std::string, int > &knownNodes) |
a general function that parses expression from a given string. It returns: More... | |
int | parseVariables (std::string expression, std::vector< std::string > &var) |
void | optimizeMul (std::vector< capd::autodiff::Node > &dag, int left, int right, int i) |
void | optimizeSum (std::vector< capd::autodiff::Node > &dag, int left, int right, int i) |
void | optimizeSub (std::vector< capd::autodiff::Node > &dag, int left, int right, int i) |
void | optimizeDiv (std::vector< capd::autodiff::Node > &dag, int left, int right, int i) |
void | optimizeUnivariateFunction (std::vector< capd::autodiff::Node > &dag, int left, int i, capd::autodiff::NodeType n, capd::autodiff::NodeType nConst, capd::autodiff::NodeType nTime, capd::autodiff::NodeType nFunTime) |
void | optimizePow (std::vector< capd::autodiff::Node > &dag, std::vector< int > &pos, int left, int right, int i) |
void | optimizeDAG (std::vector< capd::autodiff::Node > &dag, std::vector< int > &pos) |
int | parseMap (unsigned numberOfVariables, std::string expression, const std::vector< std::string > &var, std::vector< capd::autodiff::Node > &dag, std::vector< int > &pos) |
Functions and Maps.
bool capd::map::checkPrefix | ( | const std::string & | prefix, |
const std::string & | text | ||
) |
Checks if text begins with prefix.
prefix | |
text |
void capd::map::optimizeDAG | ( | std::vector< capd::autodiff::Node > & | dag, |
std::vector< int > & | pos | ||
) |
void capd::map::optimizeDiv | ( | std::vector< capd::autodiff::Node > & | dag, |
int | left, | ||
int | right, | ||
int | i | ||
) |
void capd::map::optimizeMul | ( | std::vector< capd::autodiff::Node > & | dag, |
int | left, | ||
int | right, | ||
int | i | ||
) |
void capd::map::optimizePow | ( | std::vector< capd::autodiff::Node > & | dag, |
std::vector< int > & | pos, | ||
int | left, | ||
int | right, | ||
int | i | ||
) |
void capd::map::optimizeSub | ( | std::vector< capd::autodiff::Node > & | dag, |
int | left, | ||
int | right, | ||
int | i | ||
) |
void capd::map::optimizeSum | ( | std::vector< capd::autodiff::Node > & | dag, |
int | left, | ||
int | right, | ||
int | i | ||
) |
void capd::map::optimizeUnivariateFunction | ( | std::vector< capd::autodiff::Node > & | dag, |
int | left, | ||
int | i, | ||
capd::autodiff::NodeType | n, | ||
capd::autodiff::NodeType | nConst, | ||
capd::autodiff::NodeType | nTime, | ||
capd::autodiff::NodeType | nFunTime | ||
) |
size_t capd::map::parseBrackets | ( | const std::string & | e, |
size_t | position | ||
) |
return a position of '(' which is paired with the last ')' or 0, when there are not any parentheses
int capd::map::parseExpression | ( | std::string & | expression, |
const std::vector< std::string > & | vars, | ||
std::vector< capd::autodiff::Node > & | dag, | ||
std::map< std::string, int > & | knownNodes | ||
) |
a general function that parses expression from a given string. It returns:
[out] | vars | - vector of variables and parameters |
[out] | dag | - DAG of the expression represented as an array. Each element of the array encodes operation, and index of left and/or right subexpressions. |
[out] | knownNodes | - this is a temporary variable for recursive calls of this function. It contains an array of already recognized subexpression. Used for optimization of DAG. |
int capd::map::parseMap | ( | unsigned | numberOfVariables, |
std::string | expression, | ||
const std::vector< std::string > & | var, | ||
std::vector< capd::autodiff::Node > & | dag, | ||
std::vector< int > & | pos | ||
) |
int capd::map::parseVariables | ( | std::string | expression, |
std::vector< std::string > & | var | ||
) |
std::string & capd::map::removeBrackets | ( | std::string & | eq | ) |
This function removes exterior brackets.
void capd::map::removeWhiteSpaces | ( | std::string & | text | ) |
removes all white spaces from text
size_t capd::map::searchForFunction | ( | const std::string & | fun, |
const std::string & | e | ||
) |
returns position of arguments of function <fun> , or 0 if <fun> does not appear or is an argument for some other function
bool capd::map::searchForFunction | ( | const std::string & | fun, |
const std::string & | equation, | ||
std::string & | args | ||
) |
Checks if equation is of the form fun(params)
[in] | fun | function name to be searched for |
[in] | equation | where to search |
[out] | args | if equation has form "fun(params)" then on exit it contains "(args)" otherwise it is not changed |
size_t capd::map::searchForOperator | ( | const std::string & | e, |
unsigned char | op, | ||
size_t | position | ||
) |
void capd::map::splitVariables | ( | const std::string & | what, |
const std::string & | where, | ||
std::vector< std::string > & | result | ||
) |
Converts given text to double.
Converts given text to double (returns true on success)
[in] | text | double number in the C format |
[out] | result | on success value of converted text, on failure result is not changed |