Function: math-solve-get-sign
math-solve-get-sign is a byte-compiled function defined in
calcalg2.el.gz.
Signature
(math-solve-get-sign VAL)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calcalg2.el.gz
(defun math-solve-get-sign (val)
(setq val (math-simplify val))
(if (and (eq (car-safe val) '*)
(Math-numberp (nth 1 val)))
(list '* (nth 1 val) (math-solve-get-sign (nth 2 val)))
(and (eq (car-safe val) 'calcFunc-sqrt)
(eq (car-safe (nth 1 val)) '^)
(setq val (math-normalize (list '^
(nth 1 (nth 1 val))
(math-div (nth 2 (nth 1 val)) 2)))))
(if math-solve-full
(if (and (calc-var-value 'var-GenCount)
(Math-natnump var-GenCount)
(not (eq math-solve-full 'all)))
(prog1
(math-mul (list 'calcFunc-as var-GenCount) val)
(setq var-GenCount (math-add var-GenCount 1))
(calc-refresh-evaltos 'var-GenCount))
(let* ((var (concat "s" (int-to-string (math-get-from-counter 'solve-sign))))
(var2 (list 'var (intern var) (intern (concat "var-" var)))))
(if (eq math-solve-full 'all)
(setq math-solve-ranges (cons (list var2 1 -1)
math-solve-ranges)))
(math-mul var2 val)))
(calc-record-why "*Choosing positive solution")
val)))