From 071e1d06c98b6f7112495026b405b83901adcbed Mon Sep 17 00:00:00 2001 From: felix Date: Thu, 19 May 2022 11:52:25 +0200 Subject: [PATCH] added tests for "fp*+", contributed by Christian Himpe Signed-off-by: felix --- tests/library-tests.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/tests/library-tests.scm b/tests/library-tests.scm index 241203f4..d3fa3157 100644 --- a/tests/library-tests.scm +++ b/tests/library-tests.scm @@ -307,6 +307,43 @@ (assert (inexact= 7.0 (fp*+ 2.0 3.0 1.0))) (assert (inexact= 53.0 (fp*+ 10.0 5.0 3.0))) +;;; Tests contributed by Christian Himpe: + +;; dummy testee +(define (fp*+ a b c) + (+ (* a b) c)) + +;; I took this from `library-tests.scm` +(define (inexact= a b) + (< (abs (- 1 (abs (/ a b)))) 1e-10)) + +;; original tests: +(assert (inexact= 7.0 (fp*+ 2.0 3.0 1.0))) +(assert (inexact= 53.0 (fp*+ 10.0 5.0 3.0))) + +;; my new tests: +(assert (inexact= 5.0 (fp*+ 1.0 2.0 3.0))) +(assert (inexact= 2.0 (fp*+ 1.0 2.0 0.0))) +(assert (inexact= 3.0 (fp*+ 1.0 0.0 3.0))) +(assert (inexact= 3.0 (fp*+ 0.0 2.0 3.0))) +(assert (inexact= 3.0 (fp*+ 0.0 0.0 3.0))) +(assert (inexact= -1.0 (fp*+ 2.0 0.5 -2.0))) +(assert (zero? (fp*+ 0.0 0.0 0.0))) +(assert (zero? (fp*+ -1.0 1.0 1.0))) +(assert (zero? (fp*+ 1.0 -1.0 1.0))) +(assert (zero? (fp*+ -1.0 -1.0 -1.0))) + +(assert (infinite? (fp*+ +inf.0 1.0 1.0))) +(assert (infinite? (fp*+ 1.0 +inf.0 1.0))) +(assert (infinite? (fp*+ 1.0 1.0 +inf.0))) +(assert (infinite? (fp*+ +inf.0 1.0 +inf.0))) +(assert (nan? (fp*+ -inf.0 1.0 +inf.0))) +(assert (nan? (fp*+ +nan.0 1.0 1.0))) +(assert (nan? (fp*+ 1.0 +nan.0 1.0))) +(assert (nan? (fp*+ 1.0 1.0 +nan.0))) +(assert (nan? (fp*+ 0.0 +inf.0 1.0))) +(assert (nan? (fp*+ -inf.0 0.0 1.0))) + ;; string->symbol ;; by Jim Ursetto -- 2.28.0