From 516df295d52171821096c273ddff1608c064f90b Mon Sep 17 00:00:00 2001 From: Dongin Kim Date: Sat, 11 Sep 2021 22:54:16 +0900 Subject: [PATCH] Reduce duplicated conditions Co-authored-by: Jim Fasarakis-Hilliard --- vm/src/stdlib/math.rs | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/vm/src/stdlib/math.rs b/vm/src/stdlib/math.rs index dad93ddde5..3d43cdd656 100644 --- a/vm/src/stdlib/math.rs +++ b/vm/src/stdlib/math.rs @@ -697,29 +697,17 @@ fn math_remainder(x: IntoPyFloat, y: IntoPyFloat, vm: &VirtualMachine) -> PyResu return Ok(1.0_f64.copysign(x) * r); } - if x.is_finite() && y.is_infinite() { - return Ok(fmod(x, y)); - } - if x.is_infinite() && y == 0.0 { - return Err(vm.new_value_error("math domain error".to_owned())); - } if x.is_infinite() && !y.is_nan() { return Err(vm.new_value_error("math domain error".to_owned())); } - - if x.is_nan() { - return Ok(x); - } - if y.is_nan() { - return Ok(y); - } - if x.is_infinite() { - return Ok(std::f64::NAN); + if x.is_nan() || y.is_nan() { + return Ok(f64::NAN); } if y.is_infinite() { - return Err(vm.new_value_error("math domain error".to_owned())); + Ok(x) + } else { + Err(vm.new_value_error("math domain error".to_owned())) } - Ok(x) } #[derive(FromArgs)]