diff options
author | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-09-07 12:19:32 -0600 |
---|---|---|
committer | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-09-07 12:19:32 -0600 |
commit | 9fcd733232b6f209519d2eadc83ed4cbd3376e0d (patch) | |
tree | 0b4dfead39515c11c5aa4a998ffc3683546eef65 /cl/src | |
parent | dadf03afa37c785d5bb68396381eb3105178847f (diff) | |
download | cmath-9fcd733232b6f209519d2eadc83ed4cbd3376e0d.tar.gz cmath-9fcd733232b6f209519d2eadc83ed4cbd3376e0d.zip |
common lisp!
Diffstat (limited to 'cl/src')
-rw-r--r-- | cl/src/approx/derivative.lisp | 8 | ||||
-rw-r--r-- | cl/src/approx/package.lisp | 4 | ||||
-rw-r--r-- | cl/src/utils/package.lisp | 4 | ||||
-rw-r--r-- | cl/src/utils/within-range.lisp | 5 |
4 files changed, 21 insertions, 0 deletions
diff --git a/cl/src/approx/derivative.lisp b/cl/src/approx/derivative.lisp new file mode 100644 index 0000000..280463f --- /dev/null +++ b/cl/src/approx/derivative.lisp @@ -0,0 +1,8 @@ +(in-package :lizfcm.approx) + +(defun derivative-at (f x &optional (delta 0.01)) + (let* ((x2 (+ x delta)) + (x1 (- x delta)) + (y2 (apply f (list x2))) + (y1 (apply f (list x1)))) + (/ (- y2 y1) (- x2 x1)))) diff --git a/cl/src/approx/package.lisp b/cl/src/approx/package.lisp new file mode 100644 index 0000000..60dd0bb --- /dev/null +++ b/cl/src/approx/package.lisp @@ -0,0 +1,4 @@ +(in-package :cl-user) +(defpackage lizfcm.approx + (:use :cl) + (:export :derivative-at)) diff --git a/cl/src/utils/package.lisp b/cl/src/utils/package.lisp new file mode 100644 index 0000000..0436a94 --- /dev/null +++ b/cl/src/utils/package.lisp @@ -0,0 +1,4 @@ +(in-package :cl-user) +(defpackage lizfcm.utils + (:use :cl) + (:export :within-range-p)) diff --git a/cl/src/utils/within-range.lisp b/cl/src/utils/within-range.lisp new file mode 100644 index 0000000..9a0b762 --- /dev/null +++ b/cl/src/utils/within-range.lisp @@ -0,0 +1,5 @@ +(in-package :lizfcm.utils) + +(defun within-range-p (x true-value delta) + (and (< x (+ true-value delta)) + (> x (- true-value delta)))) |