From e8c878f4236c056b1c0c9308e2d49c5b23833963 Mon Sep 17 00:00:00 2001 From: sam-anthony Date: Sat, 26 Mar 2022 13:35:58 -0230 Subject: pressure and rough layout --- src/unit_of_measurement.rs | 54 ---------------------------------------------- 1 file changed, 54 deletions(-) delete mode 100644 src/unit_of_measurement.rs (limited to 'src/unit_of_measurement.rs') diff --git a/src/unit_of_measurement.rs b/src/unit_of_measurement.rs deleted file mode 100644 index ce459bf..0000000 --- a/src/unit_of_measurement.rs +++ /dev/null @@ -1,54 +0,0 @@ -pub trait UnitOfMeasurement { - type Unit; - - fn from_unit(unit: Self::Unit, n: i32) -> Self; - fn as_unit(&self, unit: Self::Unit) -> i32; -} - -pub mod pressure { - use super::UnitOfMeasurement; - - #[derive(Default, Clone)] - pub struct Pressure(i32); - - #[derive(Copy, Clone)] - pub enum Unit { - Pascal = 1, - KiloPascal = 1000, - } - - impl Unit { - // Pseudo iter::Cycle behavior. - pub fn next(&mut self) { - match self { - Unit::Pascal => { - *self = Unit::KiloPascal; - } - Unit::KiloPascal => { - *self = Unit::Pascal; - } - } - } - } - - impl ToString for Unit { - fn to_string(&self) -> String { - match self { - Self::Pascal => String::from("Pa"), - Self::KiloPascal => String::from("kPa"), - } - } - } - - impl UnitOfMeasurement for Pressure { - type Unit = Unit; - - fn from_unit(unit: Self::Unit, n: i32) -> Self { - Self(n * unit as i32) - } - - fn as_unit(&self, unit: Self::Unit) -> i32 { - self.0 / unit as i32 - } - } -} -- cgit v1.2.3