diff options
Diffstat (limited to 'cl/src/approx')
-rw-r--r-- | cl/src/approx/maceps.lisp | 13 | ||||
-rw-r--r-- | cl/src/approx/package.lisp | 3 |
2 files changed, 15 insertions, 1 deletions
diff --git a/cl/src/approx/maceps.lisp b/cl/src/approx/maceps.lisp new file mode 100644 index 0000000..cd24482 --- /dev/null +++ b/cl/src/approx/maceps.lisp @@ -0,0 +1,13 @@ +(in-package :lizfcm.approx) + +(defun compute-maceps (val f) + (let* ((h val) + (a val) + (err val)) + (loop while (> err 0) + do + (progn + (setf h (/ h 2) + err (abs (- (funcall f (+ a h)) + (funcall f a))))) + collect (list a h err)))) diff --git a/cl/src/approx/package.lisp b/cl/src/approx/package.lisp index 60dd0bb..c11eb60 100644 --- a/cl/src/approx/package.lisp +++ b/cl/src/approx/package.lisp @@ -1,4 +1,5 @@ (in-package :cl-user) (defpackage lizfcm.approx (:use :cl) - (:export :derivative-at)) + (:export :derivative-at + :compute-maceps)) |