Function: math-integral-q02
math-integral-q02 is an autoloaded and byte-compiled function defined
in calcalg2.el.gz.
Signature
(math-integral-q02 A B C V VPOW)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calcalg2.el.gz
(defun math-integral-q02 (a b c v vpow)
(let (q rq part)
(cond ((not c)
(cond ((= vpow 1)
(math-div (list 'calcFunc-ln v) b))
(t
(math-div (math-pow v (- 1 vpow))
(math-mul (- 1 vpow) b)))))
((math-zerop
(setq q (math-sub (math-mul 4 (math-mul a c)) (math-sqr b))))
(let ((part (math-div b (math-mul 2 c))))
(math-mul-thru (math-pow c vpow)
(math-integral-q02 part 1 nil
(math-add math-integ-var part)
(* vpow 2)))))
((progn
(setq part (math-add (math-mul 2 (math-mul c math-integ-var)) b))
(> vpow 1))
(let ((n (1- vpow)))
(math-add (math-div part (math-mul n (math-mul q (math-pow v n))))
(math-mul-thru (math-div (math-mul (- (* 4 n) 2) c)
(math-mul n q))
(math-integral-q02 a b c v n)))))
((math-guess-if-neg q)
(setq rq (list 'calcFunc-sqrt (math-neg q)))
;;(math-div-thru (list 'calcFunc-ln
;; (math-div (math-sub part rq)
;; (math-add part rq)))
;; rq)
(math-div (math-mul -2 (list 'calcFunc-arctanh
(math-div part rq)))
rq))
(t
(setq rq (list 'calcFunc-sqrt q))
(math-div (math-mul 2 (math-to-radians-2
(list 'calcFunc-arctan
(math-div part rq))))
rq)))))