9 releases
0.1.8 | Oct 14, 2022 |
---|---|
0.1.7 | Oct 14, 2022 |
0.1.3 | Mar 28, 2022 |
#1618 in Math
16KB
528 lines
complex-algebra
This repository contains the source code for the Rust crate 'complex_algebra'.
Detailed documentation can be found here:
lib.rs
:
complex_algebra
This crate intends to support complex numbers and its standard algebraic operations.
To construct a complex number with real part u
and imaginary part v
you can do
use complex_algebra::c;
let u = 2.0;
let v = 3.0;
let z = c(u, v);
u
, v
can be any types like i32
, u32
, f64
, ... that implement at the very minimum
the traits Copy
and PartialEq
.
Depending on the chosen type and its support for various algebraic operators, the following binary and unary functions are implemented:
z1 + z2
z1 - z2
z1 * z2
z1 / z2
-z
Moreover, all these binary operations do work when the r.h.s is being replaced with a 'real' number.
Example:
use complex_algebra::c;
let z1 = c(2, 3);
let z2 = c(1, 1);
assert_eq!(&z1 + &z2, c(3, 4));
assert_eq!(z1 * 2, c(4, 6));