This set of patches separates the representation of the cxr family
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Sun, 1 Jun 2003 13:58:42 +0000 (13:58 +0000)
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Sun, 1 Jun 2003 13:58:42 +0000 (13:58 +0000)
commit14b18ed6f596c22e62f0b2afecb5cfd4401acee4
treeb484088ff620de6b447fceeee24fe5237f082be3
parente757438dc92056a426fbbea99d2b52c8d13ccf01
This set of patches separates the representation of the cxr family
of functions (car, cdr etc.) from the dsubr family of functions
(i. e. functions that take a double precision floating point
argument).  Further, the algorithm for handling the cxr function
is improved.

* eval.c (SCM_CEVAL, SCM_APPLY, scm_trampoline_1), numbers.c
(scm_asinh, scm_acosh, scm_atanh, scm_truncate, scm_round, floor,
ceil, sqrt, fabs, exp, log, sin, cos, tan, asin, acos, atan, sinh,
cosh, tanh), objects.c (scm_class_of), procprop.c
(scm_i_procedure_arity), ramap.c (scm_array_map_x), tags.h
(scm_tc7_dsubr, scm_tcs_subrs): Introduce scm_tc7_dsubr as new
typecode for the dsubr family of functions.

* ramap.c (ramap_cxr, ramap_dsubr): Renamed ramap_cxr to
ramap_dsubr.

* eval.c (SCM_CEVAL, SCM_APPLY, call_cxr_1), pairs.c
(scm_init_pairs): Make use of the (now usable) second cell element
of a scm_tc7_cxr function to implement the cxr family of functions
more efficiently.
libguile/ChangeLog
libguile/eval.c
libguile/numbers.c
libguile/objects.c
libguile/pairs.c
libguile/procprop.c
libguile/ramap.c
libguile/tags.h