Javaに挑戦

C++/CLIでDirectShowを扱う方法は情報が少なく現在挫折中。ていうかDIrectXSDK付属のmanaged用のマニュアルには一切記述なし。DirectShowはDirectXの内の一つじゃないのか?
というわけで唐突にJavaに挑戦。


とりあえずなんだからニュートン法で方程式を解くクラスを作ってみる。
まず慣れたC++で作るとこんな感じ。

#ifndef NEWTON_H_
#define NEWTON_H_
namespace MasaH
{
namespace Math
{
typedef double (*func1d)(double);

class Newton
{
public:
	Newton();
	~Newton();
	double	throw_solve(double x0=10.0);//solve y=0
	bool	setf(func1d);//Set f(x) and unset df(x).
	bool	setdf(func1d);
	bool	seteps(double);
	bool	seth(double);
private:
	func1d	f;	//y=f(x)
	func1d	df;	//dy/dx=df(x)
	double	edf(double);//dy/dx neary equal edf(x)
	bool	exist_df;//set df?
	double	eps;//epsilon.
	double	h;//related to edf()
};

}
}

#endif /*NEWTON_H_*/

これをJavaで書き直そうかと思ったのだけれど関数ポインタって多分使えないんだよね。となるとinterfaceで宣言するか、解くべき関数を含んだ別のクラスのインスタンスを引数として渡すしかないのか?どちらがスマートか考え中。