多倍長は脇におくにしても、
以外に、
- double か kv::dd か
- 1つの浮動小数点数で近似するか、
浮動小数点数を上端・下端とする区間で厳密に包むか
3 つの選択がある。
通りの型がある。
念のため列挙しておく。
- 実数を1つの double データで近似する … double
- 実数を2つの double データを端点とする区間で厳密に包む …
kv::interval<double>
- 実数を1つの dd データで近似する … kv::dd
- 実数を2つの dd データを端点とする区間で厳密に包む …
kv::interval<kv::dd>
- 複素数の実部と虚部をそれぞれ1つの double データで近似する …
kv::complex<double>
- 複素数の実部と虚部をそれぞれ1つの dd データで近似する …
kv::complex<kv::dd>
- 複素数の実部と虚部をそれぞれ2つの double データを端点とする区間で
厳密に包む … kv::complex<kv::interval<double> >
- 複素数の実部と虚部をそれぞれ2つの dd データを端点とする区間で
厳密に包む … kv::complex<kv::interval<kv::dd> >
(> が二つ重なった » は見難いので、
わざとブランクを入れて > > としてある。)
kv-version/test/test-complex.cc が良い例になっている。
桂田 祐史
2016-03-04