mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-27 21:40:34 +02:00
Fix 'fxbit-count' for negative arguments.
Reported by Göran Weinholt <goran@weinholt.se>. * module/rnrs/arithmetic/fixnums.scm (fxbit-count): If the argument is negative, return the 'bitwise-not' of the result of 'logcount', as per R6RS. Previously, 'fxbit-count' was identical to 'logcount'. * test-suite/tests/r6rs-arithmetic-fixnums.test (fxbit-count): Add test.
This commit is contained in:
parent
3bbca1f723
commit
a1c9ecf0a4
2 changed files with 11 additions and 4 deletions
|
@ -1,6 +1,6 @@
|
|||
;;; arithmetic-fixnums.test --- Test suite for R6RS (rnrs arithmetic bitwise)
|
||||
|
||||
;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2010, 2011, 2013 Free Software Foundation, Inc.
|
||||
;;
|
||||
;; This library is free software; you can redistribute it and/or
|
||||
;; modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -157,7 +157,9 @@
|
|||
|
||||
(with-test-prefix "fxif" (pass-if "simple" (fx=? (fxif 5 3 4) 1)))
|
||||
|
||||
(with-test-prefix "fxbit-count" (pass-if "simple" (fx=? (fxbit-count 5) 2)))
|
||||
(with-test-prefix "fxbit-count"
|
||||
(pass-if "simple" (fx=? (fxbit-count 5) 2))
|
||||
(pass-if "negative" (fx=? (fxbit-count -5) -2)))
|
||||
|
||||
(with-test-prefix "fxlength" (pass-if "simple" (fx=? (fxlength 5) 3)))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue