guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-core/libguile ChangeLog unif.h eval...


From: Dirk Herrmann
Subject: guile/guile-core/libguile ChangeLog unif.h eval...
Date: Tue, 10 Oct 2000 02:22:32 -0700

CVSROOT:        /cvs
Module name:    guile
Changes by:     Dirk Herrmann <address@hidden>  00/10/10 02:22:31

Modified files:
        guile-core/libguile: ChangeLog unif.h eval.c gc.c gh_data.c 
                             sort.c vectors.c 

Log message:
        * Removed further calls to SCM_LENGTH.

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/ChangeLog.diff?r1=1.1139&r2=1.1140
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/unif.h.diff?r1=1.27&r2=1.28
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/eval.c.diff?r1=1.174&r2=1.175
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/gc.c.diff?r1=1.158&r2=1.159
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/gh_data.c.diff?r1=1.41&r2=1.42
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/sort.c.diff?r1=1.25&r2=1.26
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/vectors.c.diff?r1=1.36&r2=1.37

Patches:
Index: guile/guile-core/libguile/ChangeLog
diff -u guile/guile-core/libguile/ChangeLog:1.1139 
guile/guile-core/libguile/ChangeLog:1.1140
--- guile/guile-core/libguile/ChangeLog:1.1139  Mon Oct  9 09:27:24 2000
+++ guile/guile-core/libguile/ChangeLog Tue Oct 10 02:22:31 2000
@@ -1,3 +1,25 @@
+2000-10-10  Dirk Herrmann  <address@hidden>
+
+       * unif.h (SCM_BITVECTOR_P, SCM_BITVECTOR_BASE):  Added.
+
+       * eval.c (iqq, SCM_CEVAL, SCM_APPLY, check_map_args, scm_map,
+       scm_for_each, scm_copy_tree), gc.c (scm_igc, scm_gc_mark,
+       scm_gc_sweep), gh_data.c (gh_scm2chars), sort.c
+       (scm_restricted_vector_sort_x, scm_sorted_p, scm_sort_x,
+       scm_sort, scm_stable_sort_x, scm_stable_sort), vectors.c
+       (scm_vector_length, scm_vector_ref, scm_vector_set_x,
+       scm_vector_to_list, scm_vector_fill_x, scm_vector_equal_p,
+       scm_vector_move_left_x, scm_vector_move_right_x, ):  Replace
+       SCM_LENGTH with the appropriate SCM_<type>_LENGTH macro.
+
+       * gc.c (scm_gc_sweep):  Use SCM_BITVECTOR_BASE for bitvectors.
+
+       * sort.c (scm_restricted_vector_sort_x, scm_sorted_p):  Eliminated
+       dummy type dispatch.
+
+       (scm_sort_x, scm_sort, scm_stable_sort_x, scm_stable_sort):
+       Eliminated redundant NIM test.
+
 2000-10-09  Dirk Herrmann  <address@hidden>
 
        * filesys.c (fill_select_type, retrieve_select_type, scm_select),
Index: guile/guile-core/libguile/eval.c
diff -u guile/guile-core/libguile/eval.c:1.174 
guile/guile-core/libguile/eval.c:1.175
--- guile/guile-core/libguile/eval.c:1.174      Tue Sep 26 12:20:39 2000
+++ guile/guile-core/libguile/eval.c    Tue Oct 10 02:22:31 2000
@@ -811,7 +811,7 @@
     return form;
   if (SCM_VECTORP (form))
     {
-      long i = SCM_LENGTH (form);
+      long i = SCM_VECTOR_LENGTH (form);
       SCM *data = SCM_VELTS (form);
       tmp = SCM_EOL;
       for (; --i >= 0;)
@@ -2276,7 +2276,7 @@
                /* Prepare for linear search */
                mask = -1;
                i = 0;
-               end = SCM_LENGTH (proc);
+               end = SCM_VECTOR_LENGTH (proc);
              }
            else
              {
@@ -2765,7 +2765,7 @@
            }
          proc = SCM_SNAME (proc);
          {
-           char *chrs = SCM_SYMBOL_CHARS (proc) + SCM_LENGTH (proc) - 1;
+           char *chrs = SCM_SYMBOL_CHARS (proc) + SCM_SYMBOL_LENGTH (proc) - 1;
            while ('c' != *--chrs)
              {
                SCM_ASSERT (SCM_CONSP (t.arg1),
@@ -3396,7 +3396,7 @@
        }
       proc = SCM_SNAME (proc);
       {
-       char *chrs = SCM_SYMBOL_CHARS (proc) + SCM_LENGTH (proc) - 1;
+       char *chrs = SCM_SYMBOL_CHARS (proc) + SCM_SYMBOL_LENGTH (proc) - 1;
        while ('c' != *--chrs)
          {
            SCM_ASSERT (SCM_CONSP (arg1),
@@ -3604,7 +3604,7 @@
   SCM *ve = SCM_VELTS (argv);
   int i;
 
-  for (i = SCM_LENGTH (argv) - 1; i >= 1; i--)
+  for (i = SCM_VECTOR_LENGTH (argv) - 1; i >= 1; i--)
     {
       int elt_len = scm_ilength (ve[i]);
 
@@ -3665,7 +3665,7 @@
   while (1)
     {
       arg1 = SCM_EOL;
-      for (i = SCM_LENGTH (args) - 1; i >= 0; i--)
+      for (i = SCM_VECTOR_LENGTH (args) - 1; i >= 0; i--)
        {
          if (SCM_IMP (ve[i])) 
            return res;
@@ -3708,7 +3708,7 @@
   while (1)
     {
       arg1 = SCM_EOL;
-      for (i = SCM_LENGTH (args) - 1; i >= 0; i--)
+      for (i = SCM_VECTOR_LENGTH (args) - 1; i >= 0; i--)
        {
          if SCM_IMP
            (ve[i]) return SCM_UNSPECIFIED;
@@ -3823,7 +3823,7 @@
     return obj;
   if (SCM_VECTORP (obj))
     {
-      scm_sizet i = SCM_LENGTH (obj);
+      scm_sizet i = SCM_VECTOR_LENGTH (obj);
       ans = scm_make_vector (SCM_MAKINUM (i), SCM_UNSPECIFIED);
       while (i--)
        SCM_VELTS (ans)[i] = scm_copy_tree (SCM_VELTS (obj)[i]);
Index: guile/guile-core/libguile/gc.c
diff -u guile/guile-core/libguile/gc.c:1.158 
guile/guile-core/libguile/gc.c:1.159
--- guile/guile-core/libguile/gc.c:1.158        Tue Sep 26 14:53:49 2000
+++ guile/guile-core/libguile/gc.c      Tue Oct 10 02:22:31 2000
@@ -1010,7 +1010,7 @@
     int bound;
     SCM * elts;
     elts = SCM_VELTS (scm_continuation_stack);
-    bound = SCM_LENGTH (scm_continuation_stack);
+    bound = SCM_VECTOR_LENGTH (scm_continuation_stack);
     x = SCM_INUM (scm_continuation_stack_ptr);
     while (x < bound)
       {
@@ -1172,7 +1172,7 @@
           {
             /* ptr is a struct */
             SCM layout = SCM_PACK (vtable_data [scm_vtable_index_layout]);
-            int len = SCM_LENGTH (layout);
+            int len = SCM_SYMBOL_LENGTH (layout);
             char * fields_desc = SCM_SYMBOL_CHARS (layout);
             scm_bits_t * struct_data = (scm_bits_t *) SCM_STRUCT_DATA (ptr);
 
@@ -1213,10 +1213,17 @@
       ptr = SCM_CDR (ptr);
       goto gc_mark_nimp;
     case scm_tc7_vector:
+      i = SCM_VECTOR_LENGTH (ptr);
+      if (i == 0)
+       break;
+      while (--i > 0)
+       if (SCM_NIMP (SCM_VELTS (ptr)[i]))
+         scm_gc_mark (SCM_VELTS (ptr)[i]);
+      ptr = SCM_VELTS (ptr)[0];
+      goto gc_mark_loop;
 #ifdef CCLO
     case scm_tc7_cclo:
-#endif
-      i = SCM_LENGTH (ptr);
+      i = SCM_CCLO_LENGTH (ptr);
       if (i == 0)
        break;
       while (--i > 0)
@@ -1224,11 +1231,12 @@
          scm_gc_mark (SCM_VELTS (ptr)[i]);
       ptr = SCM_VELTS (ptr)[0];
       goto gc_mark_loop;
+#endif
     case scm_tc7_contin:
       if (SCM_VELTS (ptr))
        scm_mark_locations (SCM_VELTS_AS_STACKITEMS (ptr),
                            (scm_sizet)
-                           (SCM_LENGTH (ptr) +
+                           (SCM_CONTINUATION_LENGTH (ptr) +
                             (sizeof (SCM_STACKITEM) + -1 +
                              sizeof (scm_contregs)) /
                             sizeof (SCM_STACKITEM)));
@@ -1263,7 +1271,7 @@
          int weak_keys;
          int weak_values;
 
-         len = SCM_LENGTH (ptr);
+         len = SCM_VECTOR_LENGTH (ptr);
          weak_keys = SCM_IS_WHVEC (ptr) || SCM_IS_WHVEC_B (ptr);
          weak_values = SCM_IS_WHVEC_V (ptr) || SCM_IS_WHVEC_B (ptr);
 
@@ -1603,23 +1611,23 @@
            case scm_tc7_pws:
              break;
            case scm_tc7_wvect:
-              m += (2 + SCM_LENGTH (scmptr)) * sizeof (SCM);
+              m += (2 + SCM_VECTOR_LENGTH (scmptr)) * sizeof (SCM);
               scm_must_free (SCM_VECTOR_BASE (scmptr) - 2);
               break;
            case scm_tc7_vector:
-             m += (SCM_LENGTH (scmptr) * sizeof (SCM));
+             m += (SCM_VECTOR_LENGTH (scmptr) * sizeof (SCM));
              scm_must_free (SCM_VECTOR_BASE (scmptr));
              break;
 #ifdef CCLO
            case scm_tc7_cclo:
-             m += (SCM_LENGTH (scmptr) * sizeof (SCM));
+             m += (SCM_CCLO_LENGTH (scmptr) * sizeof (SCM));
              scm_must_free (SCM_CCLO_BASE (scmptr));
              break;
 #endif
 #ifdef HAVE_ARRAYS
            case scm_tc7_bvect:
-             m += sizeof (long) * ((SCM_HUGE_LENGTH (scmptr) + SCM_LONG_BIT - 
1) / SCM_LONG_BIT);
-             scm_must_free (SCM_UVECTOR_BASE (scmptr));
+             m += sizeof (long) * ((SCM_BITVECTOR_LENGTH (scmptr) + 
SCM_LONG_BIT - 1) / SCM_LONG_BIT);
+             scm_must_free (SCM_BITVECTOR_BASE (scmptr));
              break;
            case scm_tc7_byvect:
            case scm_tc7_ivect:
@@ -1638,15 +1646,16 @@
            case scm_tc7_substring:
              break;
            case scm_tc7_string:
-             m += SCM_HUGE_LENGTH (scmptr) + 1;
+             m += SCM_STRING_LENGTH (scmptr) + 1;
              scm_must_free (SCM_STRING_CHARS (scmptr));
              break;
            case scm_tc7_symbol:
-             m += SCM_LENGTH (scmptr) + 1;
+             m += SCM_SYMBOL_LENGTH (scmptr) + 1;
              scm_must_free (SCM_SYMBOL_CHARS (scmptr));
              break;
            case scm_tc7_contin:
-             m += SCM_LENGTH (scmptr) * sizeof (SCM_STACKITEM) + sizeof 
(scm_contregs);
+             m += SCM_CONTINUATION_LENGTH (scmptr) * sizeof (SCM_STACKITEM)
+                  + sizeof (scm_contregs);
              if (SCM_CONTREGS (scmptr))
                {
                  scm_must_free (SCM_CONTREGS (scmptr));
Index: guile/guile-core/libguile/gh_data.c
diff -u guile/guile-core/libguile/gh_data.c:1.41 
guile/guile-core/libguile/gh_data.c:1.42
--- guile/guile-core/libguile/gh_data.c:1.41    Mon Oct  9 09:27:24 2000
+++ guile/guile-core/libguile/gh_data.c Tue Oct 10 02:22:31 2000
@@ -297,10 +297,15 @@
       break;
 #ifdef HAVE_ARRAYS
     case scm_tc7_byvect:
+      n = SCM_UVECTOR_LENGTH (obj);
+      if (m == 0)
+       m = (char *) malloc (n * sizeof (char));
+      memcpy (m, SCM_VELTS (obj), n * sizeof (char));
+      break;
 #endif
     case scm_tc7_string:
     case scm_tc7_substring:
-      n = SCM_LENGTH (obj);
+      n = SCM_STRING_LENGTH (obj);
       if (m == 0)
        m = (char *) malloc (n * sizeof (char));
       memcpy (m, SCM_VELTS (obj), n * sizeof (char));
Index: guile/guile-core/libguile/sort.c
diff -u guile/guile-core/libguile/sort.c:1.25 
guile/guile-core/libguile/sort.c:1.26
--- guile/guile-core/libguile/sort.c:1.25       Mon Jun 12 05:28:24 2000
+++ guile/guile-core/libguile/sort.c    Tue Oct 10 02:22:31 2000
@@ -424,23 +424,11 @@
   size_t  vlen, spos, len, size = sizeof (SCM);
   SCM *vp;
 
-  SCM_VALIDATE_NIM (1,vec);
+  SCM_VALIDATE_VECTOR (1,vec);
   SCM_VALIDATE_NIM (2,less);
-  switch (SCM_TYP7 (vec))
-    {
-    case scm_tc7_vector:       /* the only type we manage is vector */
-      break;
-#if 0 /* HAVE_ARRAYS */
-    case scm_tc7_ivect:        /* long */
-    case scm_tc7_uvect:        /* unsigned */
-    case scm_tc7_fvect:        /* float */
-    case scm_tc7_dvect:        /* double */
-#endif
-    default:
-      SCM_WTA (1,vec);
-    }
+
   vp = SCM_VELTS (vec);                /* vector pointer */
-  vlen = SCM_LENGTH (vec);
+  vlen = SCM_VECTOR_LENGTH (vec);
 
   SCM_VALIDATE_INUM_COPY (3,startpos,spos);
   SCM_ASSERT_RANGE (3,startpos,(spos >= 0) && (spos <= vlen));
@@ -470,7 +458,6 @@
   if (SCM_NULLP (items))
     return SCM_BOOL_T;
 
-  SCM_VALIDATE_NIM (1,items);
   SCM_VALIDATE_NIM (2,less);
 
   if (SCM_CONSP (items))
@@ -498,36 +485,24 @@
     }
   else
     {
-      switch (SCM_TYP7 (items))
+      SCM_VALIDATE_VECTOR (1, items);
+
+      vp = SCM_VELTS (items);  /* vector pointer */
+      len = SCM_VECTOR_LENGTH (items);
+      j = len - 1;
+      while (j > 0)
        {
-       case scm_tc7_vector:
-         {
-           vp = SCM_VELTS (items);     /* vector pointer */
-           len = SCM_LENGTH (items);
-           j = len - 1;
-           while (j > 0)
-             {
-               if ((*cmp) (less, &vp[1], vp))
-                 return SCM_BOOL_F;
-               else
-                 {
-                   vp++;
-                   j--;
-                 }
-             }
-           return SCM_BOOL_T;
-         }
-         break;
-#if 0 /* HAVE_ARRAYS */
-       case scm_tc7_ivect:     /* long */
-       case scm_tc7_uvect:     /* unsigned */
-       case scm_tc7_fvect:     /* float */
-       case scm_tc7_dvect:     /* double */
-#endif
-       default:
-         SCM_WTA (1,items);
+         if ((*cmp) (less, &vp[1], vp))
+           return SCM_BOOL_F;
+         else
+           {
+             vp++;
+             j--;
+           }
        }
+      return SCM_BOOL_T;
     }
+
   return SCM_BOOL_F;
 }
 #undef FUNC_NAME
@@ -724,7 +699,7 @@
   long len;                    /* list/vector length */
   if (SCM_NULLP(items))
     return SCM_EOL;
-  SCM_VALIDATE_NIM (1,items);
+
   SCM_VALIDATE_NIM (2,less);
 
   if (SCM_CONSP (items))
@@ -734,7 +709,7 @@
     }
   else if (SCM_VECTORP (items))
     {
-      len = SCM_LENGTH (items);
+      len = SCM_VECTOR_LENGTH (items);
       scm_restricted_vector_sort_x (items,
                                    less,
                                    SCM_MAKINUM (0L),
@@ -757,7 +732,7 @@
   long len;                    /* list/vector length */
   if (SCM_NULLP(items))
     return SCM_EOL;
-  SCM_VALIDATE_NIM (1,items);
+
   SCM_VALIDATE_NIM (2,less);
   if (SCM_CONSP (items))
     {
@@ -769,7 +744,7 @@
   /* support ordinary vectors even if arrays not available?  */
   else if (SCM_VECTORP (items))
     {
-      len = SCM_LENGTH (items);
+      len = SCM_VECTOR_LENGTH (items);
       sortvec = scm_make_uve (len, scm_array_prototype (items));
       scm_array_copy_x (items, sortvec);
       scm_restricted_vector_sort_x (sortvec,
@@ -848,7 +823,7 @@
 
   if (SCM_NULLP (items))
     return SCM_EOL;
-  SCM_VALIDATE_NIM (1,items);
+
   SCM_VALIDATE_NIM (2,less);
   if (SCM_CONSP (items))
     {
@@ -858,7 +833,7 @@
   else if (SCM_VECTORP (items))
     {
       SCM *temp, *vp;
-      len = SCM_LENGTH (items);
+      len = SCM_VECTOR_LENGTH (items);
       temp = malloc (len * sizeof(SCM));
       vp = SCM_VELTS (items);
       scm_merge_vector_step (vp,
@@ -885,7 +860,7 @@
   long len;                    /* list/vector length */
   if (SCM_NULLP (items))
     return SCM_EOL;
-  SCM_VALIDATE_NIM (1,items);
+
   SCM_VALIDATE_NIM (2,less);
   if (SCM_CONSP (items))
     {
@@ -899,7 +874,7 @@
     {
       SCM retvec;
       SCM *temp, *vp;
-      len = SCM_LENGTH (items);
+      len = SCM_VECTOR_LENGTH (items);
       retvec = scm_make_uve (len, scm_array_prototype (items));
       scm_array_copy_x (items, retvec);
       temp = malloc (len * sizeof (SCM));
Index: guile/guile-core/libguile/unif.h
diff -u guile/guile-core/libguile/unif.h:1.27 
guile/guile-core/libguile/unif.h:1.28
--- guile/guile-core/libguile/unif.h:1.27       Fri Oct  6 06:35:58 2000
+++ guile/guile-core/libguile/unif.h    Tue Oct 10 02:22:31 2000
@@ -89,6 +89,8 @@
 #define SCM_UVECTOR_BASE(x) ((void *) (SCM_CELL_WORD_1 (x)))
 #define SCM_UVECTOR_LENGTH(x) (((unsigned long) SCM_CELL_WORD_0 (x)) >> 8)
 
+#define SCM_BITVECTOR_P(x) (!SCM_IMP (x) && (SCM_TYP7 (x) == scm_tc7_bvect))
+#define SCM_BITVECTOR_BASE(x) ((void *) (SCM_CELL_WORD_1 (x)))
 #define SCM_BITVECTOR_LENGTH(x) (((unsigned long) SCM_CELL_WORD_0 (x)) >> 8)
 
 /* apparently it's possible to have more than SCM_LENGTH_MAX elements
Index: guile/guile-core/libguile/vectors.c
diff -u guile/guile-core/libguile/vectors.c:1.36 
guile/guile-core/libguile/vectors.c:1.37
--- guile/guile-core/libguile/vectors.c:1.36    Tue Sep 26 12:40:10 2000
+++ guile/guile-core/libguile/vectors.c Tue Oct 10 02:22:31 2000
@@ -147,7 +147,7 @@
 {
   SCM_GASSERT1 (SCM_VECTORP(v),
                g_vector_length, v, SCM_ARG1, s_vector_length);
-  return SCM_MAKINUM (SCM_LENGTH (v));
+  return SCM_MAKINUM (SCM_VECTOR_LENGTH (v));
 }
 
 SCM_REGISTER_PROC (s_list_to_vector, "list->vector", 1, 0, 0, scm_vector);
@@ -212,7 +212,7 @@
                g_vector_ref, v, k, SCM_ARG1, s_vector_ref);
   SCM_GASSERT2 (SCM_INUMP (k),
                g_vector_ref, v, k, SCM_ARG2, s_vector_ref);
-  SCM_ASSERT_RANGE (2, k, SCM_INUM (k) < SCM_LENGTH (v) && SCM_INUM (k) >= 0);
+  SCM_ASSERT_RANGE (2, k, SCM_INUM (k) < SCM_VECTOR_LENGTH (v) && SCM_INUM (k) 
>= 0);
   return SCM_VELTS (v)[(long) SCM_INUM (k)];
 }
 #undef FUNC_NAME
@@ -248,7 +248,7 @@
   SCM_GASSERTn (SCM_INUMP (k),
                g_vector_set_x, SCM_LIST3 (v, k, obj),
                SCM_ARG2, s_vector_set_x);
-  SCM_ASSERT_RANGE (2, k, SCM_INUM (k) < SCM_LENGTH (v) && SCM_INUM (k) >= 0);
+  SCM_ASSERT_RANGE (2, k, SCM_INUM (k) < SCM_VECTOR_LENGTH (v) && SCM_INUM (k) 
>= 0);
   SCM_VELTS(v)[(long) SCM_INUM(k)] = obj;
   return SCM_UNSPECIFIED;
 }
@@ -302,7 +302,7 @@
   SCM *data;
   SCM_VALIDATE_VECTOR (1,v);
   data = SCM_VELTS(v);
-  for(i = SCM_LENGTH(v)-1;i >= 0;i--) res = scm_cons(data[i], res);
+  for(i = SCM_VECTOR_LENGTH(v)-1;i >= 0;i--) res = scm_cons(data[i], res);
   return res;
 }
 #undef FUNC_NAME
@@ -318,7 +318,7 @@
   register SCM *data;
   SCM_VALIDATE_VECTOR (1,v);
   data = SCM_VELTS(v);
-  for(i = SCM_LENGTH(v) - 1; i >= 0; i--)
+  for(i = SCM_VECTOR_LENGTH(v) - 1; i >= 0; i--)
     data[i] = fill_x;
   return SCM_UNSPECIFIED;
 }
@@ -329,7 +329,7 @@
 scm_vector_equal_p(SCM x, SCM y)
 {
   long i;
-  for(i = SCM_LENGTH(x)-1;i >= 0;i--)
+  for(i = SCM_VECTOR_LENGTH(x)-1;i >= 0;i--)
     if (SCM_FALSEP(scm_equal_p(SCM_VELTS(x)[i], SCM_VELTS(y)[i])))
       return SCM_BOOL_F;
   return SCM_BOOL_T;
@@ -350,10 +350,10 @@
   SCM_VALIDATE_INUM_COPY (3,end1,e);
   SCM_VALIDATE_VECTOR (4,vec2);
   SCM_VALIDATE_INUM_COPY (5,start2,j);
-  SCM_ASSERT_RANGE (2, start1, i <= SCM_LENGTH (vec1) && i >= 0);
-  SCM_ASSERT_RANGE (5, start2, j <= SCM_LENGTH (vec2) && j >= 0);
-  SCM_ASSERT_RANGE (3, end1, e <= SCM_LENGTH (vec1) && e >= 0);
-  SCM_ASSERT_RANGE (5, start2, e-i+j <= SCM_LENGTH (vec2));
+  SCM_ASSERT_RANGE (2, start1, i <= SCM_VECTOR_LENGTH (vec1) && i >= 0);
+  SCM_ASSERT_RANGE (5, start2, j <= SCM_VECTOR_LENGTH (vec2) && j >= 0);
+  SCM_ASSERT_RANGE (3, end1, e <= SCM_VECTOR_LENGTH (vec1) && e >= 0);
+  SCM_ASSERT_RANGE (5, start2, e-i+j <= SCM_VECTOR_LENGTH (vec2));
   while (i<e) SCM_VELTS (vec2)[j++] = SCM_VELTS (vec1)[i++];
   return SCM_UNSPECIFIED;
 }
@@ -373,11 +373,11 @@
   SCM_VALIDATE_INUM_COPY (3,end1,e);
   SCM_VALIDATE_VECTOR (4,vec2);
   SCM_VALIDATE_INUM_COPY (5,start2,j);
-  SCM_ASSERT_RANGE (2, start1, i <= SCM_LENGTH (vec1) && i >= 0);
-  SCM_ASSERT_RANGE (5, start2, j <= SCM_LENGTH (vec2) && j >= 0);
-  SCM_ASSERT_RANGE (3, end1, e <= SCM_LENGTH (vec1) && e >= 0);
+  SCM_ASSERT_RANGE (2, start1, i <= SCM_VECTOR_LENGTH (vec1) && i >= 0);
+  SCM_ASSERT_RANGE (5, start2, j <= SCM_VECTOR_LENGTH (vec2) && j >= 0);
+  SCM_ASSERT_RANGE (3, end1, e <= SCM_VECTOR_LENGTH (vec1) && e >= 0);
   j = e - i + j;
-  SCM_ASSERT_RANGE (5, start2, j <= SCM_LENGTH (vec2));
+  SCM_ASSERT_RANGE (5, start2, j <= SCM_VECTOR_LENGTH (vec2));
   while (i < e)
     SCM_VELTS (vec2)[--j] = SCM_VELTS (vec1)[--e];
   return SCM_UNSPECIFIED;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]