View source code
Display the source code in std/bigint.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Module std.bigint
Arbitrary-precision ('bignum') arithmetic.
Performance is optimized for numbers below ~1000 decimal digits. For X86 machines, highly optimised assembly routines are used.
The following algorithms are currently implemented:
- Karatsuba multiplication
- Squaring is optimized independently of multiplication
- Divide-and-conquer division
- Binary exponentiation
For very large numbers, consider using the GMP library instead.
Functions
Name | Description |
---|---|
absUnsign(x)
|
Returns the absolute value of x converted to the corresponding unsigned type. |
divMod(dividend, divisor, quotient, remainder)
|
Finds the quotient and remainder for the given dividend and divisor in one operation. |
powmod(base, exponent, modulus)
|
Fast power modulus calculation for BigInt operands.
|
toDecimalString(x)
|
|
toHex(x)
|
Structs
Name | Description |
---|---|
BigInt
|
A struct representing an arbitrary precision integer. |
Authors
Don Clugston
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.