Difference between revisions of "BigInteger"

From Lazarus wiki
Jump to navigationJump to search
Line 39: Line 39:
 
By: David J Butler.
 
By: David J Butler.
 
Part of a much larger library but the unit can be used self-contained.
 
Part of a much larger library but the unit can be used self-contained.
 +
 +
==LongMathForPascal==
 +
 +
Homepage: https://github.com/zsoltszakaly/longmathforpascal
 +
 +
By: Zsolt Szakaly.
 +
A quite recent contribution (2021) - unfortunately it does not support any efficient algorithms and becomes slow very fast.
 +
 +
==GInt==
 +
 +
Homepage: https://github.com/SnakeDoctor/FGInt
 +
 +
By: Walied Othman.
 +
Again part of a larger library but can be used self-contained.
  
 
==BigIntegers for Delphi==
 
==BigIntegers for Delphi==

Revision as of 17:05, 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

Homepage: https://github.com/Alexey-T/TForge-Pascal

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

Homepage: https://benibela.de/sources_en.html#bigdecimalmath

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

FNX

Homepage: https://www.ellipsa.eu/public/fnx/fnx.html

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

Homepage: https://github.com/Alexey-T/Wolfgang_Ehrhardt_codes/tree/master/Misc/MPArith

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

BigInt

Homepage: http://spazioinwind.libero.it/frm/software

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

HugeInt

Homepage: https://github.com/fundamentalslib/fundamentals5

By: David J Butler. Part of a much larger library but the unit can be used self-contained.

LongMathForPascal

Homepage: https://github.com/zsoltszakaly/longmathforpascal

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

GInt

Homepage: https://github.com/SnakeDoctor/FGInt

By: Walied Othman. Again part of a larger library but can be used self-contained.

BigIntegers for Delphi

Homepage: https://github.com/rvelthuis/DelphiBigNumbers

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