2010年11月8日月曜日

式の展開 ratsimp ratf ratdisrep

file: rat3e.lisp
ん~ よくわからん。とりあえず、ratsimpをすればいいんだな。
(defun ratsimp (x varlist genvar) ($ratdisrep (ratf x)))

(defmfun ratf (l)
  (prog (u *withinratf*)
     (setq *withinratf* t)
     (when (eq '%% (catch 'ratf (newvar l)))
       (setq *withinratf* nil)
       (return (srf l)))
     (setq u (catch 'ratf (ratrep* l))) ; for truncation routines
     (return (or u (prog2 (setq *withinratf* nil) (srf l))))))

(defmfun ratdisrep (e) (simplifya ($ratdisrep e) nil))

0 件のコメント:

コメントを投稿