phpmath / biginteger
A PHP library to work with big integers.
Installs: 5 290
Dependents: 1
Suggesters: 0
Security: 0
Stars: 21
Watchers: 2
Forks: 4
Open Issues: 1
Requires
- php: ~7.0
- ext-gmp: *
Requires (Dev)
- phpunit/phpunit: ^5.6
- squizlabs/php_codesniffer: ^2.7
This package is auto-updated.
Last update: 2025-09-05 08:04:19 UTC
README
A PHP library to work with big integers. This library makes use of the GMP extension to do its calculations.
Install
Via Composer
$ composer require phpmath/biginteger
Usage
There are two ways to create a BigInteger. A mutable or immutable BigInteger.
$number = new PHP\Math\BigInteger\MutableBigInteger('8273467836243255543265432745'); $number = new PHP\Math\BigInteger\ImmutableBigInteger('8273467836243255543265432745');
$a = new PHP\Math\BigInteger\ImmutableBigInteger('12345678901234567890'); $b = new PHP\Math\BigInteger\ImmutableBigInteger('98765432109876543210'); $sum = $a->add($b); echo $sum->value();
Features
This library provides a wide range of operations for working with big integers using the GMP extension:
Basic Arithmetic
- Add, subtract, multiply, and divide large numbers.
- Calculate powers and roots of numbers.
- Perform modulo operations.
- Negate numbers and get absolute values.
Comparison
- Compare numbers using
cmp()
and check equality withequals()
. - Determine the sign of a number (positive, negative, or zero).
Bitwise Operations
- Perform bitwise AND, OR, XOR, and NOT operations.
- Compute Hamming distance between numbers.
Number Theory
- Calculate factorials.
- Check if numbers are prime or likely prime.
- Compute modular inverses.
- Compute Jacobi, Legendre, and Kronecker symbols.
- Calculate greatest common divisors (GCD) and least common multiples (LCM).
- Check for perfect squares and perfect powers.
- Find the next prime number.
- Compute binomial coefficients.
Change log
We keep a changelog for every release, have a look at the releases overview.
Testing
$ composer test
To generate code coverage:
$ composer test-coverage
Contributing
All contributions are welcome. Feel free to create a PR or open an issue.
Security
If you discover any security related issues, please create an issue in the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.