Function: calcFunc-im
calcFunc-im is an autoloaded and byte-compiled function defined in
calc-cplx.el.gz.
Signature
(calcFunc-im A)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-cplx.el.gz
(defun calcFunc-im (a)
(let (aa bb)
(cond ((Math-realp a)
(if (math-floatp a) '(float 0 0) 0))
((eq (car a) 'cplx)
(nth 2 a))
((eq (car a) 'polar)
(math-mul (nth 1 a) (calcFunc-sin (nth 2 a))))
((eq (car a) 'vec)
(math-map-vec 'calcFunc-im a))
((math-known-realp a)
0)
((eq (car a) 'calcFunc-conj)
(math-neg (calcFunc-im (nth 1 a))))
((and (equal a '(var i var-i))
(math-imaginary-i))
1)
((and (memq (car a) '(+ - *))
(progn
(setq aa (calcFunc-im (nth 1 a))
bb (calcFunc-im (nth 2 a)))
(or (not (eq (car-safe aa) 'calcFunc-im))
(not (eq (car-safe bb) 'calcFunc-im)))))
(if (eq (car a) '+)
(math-add aa bb)
(if (eq (car a) '-)
(math-sub aa bb)
(math-add (math-mul (calcFunc-re (nth 1 a)) bb)
(math-mul aa (calcFunc-re (nth 2 a)))))))
((and (eq (car a) '/)
(math-known-realp (nth 2 a)))
(math-div (calcFunc-im (nth 1 a)) (nth 2 a)))
((eq (car a) 'neg)
(math-neg (calcFunc-im (nth 1 a))))
(t (calc-record-why 'numberp a)
(list 'calcFunc-im a)))))