From 58c73fd511b77cb94124b71a4bb75c7ab6a6d8bc Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Mon, 25 Sep 2023 10:36:23 -0600 Subject: add september notes & hw2 code / pdf --- cl/tests/maceps.lisp | 25 +++++++++++++++++++++++++ cl/tests/vector.lisp | 31 +++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 cl/tests/maceps.lisp create mode 100644 cl/tests/vector.lisp (limited to 'cl/tests') diff --git a/cl/tests/maceps.lisp b/cl/tests/maceps.lisp new file mode 100644 index 0000000..9d61772 --- /dev/null +++ b/cl/tests/maceps.lisp @@ -0,0 +1,25 @@ +(defpackage lizfcm/tests.maceps + (:use :cl + :fiveam + :lizfcm.approx + :lizfcm.utils + :lizfcm/tests) + (:export :approx-suite)) +(in-package :lizfcm/tests.maceps) + +(def-suite maceps-suite + :in lizfcm-test-suite) +(in-suite maceps-suite) + +(test maceps + :description "double precision provides precision about (mac eps of single precision) squared" + (let* ((maceps-computation-double (compute-maceps 1.0d0 + (lambda (x) x))) + (maceps-computation-single (compute-maceps 1.0 + (lambda (x) x))) + (last-double-h (cadar (last maceps-computation-double))) + (last-single-h (cadar (last maceps-computation-single)))) + (is (within-range-p + (- last-double-h (* last-single-h last-single-h)) + 0 + last-single-h)))) diff --git a/cl/tests/vector.lisp b/cl/tests/vector.lisp new file mode 100644 index 0000000..3ffe5a8 --- /dev/null +++ b/cl/tests/vector.lisp @@ -0,0 +1,31 @@ +(defpackage lizfcm/tests.vector + (:use :cl + :fiveam + :lizfcm.vector + :lizfcm.utils + :lizfcm/tests) + (:export :vector-suite)) +(in-package :lizfcm/tests.vector) + +(def-suite vector-suite + :in lizfcm-test-suite) +(in-suite vector-suite) + +(test p-norm + :description "computes p-norm" + (let ((v '(1 1)) + (length (sqrt 2)) + (2-norm (p-norm 2))) + (is (within-range-p (funcall 2-norm v) + length + 0.00001)))) + +(test vector-distance + :description "computes distance via norm" + (let ((v1 '(0 0)) + (v2 '(1 1)) + (dist (sqrt 2))) + (is (within-range-p (distance v1 v2 (p-norm 2)) + dist + 0.00001)))) + -- cgit v1.2.3-70-g09d2