HugeCalc

HugeCalc 是一款高精度算法庫(同時支持 MBCS + UNICODE 版),適合於大規模科學計算,尤其適用於數論、密碼學等領域研究,其核心算法耗費作者十餘年的心血。具有占用資源少、效率高、使用便捷、易二次開發、可移植性強、可擴展性好等特點。

基本介紹

  • 外文名:HugeCalc
  • 關鍵檔案: HugeCalc.dll 
  • 提供:公共函式接口 709 個
  • 功能:高精度快速加法
介紹,功能,特點,

介紹

關鍵檔案 HugeCalc.dll 雖然很小,卻提供了公共函式接口 709 個(標準C++接口 473 個;標準C接口 236 個),且其計算速度完全可與大型專業數學工具軟體媲美!

功能

現已提供了如下功能:
⊙ 高精度快速加法
⊙ 高精度快速減法
⊙ 高精度快速乘法
⊙ 高精度快速除法
⊙ 高精度快速同餘
⊙ 高精度快速位運算
⊙ 高精度快速乘方
⊙ 高精度快速開方
⊙ 超大整數快速取對數
⊙ 高精度快速求排列
⊙ 高精度快速求組合
⊙ 高精度快速階乘、雙階乘、素數階乘
⊙ 高精度快速計算 Fibonacci、Lucas 數列
⊙ 高精度快速乘積取模
⊙ 高精度快速數論倒數取模運算
⊙ 高精度快速乘方取模(支持負指數)
⊙ 高精度快速求最大公約數(支持群組運算)
⊙ 高精度快速計算擴展最大公約數
⊙ 高精度快速求最低公倍數(支持群組運算)
⊙ 高精度快速“等冪和”(支持群組運算)
⊙ 高精度快速任意進制轉換
⊙ 超大整數素性快速檢測
⊙ 生成隨機超大(素)整數、快速生成最鄰近素數
⊙ 自由指定有效位運算
⊙ 強大而靈活的輸出
⊙ 高精度計時器(有暫停、累計、復位等功能)
為了與廣大網友分享 HugeCalc 帶來的便捷,該版公開了 HugeCalc.dll 的所有接口檔案(同時支持 MBCS + UNICODE 版),大家可以更自由地進行高精度計算或自開發,而無須再依賴於 Mathematica 等大型軟體。
V6.x 新增了各種標準導入接口,可方便各種程式語言進行二次開發,如 C++、C、VB、Delphi 等。
V7.x 可自動偵測用戶 CPU 的型號,並據此自動調整算法及相應參數,使在兼顧老式機器的前提下,可充分發揮現代及未來 CPU 的功效(如採用 SSE2 指令集、多核並行等)。

特點

HugeCalc通過持續的發展,具有如下特點:
●功能全面:關鍵檔案 HugeCalc.dll 雖然很小,卻提供了公共函式接口 709 個(標準C++接口 473 個;標準C接口 236 個)。重載了多種版本的構造函式,以及重載了許多基本的運算符,並具備靈活的輸出方式,使用方便一切得心應手(見頭檔案:HugeCalc.h、HugeInt.h、HugeIntX.h、RadixConverter.h)。同時精心編配了詳盡的幫助文檔 HugeCalc.chm;
●占用資源少:作者在開發過程中非常注重資源的有效利用,確保記憶體的耗用儘可能地低,遠低於其它高精度算法庫(HugeCalc V5.1.0.1 曾在一台工作站上精確計算出5千萬的階乘,耗時654.3秒,記憶體耗費峰值1105MB;普通程式一般都會因定址空間不足等原因而中途崩潰);
●自動調整算法:HugeCalc 在啟動時可自動偵測用戶 CPU 的型號,並據此自動調整算法及相應參數,使在兼顧老式機器的前提下,可充分發揮現代及未來 CPU 的功效(如採用 SSE2 指令集、多核並行等);
●效率高:這是算法庫的根基。HugeCalc 採用了許多先進的算法,部分是作者在該領域多年的積累,許多算法甚至已優於一些大型專業數學工具軟體;
雙進制核心:一般的算法庫,核心要么採用二進制,要么採用十進制。前者便於位操作,後者便於以通常的十進制輸出顯示;但卻無法同時兼具兩者之優點。HugeCalc V5.x 首次採用雙核心系統,且內部可相互高效轉換,使該問題得以完美解決;
●使用便捷:靈活的調用方式,可通用於各種編程環境;MBCS、UNICODE 版本合二為一:現僅須一份 HugeCalc.dll 即可;
●易二次開發:豐富的數據接口,為再開發提供了便利;可移植性強:算法庫本身基於整數處理,完全不調用任何浮點指令,可適應於各種軟硬體平台;
●可擴展性好:對開發者來說,良好的數據結構,數以千計的高效核心,改進算法或新增功能都極為容易;對於用戶來說,由於採用了合理的標準導出模式,從 V6.x 起,HugeCalc 將保證後續版本完全兼容先前版本;當有新版發布時,先前的程式無須重新編譯即可調用升級後的DLL。

相關詞條

熱門詞條

聯絡我們