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}