Crate rugcom [−] [src]
Multiple-precision complex numbers
The rugcom
crate provides multiple-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 can be helpful to refer to the
documentation at the
MPC
page.
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.
This crate is one of a group of four crates:
rugint
for arbitrary-precision integers,rugrat
for arbitrary-precision rational numbers,rugflo
for multiple-precision floating-point numbers, andrugcom
for multiple-precision complex numbers.
Basic use
The crate provides the Complex
type,
which holds a multiple-precision complex number.
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.1.3"
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
README
for some details.
Optional feature
The rugcom
crate has an optional feature random
to enable
random number generation. The random
feature has a build
dependency on the rand
crate. The feature is enabled by default;
to disable it add this to Cargo.toml
:
[dependencies.rugcom]
version = "0.1.3"
default-features = false
Structs
Complex |
A multi-precision complex number. The precision has to be set during construction. |