Go to file
bors[bot] 8646be5a95 Merge #330
330: Implement *Assign for BigUint r=cuviper a=Darksonn

Not only does this change increase convenience of use, it also allows adding a `&BigUint` to a `&mut BigUint` without allocating (if not necessary) or tricks such as:

    fn add(a: &mut BigUint, b: &BigUint) {
        let aa = mem::replace(a, BigUint::from_slice(&[])); // BigUint::from_slice(&[]) does not allocate
        *a = aa + b;
    }

With this change:

    fn add(a: &mut BigUint, b: &BigUint) {
        *a += b;
    }

It would make sense to add the same functionality to `BigInt`, but it uses some macros to handle the signs, and I'm not sure how to change the macros in order to perform this change.
2017-09-20 01:11:28 +00:00
benches bigint: allow `Sub` to work in-place on the RHS 2016-07-08 17:34:12 -07:00
bigint bigint: make sure bigand is normalized 2017-09-19 17:53:13 -07:00
ci Test and fix subcrates with --no-default-features 2017-06-09 09:54:50 -07:00
complex Remove unnecessary PartialOrd constraint on new Rem implementation. 2017-09-11 17:13:01 -04:00
derive derive: bump to 0.1.41 2017-07-14 17:36:17 -07:00
doc Update repo and doc links 2015-11-12 18:40:13 -08:00
integer integer: bump to 0.1.35 2017-07-14 17:30:18 -07:00
iter iter: bump to 0.1.34 2017-07-14 17:38:12 -07:00
macros macros: bump to 0.1.37 2017-09-19 16:28:23 -07:00
rational rational: bump to 0.1.39 2017-07-14 17:39:21 -07:00
src Made requested changes. 2017-02-07 13:02:32 -07:00
traits traits: bump to 0.1.40 2017-07-14 17:28:12 -07:00
.gitignore Update num-macros to Rust master 2015-05-14 10:19:47 -07:00
.travis.yml Whitelist branches for CI 2017-07-08 22:28:49 -07:00
Cargo.toml Add CI badge 2017-07-25 00:17:17 +02:00
LICENSE-APACHE Initial seeding from rust repo 2014-09-16 10:35:35 -07:00
LICENSE-MIT Initial seeding from rust repo 2014-09-16 10:35:35 -07:00
README.md Add CI badge 2017-07-25 00:16:07 +02:00
bors.toml Enable bors-ng 2017-07-08 22:29:48 -07:00

README.md

num

A collection of numeric types and traits for Rust.

This includes new types for big integers, rationals, and complex numbers, new traits for generic programming on numeric properties like Integer, and generic range iterators.

Documentation

Usage

Add this to your Cargo.toml:

[dependencies]
num = "0.1"

and this to your crate root:

extern crate num;

Compatibility

Most of the num crates are tested for rustc 1.8 and greater. The exceptions are num-derive which requires at least rustc 1.15, and the deprecated num-macros which requires nightly rustc.