Ignore angle mode while simplifying units
* lisp/calc/calc-forms.el (math-to-hms, math-from-hms): Ignore value of 'calc-angle-mode' when 'math-simplifying-units' is non-nil (Bug#23889). * lisp/calc/calc-math.el (math-to-radians, math-from-radians) (math-from-radians-2, math-to-radians-2): Idem.
This commit is contained in:
parent
188fb3b58a
commit
713e922243
2 changed files with 17 additions and 7 deletions
|
@ -317,7 +317,9 @@
|
|||
(list 'calcFunc-hms a))
|
||||
((math-negp a)
|
||||
(math-neg (math-to-hms (math-neg a) ang)))
|
||||
((eq (or ang calc-angle-mode) 'rad)
|
||||
((eq (or ang
|
||||
(and (not math-simplifying-units) calc-angle-mode))
|
||||
'rad)
|
||||
(math-to-hms (math-div a (math-pi-over-180)) 'deg))
|
||||
((memq (car-safe a) '(cplx polar)) a)
|
||||
(t
|
||||
|
@ -354,12 +356,16 @@
|
|||
(if (eq (car-safe a) 'sdev)
|
||||
(math-make-sdev (math-from-hms (nth 1 a) ang)
|
||||
(math-from-hms (nth 2 a) ang))
|
||||
(if (eq (or ang calc-angle-mode) 'rad)
|
||||
(if (eq (or ang
|
||||
(and (not math-simplifying-units) calc-angle-mode))
|
||||
'rad)
|
||||
(list 'calcFunc-rad a)
|
||||
(list 'calcFunc-deg a)))))
|
||||
((math-negp a)
|
||||
(math-neg (math-from-hms (math-neg a) ang)))
|
||||
((eq (or ang calc-angle-mode) 'rad)
|
||||
((eq (or ang
|
||||
(and (not math-simplifying-units) calc-angle-mode))
|
||||
'rad)
|
||||
(math-mul (math-from-hms a 'deg) (math-pi-over-180)))
|
||||
(t
|
||||
(math-add (math-div (math-add (math-div (nth 3 a)
|
||||
|
|
|
@ -763,12 +763,14 @@ If this can't be done, return NIL."
|
|||
(defun math-to-radians (a) ; [N N]
|
||||
(cond ((eq (car-safe a) 'hms)
|
||||
(math-from-hms a 'rad))
|
||||
((memq calc-angle-mode '(deg hms))
|
||||
((and (not math-simplifying-units)
|
||||
(memq calc-angle-mode '(deg hms)))
|
||||
(math-mul a (math-pi-over-180)))
|
||||
(t a)))
|
||||
|
||||
(defun math-from-radians (a) ; [N N]
|
||||
(cond ((eq calc-angle-mode 'deg)
|
||||
(cond ((and (not math-simplifying-units)
|
||||
(eq calc-angle-mode 'deg))
|
||||
(if (math-constp a)
|
||||
(math-div a (math-pi-over-180))
|
||||
(list 'calcFunc-deg a)))
|
||||
|
@ -779,14 +781,16 @@ If this can't be done, return NIL."
|
|||
(defun math-to-radians-2 (a &optional force-symbolic) ; [N N]
|
||||
(cond ((eq (car-safe a) 'hms)
|
||||
(math-from-hms a 'rad))
|
||||
((memq calc-angle-mode '(deg hms))
|
||||
((and (not math-simplifying-units)
|
||||
(memq calc-angle-mode '(deg hms)))
|
||||
(if (or calc-symbolic-mode force-symbolic)
|
||||
(math-div (math-mul a '(var pi var-pi)) 180)
|
||||
(math-mul a (math-pi-over-180))))
|
||||
(t a)))
|
||||
|
||||
(defun math-from-radians-2 (a &optional force-symbolic) ; [N N]
|
||||
(cond ((memq calc-angle-mode '(deg hms))
|
||||
(cond ((and (not math-simplifying-units)
|
||||
(memq calc-angle-mode '(deg hms)))
|
||||
(if (or calc-symbolic-mode force-symbolic)
|
||||
(math-div (math-mul 180 a) '(var pi var-pi))
|
||||
(math-div a (math-pi-over-180))))
|
||||
|
|
Loading…
Add table
Reference in a new issue