summaryrefslogtreecommitdiff
path: root/module
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2013-07-16 03:33:02 -0400
committerMark H Weaver <mhw@netris.org>2013-07-16 03:55:06 -0400
commit62460767e133b4516c30920a4ba705889fb99f18 (patch)
tree7494550e39d54c490d7a57fea56a8de4d9d03887 /module
parent284859c2f9b7072dd0bc1215d43663bb87858025 (diff)
downloadguile-62460767e133b4516c30920a4ba705889fb99f18.tar.gz
Allow fl+ and fl* to accept zero arguments.
Fixes <http://bugs.gnu.org/14869>. Reported by Göran Weinholt <goran@weinholt.se>. * module/rnrs/arithmetic/flonums.scm (fl+, fl*): Accept zero arguments. * test-suite/tests/r6rs-arithmetic-flonums.test (fl+, fl*): Add tests.
Diffstat (limited to 'module')
-rw-r--r--module/rnrs/arithmetic/flonums.scm14
1 files changed, 6 insertions, 8 deletions
diff --git a/module/rnrs/arithmetic/flonums.scm b/module/rnrs/arithmetic/flonums.scm
index b65c294b5..558b0afd0 100644
--- a/module/rnrs/arithmetic/flonums.scm
+++ b/module/rnrs/arithmetic/flonums.scm
@@ -103,15 +103,13 @@
(apply assert-flonum flargs)
(apply min flargs)))
- (define (fl+ fl1 . args)
- (let ((flargs (cons fl1 args)))
- (apply assert-flonum flargs)
- (apply + flargs)))
+ (define (fl+ . args)
+ (apply assert-flonum args)
+ (if (null? args) 0.0 (apply + args)))
- (define (fl* fl1 . args)
- (let ((flargs (cons fl1 args)))
- (apply assert-flonum flargs)
- (apply * flargs)))
+ (define (fl* . args)
+ (apply assert-flonum args)
+ (if (null? args) 1.0 (apply * args)))
(define (fl- fl1 . args)
(let ((flargs (cons fl1 args)))