abels_complex/complex/polar.rs
1pub type ComplexPolar32 = ComplexPolar<f32>;
2pub type ComplexPolar64 = ComplexPolar<f64>;
3
4/// Creates a complex number in polar form.
5#[inline(always)]
6#[must_use]
7pub const fn complex_polar<FT>(abs: FT, arg: FT) -> ComplexPolar<FT> {
8 ComplexPolar::new(abs, arg)
9}
10
11/// A complex number in polar form.
12#[derive(Clone, Copy, PartialEq, Debug)]
13#[repr(C)]
14pub struct ComplexPolar<FT> {
15 pub abs: FT,
16 pub arg: FT,
17}
18
19impl<FT> ComplexPolar<FT> {
20 /// Creates a complex number.
21 pub const fn new(abs: FT, arg: FT) -> Self {
22 Self { abs, arg }
23 }
24}