logo

Module rug::integer

source · []
Expand description

Arbitrary-precision integers.

This module provides support for arbitrary-precision integers of type Integer. Instances of Integer always have a heap allocation for the bit data; if you want a temporary small integer without heap allocation, you can use the SmallInteger type.

Examples

use rug::{integer::SmallInteger, Assign, Integer};
let mut int = Integer::from(10);
assert_eq!(int, 10);
let small = SmallInteger::from(-15);
// `small` behaves like an `Integer` in the following line:
int.assign(small.abs_ref());
assert_eq!(int, 15);

Structs

An error which can be returned when parsing an Integer.

A small integer that does not require any memory allocation.

An error which can be returned when a checked conversion from Integer fails.

Enums

Whether a number is prime.

The ordering of digits inside a slice, and bytes inside a digit.

Traits

Types implementing this trait can be converted to SmallInteger.

Conversions between Integer and a slice of digits of this type are provided.