mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-28 22:10:29 +02:00
* libguile/numbers.c (scm_euclidean_quo_and_rem, scm_euclidean_quotient, scm_euclidean_remainder, scm_centered_quo_and_rem, scm_centered_quotient, scm_centered_remainder): New extensible procedures `euclidean/', `euclidean-quotient', `euclidean-remainder', `centered/', `centered-quotient', `centered-remainder'. * libguile/numbers.h: Add function prototypes. * module/rnrs/base.scm: Remove incorrect stub implementations of `div', `mod', `div-and-mod', `div0', `mod0', and `div0-and-mod0'. Instead do renaming imports of `euclidean-quotient', `euclidean-remainder', `euclidean/', `centered-quotient', `centered-remainder', and `centered/', which are equivalent to the R6RS operators. * module/rnrs/arithmetic/fixnums.scm (fxdiv, fxmod, fxdiv-and-mod, fxdiv0, fxmod0, fxdiv0-and-mod0): Remove redundant checks for division by zero and unnecessary complexity. (fx+/carry): Remove unneeded calls to `inexact->exact'. * module/rnrs/arithmetic/flonums.scm (fldiv, flmod, fldiv-and-mod, fldiv0, flmod0, fldiv0-and-mod0): Remove redundant checks for division by zero and unnecessary complexity. Remove unneeded calls to `inexact->exact' and `exact->inexact' * test-suite/tests/numbers.test: (test-eqv?): New internal predicate for comparing numerical outputs with expected values. Add extensive test code for `euclidean/', `euclidean-quotient', `euclidean-remainder', `centered/', `centered-quotient', `centered-remainder'. * test-suite/tests/r6rs-arithmetic-fixnums.test: Fix some broken test cases, and remove `unresolved' test markers for `fxdiv', `fxmod', `fxdiv-and-mod', `fxdiv0', `fxmod0', and `fxdiv0-and-mod0'. * test-suite/tests/r6rs-arithmetic-flonums.test: Remove `unresolved' test markers for `fldiv', `flmod', `fldiv-and-mod', `fldiv0', `flmod0', and `fldiv0-and-mod0'. * doc/ref/api-data.texi (Arithmetic): Document `euclidean/', `euclidean-quotient', `euclidean-remainder', `centered/', `centered-quotient', and `centered-remainder'. (Operations on Integer Values): Add cross-references to `euclidean/' et al, from `quotient', `remainder', and `modulo'. * doc/ref/r6rs.texi (rnrs base): Improve documentation for `div', `mod', `div-and-mod', `div0', `mod0', and `div0-and-mod0'. Add cross-references to `euclidean/' et al. * NEWS: Add NEWS entry. |
||
---|---|---|
.. | ||
example-smob | ||
maint | ||
r5rs | ||
ref | ||
sources | ||
.gitignore | ||
BUGS | ||
ChangeLog-2008 | ||
ChangeLog-guile-doc | ||
gendocs_template | ||
goops.mail | ||
groupings.alist | ||
guile-api.alist | ||
guile.1 | ||
hacks.el | ||
Makefile.am | ||
NEWS | ||
oldfmt.c | ||
README | ||
recipe-guidelines.txt | ||
texinfo.tex | ||
THANKS | ||
use-cases.fig | ||
use-cases.txt |
This directory contains documentation on the Guile core. -*-text-*- The documentation consists of the following manuals. - The Guile Tutorial (guile-tut.texi) contains a tutorial introduction to using Guile. - The Guile Reference Manual (guile.texi) contains (or is intended to contain) reference documentation on all aspects of Guile. - The Revised^5 Report on the Algorithmic Language Scheme (r5rs.texi). Please be aware that this is all very much work in progress (apart from the Revised^5 Report). Bug reports and contributions are welcome! The file `oldfmt.c' contains a function which can be used by application writers to support both old-style and new-style error format strings. The `sources' directory includes some stuff relevant to the Guile reference manual, and which may eventually be folded in to it. It's not immediately relevant, however, which is why it's not in this directory. The Revised^4 Report (r4rs.texi) is no longer in this distribution, as it is completely superseded by the Revised^5 Report. If you need to consult R4RS, it is still widely available, for example at http://www-swiss.ai.mit.edu/projects/info/SchemeDocs/r4rs/.