ホーム ] アプリ ] コントロール ] クラスライブラリ ]

上へ
実行時間計測ラブラリ
EXIF情報ライブラリ
文字式演算
クイックソートライブラリ
多倍長演算ライブラリ
多倍長演算ライブラリU
画像処理ライブラリ

多倍長演算ライブラリ(MegaPrecision)

目次

最終更新日:2007/04/26 全面改訂

 開発環境を .NET2005 にしたので、それに合せてUltraPrecision の新版として、MegaPrecision を開発(移行)している。基本的には同じであるが、幾つかの改良を加え、.NET2005 の新機能も取り入れた。また、解説自体も見直し、改訂しながら追加してゆく。

 プログラミング仕様では、クラスライブラリでのプログラミング、技術解説では、それらの原理や方法論などについて解説している。

概要

 本来、この類のものは高速な演算が目標であるが、C言語ではなく、VB.NET で作っている。一般的には、VB では、VC++ MFC(ネイティブコードアプリ) の20〜30% 程度速度は遅くなるといわれている。しかし、近年のPC の高速化のお陰で、科学演算向けであっても、VB はその使用に耐えるようになっているように思える。絶対に言えることは、圧倒的なコード量の差であろう。多分、数十分の1で済んでいる。また、ガベージコレクションのオーバーヘッドが大きいが、ガベージコレクションの効果は言うまでもない。

演算速度

 MegaPrecision での演算速度の実測値を紹介する。筆者のマシン環境での値なので、参考として見てほしい。

技術解説(システム編)

 MegaPrecision 特有な技術やそのシステム、(収束、時間)予測システム、予測関数について解説する。

技術解説(四則演算編)

 四則演算、関係演算などの原理と演算方式について解説している。

技術解説(FFT編)

 従来の手法による乗算と除算では、精度が高くなると急激に遅くなる、これは桁数の自乗に比例するからである。高速化としては、FFTによる乗算と、FFT乗算によるニュートン法の逆数除算が定石である。それらについて紹介する。

技術解説(数学関数編)

  平方、立方、正逆三角関数、正逆双曲線関数、対数/指数関数 などの値を多倍長で求める方法や高速化手法について解説している。

●実行モジュール/共有データ

 ソースコードは恥ずかしいので公開しないが、実行モジュールは公開する。ダウンロードして解凍すれば、ユーティリティを実行したり、クラスライブラリによるプログラミングが行える。

○環境条件

  • 実行には、.NET Framework2.0 以上のランタイムが必要。
  • プログラミングでは、.NET2005 以上が必要。
  • XP、2000 にて動作確認済み。
  • メモリは、512MB以上推奨。

○インストール

 以下のフォルダ構成にすること。

・実行モジュール

 C:\MegaPrecision フォルダに、必要な exe、dll を配置する。プログラミングする場合は、その場所の 各dll を参照設定する。モジュールの登録、レジストリ登録など一切不要である。

・共有データ

 C:\MegaPrecisionCommon フォルダに、

Const
System

が、生成され、必要な情報が配置される。

以下のZIPファイルを C:\ で解凍する。

→実行モジュール ダウンロード(V2.2.0.0) 機能追加、バグ修正
→共有データ ダウンロード