Difference between revisions of "BigInteger"

From Lazarus wiki
Jump to navigationJump to search
Line 60: Line 60:
 
==BigIntegers for Delphi==
 
==BigIntegers for Delphi==
  
 +
* By: Rudy Velthuis
 
* Homepage: https://github.com/rvelthuis/DelphiBigNumbers
 
* Homepage: https://github.com/rvelthuis/DelphiBigNumbers
  
 
Code can be adapted for Free Pascal with a little effort.
 
Code can be adapted for Free Pascal with a little effort.

Revision as of 17:12, 29 July 2022

There are several (free) Pascal libraries for BigInteger (and sometimes Big Decimals like 1.23) functionality. Note: the C-based GMP library can also be used in Free Pascal, it's not listed here.

TForge

Modern cryptographic library for Delphi and Lazarus/FPC implemented as a set of runtime packages. Project development was stopped, the last found snapshot v0.76 was put to GitHub.

Big Decimal Math

This unit provides a BigDecimal-Type which stores arbitrary precision (BCD) decimal numbers and can be used like any native numeric type.

FNX

Library of multi-precision numbers (currently, only big integers) written for Free Pascal and Linux. The assembler code that can be enabled with a compiler directive, is for x86-64 processors only.

MPArith

Project development was stopped in about 2018. The last found snapshot was put to GitHub.

BigInt

Though this is a Pascal source >90% are coded as x86-32 Win32 assembler routines.

HugeInt

Part of a much larger library but the unit can be used self-contained.

LongMathForPascal

A quite recent contribution (2021) - unfortunately it does not support any efficient algorithms and becomes slow very fast.

GInt

Again part of a larger library but can be used self-contained.

BigIntegers for Delphi

Code can be adapted for Free Pascal with a little effort.