From ef3980225a0a0ed5bea0d748709c1f227e33c851 Mon Sep 17 00:00:00 2001 From: sam-anthony Date: Sat, 15 Jan 2022 20:31:04 -0330 Subject: units of measurement --- src/volume.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/volume.rs (limited to 'src/volume.rs') diff --git a/src/volume.rs b/src/volume.rs new file mode 100644 index 0000000..d6ef206 --- /dev/null +++ b/src/volume.rs @@ -0,0 +1,23 @@ +pub struct Volume(f64); // Base unit is cubic metres + +impl Volume { + pub fn from_cubic_metres(cubic_metres: f64) -> Volume { + Volume(cubic_metres) + } + + pub fn from_cubic_centimetres(cubic_centimetres: f64) -> Volume { + Volume(cubic_centimetres / 1_000_000.) + } + + pub fn as_cubic_metres(&self) -> f64 { + self.0 + } + + pub fn as_cubic_centimetres(&self) -> f64 { + self.0 * 1_000_000. + } + + pub fn as_cubic_feet(&self) -> f64 { + self.0 * 35.3147 + } +} -- cgit v1.2.3