2

x * log(x)やsin(x)のような式を解釈するには、C /C++プログラムに何かを埋め込む必要があります。小さくてシンプルなものが欲しいのですが、そうでない場合は、Python、Ch、Schemeを埋め込むか、名前を付けることができます。しかし、必要なのは単純な数式だけです。運が悪かったのでウェブを検索しました。私はそれを必要としませんが、パフォーマンス(例えば、単純なJITの使用)はボーナスになります。

4

5 に答える 5

5

逆ポーランド記法を使用します。アルゴリズムはいくつかあります
。1。方程式を解析して中置記法に変換します(簡単です。記号のチェーンを識別するだけです)
。2。Dijkstraの操車場アルゴリズムを使用して中置記法をRPNに変換します。
3. DFSを使用して、式を計算します

ネット上にはたくさんの実装があると確信しています。私は数年前に自分で書いたものです(機能機能なし)。

于 2010-07-26T09:16:07.100 に答える
4

この種のもののための優れた移植可能な言語はJavaScriptです。選択できる実装はいくつかありますが、CおよびC++には少なくとも次のものがあります。

もう1つの簡単に埋め込むことができる選択肢は、Luaかもしれません。式パーサーを再発明するよりも、既存のものを使用する方が確かに簡単です。

于 2010-07-26T09:07:29.963 に答える
4

Lua-埋め込みと使用がはるかに簡単、JITを備えた非常に小さくて非常に高速なバージョンがあります:http://luajit.org/

于 2010-07-26T09:21:48.687 に答える
0

FFmpegにはとても素敵なものがありますのでチェックしてください。

于 2010-07-26T10:41:11.130 に答える
0

そのような式を計算するための独自の単純なスタックマシンを作成するのはどうですか?

于 2010-07-26T10:58:43.160 に答える