Fixed dividing a unit by NoUnit resulting in NoUnit

This commit is contained in:
Kasper 2020-11-26 00:10:04 +01:00
parent fff5e85cb4
commit bf30ffa00b
3 changed files with 3 additions and 2 deletions

View File

@ -11,6 +11,7 @@
- Added support for `ElectricCurrent * Resistance` - Added support for `ElectricCurrent * Resistance`
- Added support for `Power * Time` - Added support for `Power * Time`
- Added support for `Energy / Time` - Added support for `Energy / Time`
- Fixed dividing a unit by `NoUnit` resulting in `NoUnit`
- Fixed interpreting of `µs` - Fixed interpreting of `µs`
- Fixed panics caused in Rust `1.48.0` by specifying `decimal` as a git dependency. - Fixed panics caused in Rust `1.48.0` by specifying `decimal` as a git dependency.

2
Cargo.lock generated
View File

@ -14,7 +14,7 @@ checksum = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
[[package]] [[package]]
name = "cpc" name = "cpc"
version = "1.1.0" version = "1.2.0"
dependencies = [ dependencies = [
"decimal", "decimal",
] ]

View File

@ -577,7 +577,7 @@ pub fn divide(left: Number, right: Number) -> Result<Number, String> {
Err(format!("Cannot divide {:?} by {:?}", left.unit, right.unit)) Err(format!("Cannot divide {:?} by {:?}", left.unit, right.unit))
} else if left.unit != NoUnit && right.unit == NoUnit { } else if left.unit != NoUnit && right.unit == NoUnit {
// 1 km / 2 // 1 km / 2
Ok(Number::new(left.value / right.value, right.unit)) Ok(Number::new(left.value / right.value, left.unit))
} else if lcat == rcat { } else if lcat == rcat {
// 4 km / 2 km // 4 km / 2 km
let (left, right) = convert_to_lowest(left, right)?; let (left, right) = convert_to_lowest(left, right)?;