[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## Re: Emacs Calc Bug: calc-cplx.el:math-imaginary-i

**From**: |
Noam Postavsky |

**Subject**: |
Re: Emacs Calc Bug: calc-cplx.el:math-imaginary-i |

**Date**: |
Tue, 14 Aug 2018 23:24:44 -0400 |

On 10 August 2018 at 06:51, Erdnüß, Bastian (IPF)
<address@hidden> wrote:
>* During code review I think I spotted a bug in the function*
>* math-imaginary-i at calc-cplx.el:271.*
>
>* Line 276 reads "(eq (nth 1 val) 0)" but I think it should read*
>* "(eq (nth 0 val) 1)", i.e. the length of the complex number in*
>* polar form should be one, instead of that the angle to the real*
>* axis should be zero. The angle to the real axis will be taken*
>* care of in the following line.*
(nth 0 val) would be the symbol `polar', so I think (eq (nth 1 val) 1)
is what was intended. And the Math-equal on the next line should be
checking (nth 2 val).
(defun math-imaginary-i ()
(let ((val (calc-var-value 'var-i)))
(or (eq (car-safe val) 'special-const)
(equal val '(cplx 0 1))
(and (eq (car-safe val) 'polar)
(eq (nth 1 val) 0) ;;;;;;; line 276
(Math-equal (nth 1 val) (math-quarter-circle nil))))))