Function: math-factor-expr-try

math-factor-expr-try is a byte-compiled function defined in calc-poly.el.gz.

Signature

(math-factor-expr-try X)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-poly.el.gz
(defun math-factor-expr-try (x)
  (if (eq (car-safe math-fact-expr) '*)
      (let ((res1 (catch 'factor (let ((math-fact-expr (nth 1 math-fact-expr)))
				   (math-factor-expr-try x))))
	    (res2 (catch 'factor (let ((math-fact-expr (nth 2 math-fact-expr)))
				   (math-factor-expr-try x)))))
	(and (or res1 res2)
	     (throw 'factor (math-accum-factors (or res1 (nth 1 math-fact-expr)) 1
						(or res2 (nth 2 math-fact-expr))))))
    (let* ((p (math-is-polynomial math-fact-expr x 30 'gen))
	   (math-poly-modulus (math-poly-modulus math-fact-expr))
	   res)
      (and (cdr p)
	   (setq res (let ((math-fet-x x)) (math-factor-poly-coefs p)))
	   (throw 'factor res)))))