diff --git a/kalk/src/kalk_value/mod.rs b/kalk/src/kalk_value/mod.rs index 26d8780..9977853 100644 --- a/kalk/src/kalk_value/mod.rs +++ b/kalk/src/kalk_value/mod.rs @@ -971,7 +971,7 @@ impl KalkValue { ) => { if self.has_imaginary() || imaginary_rhs != &0f64 - || (real_rhs > &0f64 && real_rhs < &1f64) + || (real < 0f64 && real_rhs.clone().abs() < 1f64) { let a = real; let b = imaginary; @@ -1576,6 +1576,8 @@ mod tests { ((0f64, 2f64), (0f64, 3f64), (-0.0043748f64, 0.0078460f64)), ((3f64, 2f64), (0f64, 3f64), (-0.1304148f64, -0.111153f64)), ((3f64, 2f64), (4f64, 3f64), (28.8577819f64, -2.422530f64)), + ((-9f64, 0f64), (0.5f64, 0f64), (0f64, 3f64)), + ((-9f64, 0f64), (-0.5f64, 0f64), (0f64, -1f64 / 3f64)), ( (3f64, 0f64), (0f64, 1f64 / 3f64),