Crate rugcom [−] [src]
Arbitrary-precision complex numbers
The rugcom
crate provides arbitrary-precision complex numbers
using GNU MPC, a library for the arithmetic of complex
numbers with arbitrarily high precision and correct rounding of
the result. It is one of a group of four crates:
rugint
provides arbitrary-precision integers based on GMP.rugrat
provides arbitrary-precision rational number based on GMP.rugflo
provides arbitrary-precision floating-point numbers based on MPFR.rugcom
provides arbitrary-precision complex numbers based on MPC.
This crate is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See the full text of the GNU LGPL and GNU GPL for details.
Basic use
Apart from this documentation, it can be helpful to refer to the documentation of the MPC library.
The crate provides the Complex
type, which provides
an arbitrary-precision complex number with correct rounding.
Examples
extern crate rugint; extern crate rugcom; use rugint::Assign; use rugcom::Complex; fn main() { // Create complex number with 16 bits of precision. let mut com = Complex::new((16, 16)); // Assign the complex value 1.5 + 3.5i com.assign((1.5, 3.5)); assert!(*com.real() == 1.5); assert!(*com.imag() == 3.5); }
Usage
To use rugcom
in your crate, add extern crate rugcom;
to the
crate root and add rugcom
as a dependency in Cargo.toml
:
[dependencies]
rugcom = "0.2.2"
The rugcom
crate depends on the low-level bindings in the
gmp-mpfr-sys
crate. This should be transparent on GNU/Linux and
macOS, but may need some work on Windows. See the gmp-mpfr-sys
documentation for some details.
Optional feature
The rugcom
crate has an optional feature random
to enable
random number generation. The random
feature introduces a
dependency on the rand
crate. The feature is enabled by default;
to disable it add this to Cargo.toml
:
[dependencies.rugcom]
version = "0.2.2"
default-features = false
Structs
Complex |
A multi-precision complex number. The precision has to be set during construction. |
ParseComplexError |
An error which can be returned when parsing a |