vecmat/complex/
format.rs

1use crate::complex::{Complex, Quaternion};
2use core::fmt::{Debug, Display, Formatter, Result as FmtResult};
3
4impl<T: Debug> Debug for Complex<T> {
5    fn fmt(&self, f: &mut Formatter) -> FmtResult {
6        write!(f, "Complex({:?}, {:?})", self.re_ref(), self.im_ref(),)
7    }
8}
9impl<T: Display> Display for Complex<T> {
10    fn fmt(&self, f: &mut Formatter) -> FmtResult {
11        write!(f, "Complex({}, {})", self.re_ref(), self.im_ref(),)
12    }
13}
14
15impl<T: Debug> Debug for Quaternion<T> {
16    fn fmt(&self, f: &mut Formatter) -> FmtResult {
17        write!(
18            f,
19            "Quaternion({:?}, {:?}, {:?}, {:?})",
20            self.w_ref(),
21            self.x_ref(),
22            self.y_ref(),
23            self.z_ref(),
24        )
25    }
26}
27impl<T: Display> Display for Quaternion<T> {
28    fn fmt(&self, f: &mut Formatter) -> FmtResult {
29        write!(
30            f,
31            "Quaternion({}, {}, {}, {})",
32            self.w_ref(),
33            self.x_ref(),
34            self.y_ref(),
35            self.z_ref(),
36        )
37    }
38}
39
40#[cfg(all(test, feature = "std"))]
41mod tests {
42    use super::*;
43    use std::format;
44
45    #[test]
46    fn quaternion() {
47        let q = Quaternion::<i32>::new(1, -2, 3, -4);
48        assert_eq!(format!("{:?}", q), "Quaternion(1, -2, 3, -4)");
49        assert_eq!(format!("{}", q), "Quaternion(1, -2, 3, -4)");
50    }
51}