|
|
●演算時間系 EstimateCalculationTime、GetOperationTime 関数 ○原理/方法 演算時間評価システムも参照方。 ○基本 時間を求める表は、実測値や、近似式で算出したものを元に、改めて表を生成(結局はカーブを折線近似したことになる)し、その表を線形補間して求める。 ○実測点/折線節点 ・FFT系 FFT乗除算では、桁数の 2N と 2N + 8 で、不連続となる。これを、統一された線形補間方式で算出するために、2N と 2N + 8 の点をペアにして実測し、折線近似する。 ・レガシ一次系 レガシ演算の Comp、Add/Subt、MulI、DivI、MulS は、精度と時間が線形関係となるので、2N 系列で測定する。 ・レガシ二次系 レガシ乗除算のLMul、LDiv は、精度と時間が二次関係となるので、2N 系列に中間点を加えて実測し、近似式を算出している。 ○補間 関係が線形、非線形に依らず以下の方法で補間する。 演算時間を求めたい桁数を P とすれば、
●二進展開法関数 BinaryMethosCount は、以下のように、与えられた数値の二進ビット長とビット 1 の数を数え、正確な乗算回数を返す。 D は与えられた冪数 Friend Function BinDigitCount(ByVal D As Long) As Integer |