mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 14:21:10 +02:00
* Allow to convert an array of bytes to a list. Thanks to Masao Uebayashi.
This commit is contained in:
parent
4daecfeecc
commit
af7546ebe2
3 changed files with 42 additions and 28 deletions
1
THANKS
1
THANKS
|
@ -34,6 +34,7 @@ For fixes or providing information which led to a fix:
|
||||||
Bill Schottstaedt
|
Bill Schottstaedt
|
||||||
Miroslav Silovic
|
Miroslav Silovic
|
||||||
Dale P. Smith
|
Dale P. Smith
|
||||||
|
Masao Uebayashi
|
||||||
Jacques A. Vidrine
|
Jacques A. Vidrine
|
||||||
Brett Viren
|
Brett Viren
|
||||||
William Webber
|
William Webber
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2001-04-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
||||||
|
|
||||||
|
* unif.c (scm_array_to_list): Added missing handling of arrays of
|
||||||
|
bytes. Thanks to Masao Uebayashi for the bug report.
|
||||||
|
|
||||||
2001-04-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
2001-04-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
||||||
|
|
||||||
* debug.c (scm_procedure_source): Use SCM_CLOSURE_FORMALS more
|
* debug.c (scm_procedure_source): Use SCM_CLOSURE_FORMALS more
|
||||||
|
|
|
@ -2108,36 +2108,44 @@ SCM_DEFINE (scm_array_to_list, "array->list", 1, 0, 0,
|
||||||
res = scm_cons (SCM_BOOL(((long *) data)[k] & mask), res);
|
res = scm_cons (SCM_BOOL(((long *) data)[k] & mask), res);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
case scm_tc7_uvect: {
|
case scm_tc7_byvect:
|
||||||
long *data = (long *)SCM_VELTS(v);
|
{
|
||||||
for (k = SCM_UVECTOR_LENGTH(v) - 1; k >= 0; k--)
|
signed char *data = (signed char *) SCM_VELTS (v);
|
||||||
res = scm_cons(scm_ulong2num(data[k]), res);
|
scm_sizet k = SCM_UVECTOR_LENGTH (v);
|
||||||
return res;
|
while (k != 0)
|
||||||
}
|
res = scm_cons (SCM_MAKINUM (data[--k]), res);
|
||||||
case scm_tc7_ivect: {
|
return res;
|
||||||
long *data = (long *)SCM_VELTS(v);
|
}
|
||||||
for (k = SCM_UVECTOR_LENGTH(v) - 1; k >= 0; k--)
|
case scm_tc7_uvect:
|
||||||
res = scm_cons(scm_long2num(data[k]), res);
|
{
|
||||||
return res;
|
long *data = (long *)SCM_VELTS(v);
|
||||||
}
|
for (k = SCM_UVECTOR_LENGTH(v) - 1; k >= 0; k--)
|
||||||
case scm_tc7_svect: {
|
res = scm_cons(scm_ulong2num(data[k]), res);
|
||||||
short *data;
|
return res;
|
||||||
data = (short *)SCM_VELTS(v);
|
}
|
||||||
for (k = SCM_UVECTOR_LENGTH(v) - 1; k >= 0; k--)
|
case scm_tc7_ivect:
|
||||||
res = scm_cons(SCM_MAKINUM (data[k]), res);
|
{
|
||||||
return res;
|
long *data = (long *)SCM_VELTS(v);
|
||||||
}
|
for (k = SCM_UVECTOR_LENGTH(v) - 1; k >= 0; k--)
|
||||||
|
res = scm_cons(scm_long2num(data[k]), res);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
case scm_tc7_svect:
|
||||||
|
{
|
||||||
|
short *data = (short *)SCM_VELTS(v);
|
||||||
|
for (k = SCM_UVECTOR_LENGTH(v) - 1; k >= 0; k--)
|
||||||
|
res = scm_cons(SCM_MAKINUM (data[k]), res);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
#ifdef HAVE_LONG_LONGS
|
#ifdef HAVE_LONG_LONGS
|
||||||
case scm_tc7_llvect: {
|
case scm_tc7_llvect:
|
||||||
long_long *data;
|
{
|
||||||
data = (long_long *)SCM_VELTS(v);
|
long_long *data = (long_long *)SCM_VELTS(v);
|
||||||
for (k = SCM_UVECTOR_LENGTH(v) - 1; k >= 0; k--)
|
for (k = SCM_UVECTOR_LENGTH(v) - 1; k >= 0; k--)
|
||||||
res = scm_cons(scm_long_long2num(data[k]), res);
|
res = scm_cons(scm_long_long2num(data[k]), res);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
case scm_tc7_fvect:
|
case scm_tc7_fvect:
|
||||||
{
|
{
|
||||||
float *data = (float *) SCM_VELTS (v);
|
float *data = (float *) SCM_VELTS (v);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue