Function: calc-binary-op-fancy

calc-binary-op-fancy is a byte-compiled function defined in calc-ext.el.gz.

Signature

(calc-binary-op-fancy NAME FUNC ARG IDENT UNARY)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-ext.el.gz
(defun calc-binary-op-fancy (name func arg ident unary)
  (let ((n (prefix-numeric-value arg)))
    (cond ((> n 1)
	   (calc-enter-result n
			      name
			      (list 'calcFunc-reduce
				    (math-calcFunc-to-var func)
				    (cons 'vec (calc-top-list-n n)))))
	  ((= n 1)
	   (if unary
	       (calc-enter-result 1 name (list unary (calc-top-n 1)))))
	  ((= n 0)
	   (if ident
	       (calc-enter-result 0 name ident)
	     (error "Argument must be nonzero")))
	  (t
	   (let ((rhs (calc-top-n 1)))
	     (calc-enter-result (- 1 n)
				name
                                (mapcar (lambda (x)
                                          (list func x rhs))
					(calc-top-list-n (- n) 2))))))))