diff options
| author | Eric Biedert <github@ericbiedert.de> | 2023-04-11 14:13:01 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-11 14:13:01 +0200 |
| commit | c7db709da53e0559adabc99d483a374224ef5ce8 (patch) | |
| tree | 22ab5ce508bb1ba6aafd9b2c61066069b9e771ab /src/eval | |
| parent | ef50f1b011af61d7f145fcbb25e90fb002d5f785 (diff) | |
Allow treating ratios as floats (#681)
Diffstat (limited to 'src/eval')
| -rw-r--r-- | src/eval/ops.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/eval/ops.rs b/src/eval/ops.rs index 5efb68c3..91160c0d 100644 --- a/src/eval/ops.rs +++ b/src/eval/ops.rs @@ -179,6 +179,7 @@ pub fn mul(lhs: Value, rhs: Value) -> StrResult<Value> { (Int(a), Angle(b)) => Angle(a as f64 * b), (Float(a), Angle(b)) => Angle(a * b), + (Ratio(a), Ratio(b)) => Ratio(a * b), (Ratio(a), Int(b)) => Ratio(a * b as f64), (Ratio(a), Float(b)) => Ratio(a * b), (Float(a), Ratio(b)) => Ratio(a * b), @@ -214,8 +215,10 @@ pub fn div(lhs: Value, rhs: Value) -> StrResult<Value> { Ok(match (lhs, rhs) { (Int(a), Int(b)) => Float(a as f64 / b as f64), (Int(a), Float(b)) => Float(a as f64 / b), + (Int(a), Ratio(b)) => Float(a as f64 / b), (Float(a), Int(b)) => Float(a / b as f64), (Float(a), Float(b)) => Float(a / b), + (Float(a), Ratio(b)) => Float(a / b), (Length(a), Int(b)) => Length(a / b as f64), (Length(a), Float(b)) => Length(a / b), |
