Function: math-known-sin
math-known-sin is a byte-compiled function defined in calc-alg.el.gz.
Signature
(math-known-sin PLUS N MUL OFF)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-alg.el.gz
(defun math-known-sin (plus n mul off)
(setq n (math-mul n mul))
(and (math-num-integerp n)
(setq n (math-mod (math-add (math-trunc n) off) 240))
(if (>= n 120)
(and (setq n (math-known-sin plus (- n 120) 1 0))
(math-neg n))
(if (> n 60)
(setq n (- 120 n)))
(if (math-zerop plus)
(and (or calc-symbolic-mode
(memq n '(0 20 60)))
(cdr (assq n
'( (0 . 0)
(10 . (/ (calcFunc-sqrt
(- 2 (calcFunc-sqrt 3))) 2))
(12 . (/ (- (calcFunc-sqrt 5) 1) 4))
(15 . (/ (calcFunc-sqrt
(- 2 (calcFunc-sqrt 2))) 2))
(20 . (/ 1 2))
(24 . (* (^ (/ 1 2) (/ 3 2))
(calcFunc-sqrt
(- 5 (calcFunc-sqrt 5)))))
(30 . (/ (calcFunc-sqrt 2) 2))
(36 . (/ (+ (calcFunc-sqrt 5) 1) 4))
(40 . (/ (calcFunc-sqrt 3) 2))
(45 . (/ (calcFunc-sqrt
(+ 2 (calcFunc-sqrt 2))) 2))
(48 . (* (^ (/ 1 2) (/ 3 2))
(calcFunc-sqrt
(+ 5 (calcFunc-sqrt 5)))))
(50 . (/ (calcFunc-sqrt
(+ 2 (calcFunc-sqrt 3))) 2))
(60 . 1)))))
(cond ((eq n 0) (math-normalize (list 'calcFunc-sin plus)))
((eq n 60) (math-normalize (list 'calcFunc-cos plus)))
(t nil))))))