C で複雑な数学式を評価するのは、困難な作業となる場合があります。一般的なアプローチの 1 つは、Python を C に埋め込み、その堅牢な式評価機能を利用することです。ただし、パフォーマンスや簡素性を向上させる代替ソリューションが存在します。
そのようなソリューションの 1 つは、ExprTk ライブラリです。数式評価用に特別に設計された ExprTk は、関数と演算子の包括的なセットを提供し、任意の式の効率的な評価を可能にします。
次のカスタム式を考えてみましょう:
3 + sqrt(5) + pow(3) + log(5)
ExprTk を使用すると、シンプルで簡単な解決策を導き出すことができます。
<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>
ExprTk の利点:
以上がExprTk を使用して C でカスタム数式を効率的に評価する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。