This is the wu-decimal Reference Manual, version 2.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 07:06:25 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
wu-decimalArbitrary-precision decimal arithmetic
Wukix Inc <engineering@wukix.com>
FreeBSD
Wu-Decimal enables convenient, arbitrary-precision decimal arithmetic through a reader macro, #$, and an update to the pprint dispatch table. Wu-Decimal uses the CL ratio type to store decimals, which enables numeric functions such as +, -, etc. to operate on decimal numbers in a natural way.
2.0.0
wu-decimal.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
wu-decimal/wu-decimal.lispwu-decimal (system).
$ (function).
*print-decimal-mark* (special variable).
*print-precision-loss* (special variable).
decimal (type).
disable-decimal-printing-for-ratios (function).
enable-decimal-printing-for-ratios (function).
enable-reader-macro (function).
f (function).
parse-decimal (function).
count-digits (function).
decimal-for-pprint (type).
decimal-reader (function).
decimal-reader-exponent-allowed (function).
decimal-to-digits (function).
decimal-to-string (function).
disallowed-loss-of-precision (condition).
factor-out-powers-of-5 (function).
find-multiplier (function).
format-fixed-aux (function).
has-finite-decimal-digits (function).
incompatible-exponent-allowed-error (condition).
incompatible-mark-and-separator-error (condition).
integer-to-digit-string (function).
is-power-of-2 (function).
out-of-bounds-error (condition).
whitespace-1-p (function).
Packages are listed by definition order.
wu-decimalcommon-lisp.
$ (function).
*print-decimal-mark* (special variable).
*print-precision-loss* (special variable).
decimal (type).
disable-decimal-printing-for-ratios (function).
enable-decimal-printing-for-ratios (function).
enable-reader-macro (function).
f (function).
parse-decimal (function).
count-digits (function).
decimal-for-pprint (type).
decimal-reader (function).
decimal-reader-exponent-allowed (function).
decimal-to-digits (function).
decimal-to-string (function).
disallowed-loss-of-precision (condition).
factor-out-powers-of-5 (function).
find-multiplier (function).
format-fixed-aux (function).
has-finite-decimal-digits (function).
incompatible-exponent-allowed-error (condition).
incompatible-mark-and-separator-error (condition).
integer-to-digit-string (function).
is-power-of-2 (function).
out-of-bounds-error (condition).
whitespace-1-p (function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Precision loss mode. Must be :error, :round, or :truncate
e.g. (format t "~/wu-decimal:$/" #$3.14)
e.g. (format t "~/wu-decimal:F/" #$3.14)
PARSE-DECIMAL parses a decimal number from the substring of STRING
delimited by START and END. Optional leading and trailing whitespace[1] is
ignored. The character parameters DECIMAL-MARK and GROUP-SEPARATOR provide
support for different (typically cultural) numerical conventions. For
convenience, a GROUP-SEPARATOR of T will be treated as the comma
character. The boolean SIGN-ALLOWED controls signage. EXPONENT-ALLOWED is a
boolean or a sequence controlling exponent notation. Exponent notation follows
the syntax for CL floats, with exception that the exponent marker must be ’e’
or ’E’ when EXPONENT-ALLOWED is T, or the exponent marker must be CHAR= to
some element of EXPONENT-ALLOWED when EXPONENT-ALLOWED is a
sequence. JUNK-ALLOWED behaves as it does in PARSE-INTEGER. PARSE-DECIMAL
returns two values: the parsed number of type DECIMAL, followed by the index
of STRING where the parse terminated.
Example: (parse-decimal "1,205.42" :group-separator #\,) => 60271/50, 8
Given an integer, d, of the form 2^m*5^n, compute c such that c*d = c*(2^m*5^n) = 10^max(m,n). Returns c and max(m,n). See http://wukix.com/lisp-decimals#theory for background.
Converts an integer into a base 10 string. The sign is ignored.
condition.
condition.
condition.
condition.
| Jump to: | $
C D E F H I P W |
|---|
| Jump to: | $
C D E F H I P W |
|---|
| Jump to: | *
S |
|---|
| Jump to: | *
S |
|---|
| Jump to: | C D F I O P S T W |
|---|
| Jump to: | C D F I O P S T W |
|---|