Bug#326112: Double precision error.
Just discovered '33!' was off, then found this report. A few added
details, more for BTS reading users...
All values of 'n!' over 23 are incorrect, but approximate, for example:
source n result
calc 25 1551 1210 0433 3098 5984 000000
rpncalc 25 1551 1210 0433 3098 6055 303168
'rpncalc' is good to 16 places.
A presumably accurate table to check against:
N. J. A. Sloane, The first 100 factorials:
Table of n, n! for n = 0..100
This bug is five years old. If a proper fix can't be had, couldn't
'23!' or greater return '+infinity'; or caution users that the
incorrect results are approximate?
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/dash
Versions of packages rpncalc depends on:
ii libc6 2.11.2-6 Embedded GNU C Library: Shared lib
ii libreadline5 5.2-7 GNU readline and history libraries
rpncalc recommends no packages.
rpncalc suggests no packages.
-- no debconf information