Function: calcFunc-scf
calcFunc-scf is an autoloaded and byte-compiled function defined in
calc-arith.el.gz.
Signature
(calcFunc-scf X N)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-arith.el.gz
(defun calcFunc-scf (x n)
(if (integerp n)
(cond ((eq n 0)
x)
((Math-integerp x)
(if (> n 0)
(math-scale-int x n)
(math-div x (math-scale-int 1 (- n)))))
((eq (car x) 'frac)
(if (> n 0)
(math-make-frac (math-scale-int (nth 1 x) n) (nth 2 x))
(math-make-frac (nth 1 x) (math-scale-int (nth 2 x) (- n)))))
((eq (car x) 'float)
(math-make-float (nth 1 x) (+ (nth 2 x) n)))
((memq (car x) '(cplx sdev))
(math-normalize
(list (car x)
(calcFunc-scf (nth 1 x) n)
(calcFunc-scf (nth 2 x) n))))
((memq (car x) '(polar mod))
(math-normalize
(list (car x)
(calcFunc-scf (nth 1 x) n)
(nth 2 x))))
((eq (car x) 'intv)
(math-normalize
(list (car x)
(nth 1 x)
(calcFunc-scf (nth 2 x) n)
(calcFunc-scf (nth 3 x) n))))
((eq (car x) 'vec)
(math-map-vec (lambda (x) (calcFunc-scf x n)) x))
((math-infinitep x)
x)
(t
(calc-record-why 'realp x)
(list 'calcFunc-scf x n)))
(if (math-messy-integerp n)
(if (< (nth 2 n) 10)
(calcFunc-scf x (math-trunc n))
(math-overflow n))
(if (math-integerp n)
(math-overflow n)
(calc-record-why 'integerp n)
(list 'calcFunc-scf x n)))))