C++ で、やや一般的な単一変数の統合ルーチンを作成しようとしています。次のように、単一の変数関数へのポインターを受け入れる適応求積法を作成しました。
typedef complex<double> cd;
cd GaussIntegrate(cd (*f) (cd),cd zmin,cd zmax);
しかし、それを一般的な多変量関数に拡張したいと考えています。統合は依然として単一の変数になりますが、関数が複数の変数に依存できるようにしたいと思います。
cd GaussIntegrate(cd (*f) (cd, ...),cd zmin,cd zmax);
たとえば、 func(cd) または func(cd,double,int) を統合関数として使用できます。
ただし、そのようなテンプレートを作成する最善の方法が何であるかはわかりません。残りのパラメーターを指定する方法があるはずなので、代わりに
GaussIntegrate(&function,zmin,zmax);
私も次のようなものを書くことができるはずです
GaussIntegrate(&function(param2,param3),zmin,zmax);
現在、ブリッジ 1 変数関数を使用してこれを行っており、残りのパラメーターをグローバルとして指定していますが、これは非常に洗練されていないソリューションです。誰かが私にもっと良いものをくれますか?
ありがとう、
1月