|
●概要 MegaPrecision とほぼ同じであるが、桁数が短い分、高速化にこだわる必要はない。 ●収束判定 級数やニュートンの収束判定は、公称精度 + 拡張精度/2 としている。実際には、4000 + 96/2 =4048 となっている。これにて、4000桁を保障している。 ●平方根/立方根 桁数が短いので、通常の15桁の初期値による逆数ニュートン法で求めている。 ●逆数 多段初期値によるニュートン法で求めている。 ●指数関数 ○整数指数 二進展開法で演算している。 指数が、Long を超える場合は、CompactLong の整数を指数にできる。その場合は、以下のように二進展開される。 C=AB の内部関数。BはCompactLong の整数 Friend Sub CIPower(ByRef A As CompactLong, ByRef B As CompactLong, ByRef C As
CompactLong) ○Exp 指数を、整数部と小数部に分離し、それぞれを演算して積を求めている。指数小数部が、10-7以上であれば、1億分の1(1/N法)にし、級数でもとめ、結果を1億乗している。指数分割法は採用していない。 ○実数指数 Expとほぼ同じ。ABの時、級数の変数が、ln(A)・B になるだけ。 ●対数関数 ○自然対数 差分法で求めている。 ○常用対数 仮数部の自然対数をもとめ。定数Ln10 で除したものと指数部を加算している。 ●三角関数/逆三角関数 ○Sin/Cos 角度を1/520 し、級数で求め、5倍角公式で漸化して求めている。 ○ASin/ACos 差分法で求めている。余角法は採用していない。 ○ATan 変数の絶対値が、10-15以下なら、直接級数で求め、1015以上なら、余角法で求め、それ以外で、100以上なら、余角法+差分法で、いずれでもなければ、差分法で求めている。 ●双曲線関数/逆双曲線関数 数学の定義式でそのまま求めている。
|