Forum > General
Anyone interested in testing a new Big Integer library?
ad1mt:
I've been working on a new Big Integer library. Is anyone interested in testing it out?
I've tried to make it...
1 easy to use - minimal changes required to existing code
2 reasonably fast (EDIT: with latest optimisations, is now faster then the FNX library)
3 pure Pascal code, no assembly and no C, so portable and reliable
4 runs on 32 bit CPUs and 64 bit CPUs
5 small footprint, small code size
6 will actually compile straight out of the box with no messing about
7 unlicensed/public domain, I'm happy to give it away free of any restrictions
Why did I make this? I could not find any Big Integer library that met all the above criteria. The FNX library is very good, but is 64 bit only. EDIT: I've recently been looking at the MRArith library; it's very fast, but is rather difficult to use and requires substantial changes to existing code.
Disadvantages...
1 only whole integers, no support for other number types
2 only has basic arithmetic, logical and formatting operations
3 does not have extensive maths operations
4 does not have dynamically sized variables, only fixed size, but this can be changed at compiled time with a define
5 relies on Delphi mode for implicit operator overloading
I would welcome all criticism & comments, from anyone who has an interest in programming with big integers. I would especially welcome suggestions from speed freaks on how to make the code run faster :D
Thanks.
jollytall:
I am. Where can it be found?
Also there is a unit with flexible data length, allowing practically as long integers as much memory you have.
It has a very limited floating point support as well.
It can handle any base from 2 to 16, most of the formatting used out there.
Would be interested to compare the functionality.
Check this: https://github.com/zsoltszakaly/longmathforpascal
dbannon:
--- Quote from: ad1mt on November 08, 2023, 06:44:44 pm ---7 unlicensed/public domain, I'm happy to give it away free of any restrictions
--- End quote ---
I love the spirit of that statement but in practice, its a problem. The Linux distributions, for example, will not permit code that does not have an acceptable open license. If they don't see a license that they recognise and has been declared suitable, they need to refer to the lawyers and we all know what that means.
I stamp my code with The-Clear-BSD-License - its pretty liberal but not completely. See https://opensource.org/licenses/
Just put a file in there called copyright and have the text -
Files: *
Copyright: 2017-2023 Your Name <someone@somewhere.net>
License: The-Clear-BSD-License
EDIT: stating the bleeding obvious, you would change the names to yours ....
You probably could and should stamp that on each file but its enough.
Keep up the good work !
Davo
Bart:
Or LGPL v2, so Lazarus/fpc users can use it without any problems for their programs.
Bart
KodeZwerg:
I do often use the Unlicense.
Navigation
[0] Message Index
[#] Next page