mod bar; mod kilopascal; mod psi; mod unit; pub use bar::Bar; pub use kilopascal::Kilopascal; pub use psi::Psi; pub use unit::Unit; pub fn convert>(val: F, from: Unit, to: Unit) -> f64 { match from { Unit::Kilopascal => match to { Unit::Kilopascal => val.into(), Unit::Bar => Bar::from(Kilopascal(val.into())).0, Unit::Psi => Psi::from(Kilopascal(val.into())).0, }, Unit::Bar => match to { Unit::Bar => val.into(), Unit::Kilopascal => Kilopascal::from(Bar(val.into())).0, Unit::Psi => Psi::from(Bar(val.into())).0, }, Unit::Psi => match to { Unit::Psi => val.into(), Unit::Kilopascal => Kilopascal::from(Psi(val.into())).0, Unit::Bar => Bar::from(Psi(val.into())).0, }, } }