Index: kernel/int64vec.cc
===================================================================
--- kernel/int64vec.cc	(revision b553e559f98a3781f6cfd18ddbcb12a123420c3b)
+++ kernel/int64vec.cc	(revision d14343a61859db08e4e9a78b16211d1bbc44405e)
@@ -2,5 +2,5 @@
 *  Computer Algebra System SINGULAR      *
 *****************************************/
-/* $Id: int64vec.cc,v 1.2 2005-05-09 12:14:57 Singular Exp $ */
+/* $Id: int64vec.cc,v 1.3 2005-05-09 13:47:29 Singular Exp $ */
 /*
 * ABSTRACT: class int64vec: lists/vectors of int64
@@ -96,11 +96,4 @@
 }
 
-void int64vec::resize(int new_length)
-{
-  assume(new_length > 0 && col == 1);
-  v = (int64*) omRealloc0Size(v, row*sizeof(int64), new_length*sizeof(int64));
-  row = new_length;
-}
-
 char * int64vec::String(int dim)
 {
@@ -116,17 +109,7 @@
 }
 
-void int64vec::operator+=(int64 intop)
-{
-  for (int i=0; i<row*col; i++) { v[i] += intop; }
-}
-
-void int64vec::operator-=(int64 intop)
-{
-  for (int i=0; i<row*col; i++) { v[i] -= intop; }
-}
-
 void int64vec::operator*=(int64 intop)
 {
-  for (int i=0; i<row*col; i++) { v[i] *= intop; }
+  for (int i=row*col-1; i>=0; i--) { v[i] *= intop; }
 }
 
@@ -135,5 +118,5 @@
   if (intop == 0) return;
   int64 bb=ABS(intop);
-  for (int i=0; i<row*col; i++)
+  for (int i=row*col-1; i>=0; i--)
   {
     int64 r=v[i];
@@ -145,17 +128,4 @@
 }
 
-void int64vec::operator%=(int64 intop)
-{
-  if (intop == 0) return;
-  int64 bb=ABS(intop);
-  for (int i=0; i<row*col; i++)
-  {
-    int64 r=v[i];
-    int64 c=r%bb;
-    if (c<0) c+=bb;
-    v[i]=c;
-  }
-}
-
 int int64vec::compare(int64vec* op)
 {
@@ -190,19 +160,4 @@
   }
   return 0;
-}
-int int64vec::compare(int64 o)
-{
-  for (int i=0; i<row*col; i++)
-  {
-    if (v[i] <o) return -1;
-    if (v[i] >o) return 1;
-  }
-  return 0;
-}
-
-int64vec * iv64Copy(int64vec * o)
-{
-  int64vec * iv=new int64vec(o);
-  return iv;
 }
 
@@ -267,49 +222,4 @@
 }
 
-int64vec * iv64Tranp(int64vec * o)
-{
-  int i, j, r = o->rows(), c = o->cols();
-  int64vec * iv= new int64vec(c, r, 0);
-  for (i=0; i<r; i++)
-  {
-    for (j=0; j<c; j++)
-      (*iv)[j*r+i] = (*o)[i*c+j];
-  }
-  return iv;
-}
-
-int64 iv64Trace(int64vec * o)
-{
-  int i, m = si_min(o->rows(),o->cols()), c = o->cols();
-  int64 s = 0;
-  for (i=0; i<m; i++)
-  {
-    s += (*o)[i*c+i];
-  }
-  return s;
-}
-
-int64vec * iv64Mult(int64vec * a, int64vec * b)
-{
-  int i, j, k,
-      ra = a->rows(), ca = a->cols(),
-      rb = b->rows(), cb = b->cols();
-  int64 sum;
-  int64vec * iv;
-  if (ca != rb) return NULL;
-  iv = new int64vec(ra, cb, 0);
-  for (i=0; i<ra; i++)
-  {
-    for (j=0; j<cb; j++)
-    {
-      sum = 0;
-      for (k=0; k<ca; k++)
-        sum += (*a)[i*ca+k]*(*b)[k*cb+j];
-      (*iv)[i*cb+j] = sum;
-    }
-  }
-  return iv;
-}
-
 /* def. internals */
 static int64 iv64Gcd(int, int);
Index: kernel/int64vec.h
===================================================================
--- kernel/int64vec.h	(revision b553e559f98a3781f6cfd18ddbcb12a123420c3b)
+++ kernel/int64vec.h	(revision d14343a61859db08e4e9a78b16211d1bbc44405e)
@@ -4,5 +4,5 @@
 *  Computer Algebra System SINGULAR     *
 ****************************************/
-/* $Id: int64vec.h,v 1.2 2005-05-09 12:14:57 Singular Exp $ */
+/* $Id: int64vec.h,v 1.3 2005-05-09 13:47:29 Singular Exp $ */
 /*
 * ABSTRACT: class intvec: lists/vectors of int64
@@ -31,9 +31,4 @@
   int64vec(int64vec* iv);
   int64vec(intvec* iv);
-  void resize(int new_length);
-  int range(int i)
-    { return ((i<row) && (i>=0) && (col==1)); }
-  int range(int i, int j)
-    { return ((i<row) && (i>=0) && (j<col) && (j>=0)); }
   int64& operator[](int i)
     {
@@ -46,21 +41,14 @@
       return v[i];
     }
-  void operator+=(int64 intop);
-  void operator-=(int64 intop);
   void operator*=(int64 intop);
   void operator/=(int64 intop);
-  void operator%=(int64 intop);
   // -2: not compatible, -1: <, 0:=, 1: >
   int compare(int64vec* o);
-  int compare(int64 o);
   int  length() const { return col*row; }
   int  cols() const { return col; }
   int  rows() const { return row; }
-  void length(int l) { row = l; col = 1; }
   void show(int mat=0,int spaces=0);
-  void makeVector() { row*=col;col=1; }
   char * String(int dim = 2);
   char * iv64String(int not_mat=1,int mat=0,int spaces=0, int dim=2);
-  // keiner (ausser obachman) darf das folgenden benutzen !!!
   int64 * iv64GetVec() { return v; }
   ~int64vec()
@@ -77,10 +65,12 @@
     }
 };
-int64vec * iv64Copy(int64vec * o);
+inline int64vec * iv64Copy(int64vec * o)
+{
+  int64vec * iv=new int64vec(o);
+  return iv;
+};
+
 int64vec * iv64Add(int64vec * a, int64vec * b);
 int64vec * iv64Sub(int64vec * a, int64vec * b);
-int64vec * iv64Tranp(int64vec * o);
-int64      iv64Trace(int64vec * o);
-int64vec * iv64Mult(int64vec * a, int64vec * b);
 
 #ifdef MDEBUG
Index: kernel/walkSupport.cc
===================================================================
--- kernel/walkSupport.cc	(revision b553e559f98a3781f6cfd18ddbcb12a123420c3b)
+++ kernel/walkSupport.cc	(revision d14343a61859db08e4e9a78b16211d1bbc44405e)
@@ -217,12 +217,15 @@
   for (n=2; n<=pertdeg; n++)
   {
-    temp64=iv64Copy(taun64);
-    (*taun64)*=inveps64;
-    for(int i=0; i<currRing->N;i++)
-    {
-      if((*temp64)[i]!=0 && (((*taun64)[i])/((*temp64)[i]))!=inveps64)
-      overflow_error=12;
-    }
-    delete temp64;
+    if (inveps64!=1)
+    {
+      temp64=iv64Copy(taun64);
+      (*taun64)*=inveps64;
+      for(int i=0; i<currRing->N;i++)
+      {
+        if((*temp64)[i]!=0 && (((*taun64)[i])/((*temp64)[i]))!=inveps64)
+        overflow_error=12;
+      }
+      delete temp64;
+    }
     temp64=iv64Copy(taun64);
     add64=getNthRow64(targm,n);
