多数のデータ ポイントをループし、各データ ポイントに対して演算を実行し、各データ ポイントの結果を返すプログラムがあります。言う、
for(int i=1;i<LEN-1;++i)
result[i]=operate(userfunc,i);
内部的には、データ ポイントのさまざまな近傍の値を含むいくつかの変数を定義できます。
double operate(string userfunc, int i){
double next=data[i+1];
double prev=data[i-1];
double me=data[i];
userfunc(me,prev,next);
}
ユーザーが、次のような、操作したい変数とともに実行したい数学演算を含む入力文字列を提供することを想像します。
0.5+me*min(prev,next)
私の質問は、ユーザーの入力の解析を容易にするライブラリが存在するかどうかです。私の現在の考えには、Boost.Spirit または多数の正規表現の使用が含まれます。しかし、おそらくもっと簡単な方法があります。