Test angles of partly infinite complex numbers.
authorTaylor R Campbell <campbell@mumble.net>
Tue, 20 Nov 2018 09:15:53 +0000 (09:15 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Tue, 20 Nov 2018 09:15:53 +0000 (09:15 +0000)
tests/runtime/test-arith.scm

index 536160d0fc4c81136b40237cccd2493aeedd093c..d18e254f011ef2c46daeddc47a3f7cb94b9d67fe 100644 (file)
@@ -769,4 +769,25 @@ USA.
              (infinite? (imag-part z))
              'xfail)
       (lambda ()
-        (assert-inf+ (magnitude z))))))
\ No newline at end of file
+        (assert-inf+ (magnitude z))))))
+
+(define-enumerated-test 'infinite-angle
+  (vector
+   (vector +inf.0 0.)   ;XXX Why not exact, if imag-part is exact 0?
+   (vector -inf.0 pi)
+   (vector +inf.0+i 0.)
+   (vector +inf.0-i -0.)
+   (vector -inf.0-i (- pi))
+   (vector -inf.0+i pi)
+   (vector 1+inf.0i (* pi 1/2))
+   (vector 1-inf.0i (* pi -1/2))
+   (vector -1-inf.0i (* pi -1/2))
+   (vector -1+inf.0i (* pi 1/2))
+   (vector +inf.0+inf.0i (* pi 1/4))
+   (vector +inf.0-inf.0i (* pi -1/4))
+   (vector -inf.0-inf.0i (* pi -3/4))
+   (vector -inf.0+inf.0i (* pi 3/4)))
+  (lambda (v)
+    (let ((z (vector-ref v 0))
+          (t (vector-ref v 1)))
+      (assert-<= (relerr t (angle z)) 1e-15))))
\ No newline at end of file