use super::complex_type::Complex;
use std::fmt;
impl std::fmt::Display for Complex {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
if self.im >= 0.0 {
write!(f, "{} + {}i", self.re, self.im)
} else {
write!(f, "{} - {}i", self.re, -self.im)
}
}
}
impl std::ops::Add for Complex {
type Output = Self;
fn add(self, other: Self) -> Self {
Self::add(self, other)
}
}
impl std::ops::Sub for Complex {
type Output = Self;
fn sub(self, other: Self) -> Self {
Self::sub(self, other)
}
}
impl std::ops::Mul for Complex {
type Output = Self;
fn mul(self, other: Self) -> Self {
Self::mul(self, other)
}
}
impl std::ops::Neg for Complex {
type Output = Self;
fn neg(self) -> Self {
Self::neg(self)
}
}