#include "eval.h"
#include "genio.h"
#include "smob.h"
-#include "sequences.h"
#include "strop.h"
#include "feature.h"
default:
badarg1: scm_wta (vect, (char *) SCM_ARG1, s_vector_set_length_x);
case scm_tc7_string:
- case scm_tc7_mb_string:
SCM_ASRTGO (vect != scm_nullstr, badarg1);
sz = sizeof (char);
l++;
break;
case scm_tc7_vector:
+ case scm_tc7_wvect:
SCM_ASRTGO (vect != scm_nullvect, badarg1);
sz = sizeof (SCM);
break;
case scm_tc7_dvect:
case scm_tc7_cvect:
case scm_tc7_vector:
+ case scm_tc7_wvect:
case scm_tc7_svect:
#ifdef LONGLONGS
case scm_tc7_llvect:
return nprot || (SCM_NIMP(prot) && SCM_CPLXP(prot)) ? SCM_BOOL_T : SCM_BOOL_F;
# endif
case scm_tc7_vector:
+ case scm_tc7_wvect:
return nprot || SCM_NULLP(prot) ? SCM_BOOL_T : SCM_BOOL_F;
default:;
}
return SCM_INUM0;
case scm_tc7_string:
case scm_tc7_vector:
+ case scm_tc7_wvect:
case scm_tc7_byvect:
case scm_tc7_uvect:
case scm_tc7_ivect:
return SCM_BOOL_F;
case scm_tc7_string:
case scm_tc7_vector:
+ case scm_tc7_wvect:
case scm_tc7_bvect:
case scm_tc7_byvect:
case scm_tc7_uvect:
if (SCM_IMP (spec))
{
- SCM_ASSERT (SCM_INUMP (spec) && SCM_INUM (spec) >= 0, spec, s_bad_spec, what);
+ SCM_ASSERT (SCM_INUMP (spec) && SCM_INUM (spec) >= 0, spec,
+ s_bad_spec, what);
s->lbnd = 0;
s->ubnd = SCM_INUM (spec) - 1;
s->inc = 1;
}
else
{
- SCM_ASSERT (SCM_CONSP (spec) && SCM_INUMP (SCM_CAR (spec)), spec, s_bad_spec, what);
+ SCM_ASSERT (SCM_CONSP (spec) && SCM_INUMP (SCM_CAR (spec)), spec,
+ s_bad_spec, what);
s->lbnd = SCM_INUM (SCM_CAR (spec));
sp = SCM_CDR (spec);
- SCM_ASSERT (SCM_INUMP (SCM_CAR (sp)) && SCM_NULLP (SCM_CDR (sp)),
- spec, s_bad_spec, what);
+ SCM_ASSERT (SCM_NIMP (sp) && SCM_CONSP (sp)
+ && SCM_INUMP (SCM_CAR (sp)) && SCM_NULLP (SCM_CDR (sp)),
+ spec, s_bad_spec, what);
s->ubnd = SCM_INUM (SCM_CAR (sp));
s->inc = 1;
}
return ra;
}
}
- imap = scm_apply (mapfunc, scm_list_reverse (inds), SCM_EOL);
+ imap = scm_apply (mapfunc, scm_reverse (inds), SCM_EOL);
if (SCM_ARRAYP (oldra))
i = (scm_sizet) scm_aind (oldra, imap, s_make_shared_array);
else
switch (SCM_TYP7 (ra))
{
default:
- badarg:scm_wta (ra, (char *) SCM_ARGn, s_transpose_array);
+ badarg:scm_wta (ra, (char *) SCM_ARG1, s_transpose_array);
case scm_tc7_bvect:
case scm_tc7_string:
case scm_tc7_byvect:
ndim = 0;
for (k = 0; k < SCM_ARRAY_NDIM (ra); k++)
{
+ SCM_ASSERT (SCM_INUMP (ve[k]), ve[k], (SCM_ARG2 + k),
+ s_transpose_array);
i = SCM_INUM (ve[k]);
- SCM_ASSERT (SCM_INUMP (ve[k]) && i >= 0 && i < SCM_ARRAY_NDIM (ra),
- ve[k], SCM_ARG2, s_transpose_array);
+ SCM_ASSERT (i >= 0 && i < SCM_ARRAY_NDIM (ra), ve[k],
+ SCM_OUTOFRANGE, s_transpose_array);
if (ndim < i)
ndim = i;
}
r->inc += s->inc;
}
}
- SCM_ASSERT (ndim <= 0, args, "bad argument scm_list", s_transpose_array);
+ SCM_ASSERT (ndim <= 0, args, "bad argument list", s_transpose_array);
scm_ra_set_contp (res);
return res;
}
case scm_tc7_dvect:
case scm_tc7_cvect:
case scm_tc7_vector:
+ case scm_tc7_wvect:
case scm_tc7_svect:
#ifdef LONGLONGS
case scm_tc7_llvect:
case scm_tc7_llvect:
#endif
case scm_tc7_vector:
+ case scm_tc7_wvect:
SCM_ASRTGO (SCM_NULLP (args) && SCM_INUMP (ind), wna);
return pos >= 0 && pos < SCM_LENGTH (v) ? SCM_BOOL_T : SCM_BOOL_F;
}
((double *) SCM_CDR (v))[2 * pos + 1]);
#endif
case scm_tc7_vector:
+ case scm_tc7_wvect:
return SCM_VELTS (v)[pos];
}
}
((double *) SCM_CDR (v))[2 * pos + 1]);
#endif
case scm_tc7_vector:
+ case scm_tc7_wvect:
return SCM_VELTS (v)[pos];
case scm_tc7_smob:
{ /* enclosed scm_array */
break;
#endif
case scm_tc7_vector:
+ case scm_tc7_wvect:
SCM_VELTS (v)[pos] = obj;
break;
}
default:
return SCM_BOOL_F;
case scm_tc7_vector:
+ case scm_tc7_wvect:
case scm_tc7_string:
case scm_tc7_bvect:
case scm_tc7_byvect:
long cstart = 0;
long cend;
+ port_or_fd = SCM_COERCE_OUTPORT (port_or_fd);
+
SCM_ASRTGO (SCM_NIMP (v), badarg1);
if (SCM_UNBNDP (port_or_fd))
port_or_fd = scm_cur_outp;
SCM_ASRTGO (SCM_ARRAYP (v), badarg1);
return ra2l (v, SCM_ARRAY_BASE (v), 0);
case scm_tc7_vector:
+ case scm_tc7_wvect:
return scm_vector_to_list (v);
case scm_tc7_string:
return scm_string_to_list (v);
long *data = (long *) SCM_VELTS (v);
register unsigned long mask;
for (k = (SCM_LENGTH (v) - 1) / SCM_LONG_BIT; k > 0; k--)
- for (mask = 1L << (SCM_LONG_BIT - 1); mask; mask >>= 1)
+ for (mask = 1UL << (SCM_LONG_BIT - 1); mask; mask >>= 1)
res = scm_cons (((long *) data)[k] & mask ? SCM_BOOL_T : SCM_BOOL_F, res);
for (mask = 1L << ((SCM_LENGTH (v) % SCM_LONG_BIT) - 1); mask; mask >>= 1)
res = scm_cons (((long *) data)[k] & mask ? SCM_BOOL_T : SCM_BOOL_F, res);
}
-static char s_bad_ralst[] = "Bad scm_array contents scm_list";
+static char s_bad_ralst[] = "Bad scm_array contents list";
static int l2ra SCM_P ((SCM lst, SCM ra, scm_sizet base, scm_sizet k));
scm_iprin1 (ra, port, pstate);
for (j += inc; n-- > 0; j += inc)
{
- scm_gen_putc (' ', port);
+ scm_putc (' ', port);
SCM_ARRAY_BASE (ra) = j;
scm_iprin1 (ra, port, pstate);
}
inc = SCM_ARRAY_DIMS (ra)[k].inc;
for (i = SCM_ARRAY_DIMS (ra)[k].lbnd; i < SCM_ARRAY_DIMS (ra)[k].ubnd; i++)
{
- scm_gen_putc ('(', port);
+ scm_putc ('(', port);
rapr1 (ra, j, k + 1, port, pstate);
- scm_gen_puts (scm_regular_string, ") ", port);
+ scm_puts (") ", port);
j += inc;
}
if (i == SCM_ARRAY_DIMS (ra)[k].ubnd)
{ /* could be zero size. */
- scm_gen_putc ('(', port);
+ scm_putc ('(', port);
rapr1 (ra, j, k + 1, port, pstate);
- scm_gen_putc (')', port);
+ scm_putc (')', port);
}
break;
}
scm_iprin1 (scm_uniform_vector_ref (ra, SCM_MAKINUM (j)), port, pstate);
for (j += inc; n-- > 0; j += inc)
{
- scm_gen_putc (' ', port);
+ scm_putc (' ', port);
scm_iprin1 (scm_cvref (ra, j, SCM_UNDEFINED), port, pstate);
}
break;
if (SCM_WRITINGP (pstate))
for (j += inc; n-- > 0; j += inc)
{
- scm_gen_putc (' ', port);
+ scm_putc (' ', port);
scm_iprin1 (SCM_MAKICHR (SCM_CHARS (ra)[j]), port, pstate);
}
else
for (j += inc; n-- > 0; j += inc)
- scm_gen_putc (SCM_CHARS (ra)[j], port);
+ scm_putc (SCM_CHARS (ra)[j], port);
break;
case scm_tc7_byvect:
if (n-- > 0)
scm_intprint (((char *)SCM_CDR (ra))[j], 10, port);
for (j += inc; n-- > 0; j += inc)
{
- scm_gen_putc (' ', port);
+ scm_putc (' ', port);
scm_intprint (((char *)SCM_CDR (ra))[j], 10, port);
}
break;
scm_intprint (SCM_VELTS (ra)[j], 10, port);
for (j += inc; n-- > 0; j += inc)
{
- scm_gen_putc (' ', port);
+ scm_putc (' ', port);
scm_intprint (SCM_VELTS (ra)[j], 10, port);
}
break;
scm_intprint (((short *)SCM_CDR (ra))[j], 10, port);
for (j += inc; n-- > 0; j += inc)
{
- scm_gen_putc (' ', port);
+ scm_putc (' ', port);
scm_intprint (((short *)SCM_CDR (ra))[j], 10, port);
}
break;
scm_floprint (z, port, pstate);
for (j += inc; n-- > 0; j += inc)
{
- scm_gen_putc (' ', port);
+ scm_putc (' ', port);
SCM_FLO (z) = ((float *) SCM_VELTS (ra))[j];
scm_floprint (z, port, pstate);
}
scm_floprint (z, port, pstate);
for (j += inc; n-- > 0; j += inc)
{
- scm_gen_putc (' ', port);
+ scm_putc (' ', port);
SCM_REAL (z) = ((double *) SCM_VELTS (ra))[j];
scm_floprint (z, port, pstate);
}
scm_floprint ((0.0 == SCM_IMAG (cz) ? z : cz), port, pstate);
for (j += inc; n-- > 0; j += inc)
{
- scm_gen_putc (' ', port);
+ scm_putc (' ', port);
SCM_REAL (z) = SCM_REAL (cz) = ((double *) SCM_VELTS (ra))[2 * j];
SCM_IMAG (cz) = ((double *) SCM_VELTS (ra))[2 * j + 1];
scm_floprint ((0.0 == SCM_IMAG (cz) ? z : cz), port, pstate);
{
SCM v = exp;
scm_sizet base = 0;
- scm_gen_putc ('#', port);
+ scm_putc ('#', port);
tail:
switch SCM_TYP7
(v)
if (SCM_ARRAYP (v))
{
- scm_gen_puts (scm_regular_string, "<enclosed-array ", port);
+ scm_puts ("<enclosed-array ", port);
rapr1 (exp, base, 0, port, pstate);
- scm_gen_putc ('>', port);
+ scm_putc ('>', port);
return 1;
}
else
if (exp == v)
{ /* a uve, not an scm_array */
register long i, j, w;
- scm_gen_putc ('*', port);
+ scm_putc ('*', port);
for (i = 0; i < (SCM_LENGTH (exp)) / SCM_LONG_BIT; i++)
{
w = SCM_VELTS (exp)[i];
for (j = SCM_LONG_BIT; j; j--)
{
- scm_gen_putc (w & 1 ? '1' : '0', port);
+ scm_putc (w & 1 ? '1' : '0', port);
w >>= 1;
}
}
w = SCM_VELTS (exp)[SCM_LENGTH (exp) / SCM_LONG_BIT];
for (; j; j--)
{
- scm_gen_putc (w & 1 ? '1' : '0', port);
+ scm_putc (w & 1 ? '1' : '0', port);
w >>= 1;
}
}
return 1;
}
else
- scm_gen_putc ('b', port);
+ scm_putc ('b', port);
break;
case scm_tc7_string:
- scm_gen_putc ('a', port);
+ scm_putc ('a', port);
break;
case scm_tc7_byvect:
- scm_gen_puts (scm_regular_string, "bytes", port);
+ scm_puts ("bytes", port);
break;
case scm_tc7_uvect:
- scm_gen_putc ('u', port);
+ scm_putc ('u', port);
break;
case scm_tc7_ivect:
- scm_gen_putc ('e', port);
+ scm_putc ('e', port);
break;
case scm_tc7_svect:
- scm_gen_puts (scm_regular_string, "short", port);
+ scm_puts ("short", port);
break;
#ifdef LONGLONGS
case scm_tc7_llvect:
- scm_gen_puts (scm_regular_string, "long_long", port);
+ scm_puts ("long_long", port);
break;
#endif
#ifdef SCM_FLOATS
#ifdef SCM_SINGLES
case scm_tc7_fvect:
- scm_gen_putc ('s', port);
+ scm_putc ('s', port);
break;
#endif /*SCM_SINGLES*/
case scm_tc7_dvect:
- scm_gen_putc ('i', port);
+ scm_putc ('i', port);
break;
case scm_tc7_cvect:
- scm_gen_putc ('c', port);
+ scm_putc ('c', port);
break;
#endif /*SCM_FLOATS*/
}
- scm_gen_putc ('(', port);
+ scm_putc ('(', port);
rapr1 (exp, base, 0, port, pstate);
- scm_gen_putc (')', port);
+ scm_putc (')', port);
return 1;
}
ra = SCM_ARRAY_V (ra);
goto loop;
case scm_tc7_vector:
+ case scm_tc7_wvect:
return SCM_EOL;
case scm_tc7_bvect:
return SCM_BOOL_T;