Skip to main content

use_complex_primitives/
basic_usage.rs

1use use_complex::{Complex, Imaginary};
2
3fn main() {
4    let value = Complex::new(3.0_f64, 4.0_f64);
5    let mirrored = value.conjugate();
6    let lifted = Complex::from(Imaginary::new(4.0_f64));
7    let (magnitude, argument) = value.to_polar();
8
9    assert_eq!(value + Complex::one(), Complex::new(4.0, 4.0));
10    assert_eq!(mirrored, Complex::new(3.0, -4.0));
11    assert_eq!(lifted, Complex::new(0.0, 4.0));
12    assert!((magnitude - 5.0).abs() <= 1.0e-10);
13    assert!((argument - value.argument()).abs() <= 1.0e-10);
14}