Crate ibig[−][src]
A big integer library with good performance.
The library implements efficient large integer arithmetic in pure Rust.
The two integer types are UBig (for unsigned integers) and IBig (for signed integers).
use ibig::prelude::*; let a = ubig!(12345678); let b = ubig!(0x10ff); let c = ibig!(-azz base 36); let d: UBig = "15033211231241234523452345345787".parse()?; assert_eq!(c.to_string(), "-14255"); assert_eq!( (a * b.pow(10)).in_radix(16).to_string(), "1589bda8effbfc495d8d73c83d8b27f94954e" ); assert_eq!( format!("hello {:#x}", d % ubig!(0xabcd1234134132451345)), "hello 0x1a7e7c487267d2658a93" );
Modules
prelude | Reexports the most useful names. |
Macros
ibig | Create an |
ubig | Create a |
Structs
IBig | Signed big integer. |
InRadix | Representation of a |
OutOfBoundsError | Number out of bounds. |
UBig | Unsigned big integer. |
UniformIBig | Uniform |
UniformUBig | Uniform |
Enums
ParseError | Parse error when parsing |
Traits
Abs | Absolute value. |
AndNot | Bitwise AND NOT operation. |
DivEuclid | Compute Euclidean quotient. |
DivRem | Compute quotient and remainder at the same time. |
DivRemEuclid | Compute Euclidean quotient and remainder at the same time. |
NextPowerOfTwo | Next power of two. |
RemEuclid | Compute Euclidean remainder. |
UnsignedAbs | Unsigned absolute value. |