Function: calcFunc-totient

calcFunc-totient is an autoloaded and byte-compiled function defined in calc-comb.el.gz.

Signature

(calcFunc-totient N)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-comb.el.gz
(defun calcFunc-totient (n)
  (if (Math-messy-integerp n)
      (setq n (math-trunc n)))
  (if (Math-natnump n)
      (if (< n 2)
	  (if (Math-negp n)
	      (calcFunc-totient (math-abs n))
	    n)
	(let ((factors (cdr (calcFunc-prfac n)))
	      p)
	  (if math-prime-factors-finished
	      (progn
		(while factors
		  (setq p (car factors)
			n (math-mul (math-div n p) (math-add p -1)))
		  (while (equal p (car factors))
		    (setq factors (cdr factors))))
		n)
	    (calc-record-why "*Number too big to factor" n)
	    (list 'calcFunc-totient n))))
    (calc-record-why 'natnump n)
    (list 'calcFunc-totient n)))