Function: calc-reduce
calc-reduce is an autoloaded, interactive and byte-compiled function
defined in calc-map.el.gz.
Signature
(calc-reduce &optional OPER ACCUM)
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-map.el.gz
(defun calc-reduce (&optional oper accum)
(interactive)
(calc-wrapper
(let* ((nest (calc-is-hyperbolic))
(rev (calc-is-inverse))
(nargs (if (and nest (not rev)) 2 1))
(calc-dollar-values (mapcar #'calc-get-stack-element
(nthcdr calc-stack-top calc-stack)))
(calc-dollar-used 0)
(calc-mapping-dir (and (not accum) (not nest) ""))
(oper (or oper (calc-get-operator
(if nest
(concat (if accum "Accumulate " "")
(if rev "Fixed Point" "Nest"))
(concat (if rev "Inv " "")
(if accum "Accumulate" "Reduce")))
(if nest 1 2)))))
(message "Working...")
(calc-set-command-flag 'clear-message)
(calc-enter-result (+ calc-dollar-used nargs)
(concat (substring (if nest
(if rev "fxp" "nst")
(if accum "acc" "red"))
0 (- 4 (length (nth 2 oper))))
(nth 2 oper))
(if nest
(cons (if rev
(if accum 'calcFunc-afixp 'calcFunc-fixp)
(if accum 'calcFunc-anest 'calcFunc-nest))
(cons (math-calcFunc-to-var (nth 1 oper))
(calc-top-list-n
nargs (1+ calc-dollar-used))))
(list (if accum
(if rev 'calcFunc-raccum 'calcFunc-accum)
(intern (concat "calcFunc-"
(if rev "r" "")
"reduce"
calc-mapping-dir)))
(math-calcFunc-to-var (nth 1 oper))
(calc-top-n (1+ calc-dollar-used))))))))