ユーザーがアプリが描画する関数を入力するWindows Phone用の関数グラフアプリを作成しています。高速な(ここでは可能な限り高速な) 式エバリュエーターが必要です。私はそこに多くの数学パーサーを見てきましたが、コンパイルと評価を個別に許可するものはないようです。30 またはそれ以上の 60 fpsで多くのデータポイント (1000 以上)を計算する必要があるため、これが必要です。私が見つけたものはすべて、文字列を取得して解析し、同時に評価します。これは Windows Phone 用に作成しているため、制限によりC# コードを直接コンパイルすることはできません。
次のようなことができるはずです: 2^2*sin(x/20)+abs(x)/log(x, 2)
解決済み:
これをグーグルで検索できなかったので、私は自分自身に本当に腹を立てています。最終的にここで質問すると、自分で答えを見つけることができます。
これはトリックをしました:
http://nicoschertler.wordpress.com/2011/09/22/math-parser-using-lambda-expressions/
1.5GHz のデュアルコア電話が 60fps で 1/4 ピクセルの精度で実行できるほど優れています!!