User:Spekkio: Difference between revisions
Content added Content deleted
No edit summary |
No edit summary |
||
Line 33: | Line 33: | ||
maclaurin series for different functions sin/cos/sqrt/pow etc... (see my recent post in [[Talk:Nth root]]) |
maclaurin series for different functions sin/cos/sqrt/pow etc... (see my recent post in [[Talk:Nth root]]) |
||
⚫ | |||
<lang lisp> |
|||
⚫ | |||
(defun factorial (n) |
(defun factorial (n) |
||
Line 43: | Line 42: | ||
(defun powint (a b) |
(defun powint (a b) |
||
(if (= b 0) |
(if (= b 0) |
||
1 |
|||
( |
(if (> b 0) |
||
(* a (powint a (- b 1))) |
|||
(* (/ 1 a) (powint a (+ b 1))) |
|||
) |
|||
) |
|||
) |
|||
(defun binom (alpha n) |
(defun binom (alpha n) |
||
Line 56: | Line 60: | ||
(+ (* (binom b n) (powint (- a 1) n)) (power a b (- n 1))))) |
(+ (* (binom b n) (powint (- a 1) n)) (power a b (- n 1))))) |
||
(defun powertest(a b n) |
(defun powertest(a b n prev) |
||
(let (( power10 (power a b (+ 10 n)) )) |
|||
(if |
(if |
||
(= (* |
(= (* power10 1.0) (* prev 1.0)) |
||
power10 |
|||
(powertest a b (+ 10 n)) |
(powertest a b (+ 10 n) power10) |
||
) |
) |
||
) |
|||
) |
) |
||
(defun pow (a b |
(defun pow (a b) |
||
(if (< a 0) |
|||
(if (< b 1) |
|||
0 |
|||
(powertest a b 1 1) |
|||
) |
|||
(if (< a 2) |
|||
(powertest a b 1 1) |
|||
0 |
|||
) |
|||
) |
|||
) |
|||
(defun logS(x n) (if (= n 0) (* 2 x) (+ (* 2 (/ (powint x (+ (* 2 n) 1)) (+ (* 2 n) 1))) (logS x (- n 1)) ) )) |
(defun logS(x n) (if (= n 0) (* 2 x) (+ (* 2 (/ (powint x (+ (* 2 n) 1)) (+ (* 2 n) 1))) (logS x (- n 1)) ) )) |
||
Line 74: | Line 91: | ||
(defun squaren(x n) (expon (* 1/2 (loge x n)) n)) |
(defun squaren(x n) (expon (* 1/2 (loge x n)) n)) |
||
(defun squarentest(a n) |
(defun squarentest(a n prev) |
||
(let (( square10 (squaren a (+ 10 n)) )) |
|||
(if |
(if |
||
(= (* |
(= (* square10 1.0) (* prev 1.0)) |
||
square10 |
|||
(squarentest a (+ 10 n)) |
(squarentest a (+ 10 n) square10) |
||
) |
) |
||
) |
|||
) |
) |
||
(defun sqrtn (a) (squarentest a 1)) |
(defun sqrtn (a) (squarentest a 1 0)) |
||
(defun powern(x a n) (expon (* a (loge x n)) n)) |
(defun powern(x a n) (expon (* a (loge x n)) n)) |
||
(defun powerntest(a b n) |
(defun powerntest(a b n prev) |
||
(let ((n10 (+ 10 n))) |
|||
(let (( power10 (powern a b n10) )) |
|||
(if |
(if |
||
(= (* |
(= (* power10 1.0) (* prev 1.0)) |
||
power10 |
|||
(powerntest a b |
(powerntest a b n10 power10) |
||
) |
) |
||
) |
) |
||
)) |
|||
(defun pown (a b) (powerntest a b 1)) |
(defun pown (a b) (powerntest a b 1 0)) |
||
(defun sine(x n) |
(defun sine(x n) |
||
Line 121: | Line 143: | ||
(defun asinetest(x n) |
(defun asinetest(x n prev) |
||
(let (( asine10 (asine x (+ 10 n)) )) |
|||
(if |
(if |
||
(= (* |
(= (* asine10 1.0) (* prev 1.0)) |
||
asine10 |
|||
(asinetest x (+ 10 n)) |
(asinetest x (+ 10 n) asine10) |
||
) |
) |
||
) |
|||
) |
) |
||
Line 132: | Line 156: | ||
(if (< x 1) |
(if (< x 1) |
||
(if (> x -1) |
(if (> x -1) |
||
(asinetest x 1) |
(asinetest x 1 0) |
||
(/ (pie) -2) |
(/ (pie) -2) |
||
) |
) |