mini\Util\Math\BigInt final class

Documentation

Immutable arbitrary precision integer

This is the public API for arbitrary precision integer math. Internally uses the best available implementation (GMP, bcmath, or pure PHP).

Serialization stores only the string value, so serialized data is portable across different PHP installations regardless of available extensions.

Usage: $a = BigInt::of('123456789012345678901234567890'); $b = BigInt::of(42); $result = $a->add($b)->multiply($a); echo $result; // prints the number

Inheritance

Implements: mini\Util\Math\NumberInterface Stringable

Properties (2)

private static ?string $implementation
private readonly mini\Util\Math\Int\IntValue $value

Methods (31)

Documentation missing

Create from string or int

Documentation missing

Documentation missing

Documentation missing

Integer division (truncates toward zero)

Remainder after integer division

Raise to integer power

Absolute value

Compare: returns -1 if less, 0 if equal, 1 if greater

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Documentation missing

Scale is always 0 for integers

Convert to native int

Documentation missing

Documentation missing

Documentation missing

Get the name of the current implementation

Force a specific implementation (mainly for testing)

Documentation missing

Unwrap BigInt to string for internal IntValue operations

Source

src/Util/Math/BigInt.php:25-274