use std::fmt::Display;
pub struct SIQuantities<T> {
pub value: T,
pub name: SIUnit,
}
pub struct SIUnit {
pub name: String,
pub length: i8,
pub mass: i8,
pub time: i8,
pub current: i8,
pub thermodynamic: i8,
pub amount: i8,
pub luminous: i8,
}
impl Display for SIUnit {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
if !self.name.is_empty() {
return f.write_str(&self.name);
}
write!(
f,
"({}, {}, {}, {}, {}, {}, {})",
self.length,
self.mass,
self.time,
self.current,
self.thermodynamic,
self.amount,
self.luminous,
)
}
}