Évaluer des expressions mathématiques complexes en C peut être une tâche difficile. Une approche populaire consiste à intégrer Python dans C , en utilisant ses robustes capacités d'évaluation d'expression. Cependant, il existe des solutions alternatives qui peuvent offrir des performances ou une simplicité améliorées.
L'une de ces solutions est la bibliothèque ExprTk. Conçu spécifiquement pour l'évaluation d'expressions mathématiques, ExprTk fournit un ensemble complet de fonctions et d'opérateurs, permettant l'évaluation efficace d'expressions arbitraires.
Considérez l'expression personnalisée suivante :
3 + sqrt(5) + pow(3) + log(5)
En utilisant ExprTk, nous pouvons dériver une solution simple et directe :
<code class="cpp">#include <exprtk.hpp> typedef exprtk::expression<double> expression_t; typedef exprtk::parser<double> parser_t; int main() { std::string expression_string = "3 + sqrt(5) + pow(3,2) + log(5)"; expression_t expression; parser_t parser; if (parser.compile(expression_string, expression)) { double result = expression.value(); printf("Result: %19.15f\n", result); } else printf("Error in expression.\n"); return 0; }</code>
Avantages d'ExprTk :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!