ホーム ] 多倍長語の構造 ] プログラミング仕様 ] インストール ] ユーティリティ ] 数学定数システム ] 四則演算 ] 数学関数 ]

上へ
CompactLong
CompactPrecision
CompactFFT

多倍長演算ライブラリU(CompactPrecision)

FFT

最終更新日:2007/04/26 新規

●概要

 数千桁でも乗算は、やはりFFT乗算の方が早いので、FFT乗算と逆数除算機能は持たせている。しかし、CompactPrecision は精度が高々数千桁なので、400万桁まで扱えるFFTライブラリは重過ぎる。今回、CompactFFT なる、小規模なFFTライブラリを開発した。初期化にて、データ数 2L のL を指定できるようにした。CompactPrecision では、L = 13 としている。これにて、Sinテーブルなどは従来の百分の1になっている。

●乗算専用関数

 可変長のInteger仮数部形式配列を入力すると、自動的に 1万進数に変換し、線形化し、フーリエ空間で畳込みを行い、再び、実空間で1億進数の結果を得る乗算専用関数をFFTに加えた。

Public Shared Sub ConvolutionLinearInteger(ByRef A() As Integer, ByVal AL As Integer, ByRef B() As Integer, ByVal BL As Integer, ByRef C() As Integer)

AL:A() に実際に値が入っている要素数
BL:B() に実際に値が入っている要素数

内部では、Max(AL, BL) にて、最適FFTサイズを決定する。