Skip to main content

deep_causality_num/complex/quaternion_number/
display.rs

1/*
2 * SPDX-License-Identifier: MIT
3 * Copyright (c) 2023 - 2026. The DeepCausality Authors and Contributors. All Rights Reserved.
4 */
5
6use crate::{Quaternion, RealField};
7use core::fmt::Display;
8
9// Display
10impl<F: RealField + Display> Display for Quaternion<F> {
11    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12        write!(f, "{}", self.w)?;
13        write!(
14            f,
15            " {} {}i",
16            if self.x < F::zero() { "-" } else { "+" },
17            self.x.abs()
18        )?;
19        write!(
20            f,
21            " {} {}j",
22            if self.y < F::zero() { "-" } else { "+" },
23            self.y.abs()
24        )?;
25        write!(
26            f,
27            " {} {}k",
28            if self.z < F::zero() { "-" } else { "+" },
29            self.z.abs()
30        )
31    }
32}