333264b
--- src/app_fancoarsening.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/app_fancoarsening.cpp	2017-08-08 20:44:07.874478774 -0600
5a776c1
@@ -33,12 +33,14 @@ public:
5a776c1
     return false;
5a776c1
   }
5a776c1
 
5a776c1
+#if 0
5a776c1
   IntegerVectorList inequalitiesForCone(IntegerVector const &codim1interior, IntegerVector const &newDirection)
5a776c1
   {
5a776c1
 
5a776c1
     int i=0;
5a776c1
 
5a776c1
   }
5a776c1
+#endif
5a776c1
 
5a776c1
   const char *helpText()
5a776c1
   {
333264b
--- src/app_librarytest.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/app_librarytest.cpp	2017-08-19 19:35:36.540662585 -0600
333264b
@@ -12,8 +12,8 @@
333264b
 #include "setoper.h"
333264b
 #include "cdd.h"
333264b
 #else
333264b
-#include "cdd/setoper.h"
333264b
-#include "cdd/cdd.h"
333264b
+#include "cddlib/setoper.h"
333264b
+#include "cddlib/cdd.h"
333264b
 #endif
333264b
 #include <iostream>
333264b
 #include <fstream>
333264b
--- src/application.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/application.cpp	2017-08-08 20:46:08.339136885 -0600
5a776c1
@@ -3,6 +3,8 @@
5a776c1
 #include <assert.h>
5a776c1
 #include <stdlib.h>
5a776c1
 #include <stdio.h>
5a776c1
+#include <limits.h>
5a776c1
+#include <unistd.h>
5a776c1
 #include <string>
5a776c1
 #include <list>
333264b
 #include <vector>
333264b
@@ -556,11 +558,11 @@ void Application::makeSymbolicLinks(cons
5a776c1
       if(all || p->includeInDefaultInstallation())
5a776c1
 	if(strlen(p->name())>0)
5a776c1
 	  {
5a776c1
-	    char c[1024];
5a776c1
-	    sprintf(c,"ln -s %s%s %s%s%s\n",path,name,path,name,p->name());
5a776c1
-	    fprintf(stderr,"%s",c);
333264b
-	    int err=system(c);
333264b
-	    assert(err==0);
5a776c1
+	    char c[PATH_MAX], d[PATH_MAX];
5a776c1
+	    snprintf(c,PATH_MAX,"%s%s",path,name);
5a776c1
+	    snprintf(d,PATH_MAX,"%s%s%s",path,name,p->name());
5a776c1
+	    fprintf(stderr,"ln -s %s %s\n",c,d);
5a776c1
+	    symlink(c,d);
5a776c1
 	  }
5a776c1
       p=p->next;
5a776c1
     }
333264b
--- src/app_test.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/app_test.cpp	2017-08-08 20:51:47.178175233 -0600
2aa9dcd
@@ -1,5 +1,7 @@
2aa9dcd
 #include <iostream>
2aa9dcd
 #include <stdlib.h>
2aa9dcd
+#include <dirent.h>
2aa9dcd
+#include <unistd.h>
2aa9dcd
 #include "parser.h"
2aa9dcd
 #include "printer.h"
2aa9dcd
 #include "polynomial.h"
333264b
@@ -491,10 +493,7 @@ int testIntegers()
2aa9dcd
 			  outputName=outputName+"New";
2aa9dcd
 		  }
333264b
 		  int err=0;
2aa9dcd
-		  {
2aa9dcd
-			  string t="rm "+outputName;
333264b
-			  /*err|=*/system(t.c_str());
2aa9dcd
-		  }
2aa9dcd
+		  unlink(outputName.c_str());
2aa9dcd
 		  string command3="cat <"+input+"|"+string(command2)+">"+outputName;
2aa9dcd
 		  cerr<<"Running command:\""<
333264b
 		  err|=system(command3.c_str());
333264b
@@ -508,24 +507,17 @@ int testIntegers()
2aa9dcd
 
2aa9dcd
   list<string> subFolderNames()
2aa9dcd
   {
2aa9dcd
-#define tempName "GfAnTeMpTeStS"
2aa9dcd
-	  char command[256];
333264b
-	  int err=system("rm " tempName);
333264b
-	  err=0;//Having err!=0 above is probably not at mistake. Rather the file did not exist.
2aa9dcd
-	  sprintf(command,"ls %s>" tempName ,testSuiteFolderOption.getValue());
333264b
-	  err|=system(command);
333264b
-	  assert(err==0);
2aa9dcd
-
2aa9dcd
 	  list<string> ret;
2aa9dcd
-	  FILE *f=fopen(tempName,"r");
2aa9dcd
-	  assert(f);
2aa9dcd
-	  char name[256];
2aa9dcd
-	  while(fgets(name,255,f))
2aa9dcd
+	  DIR *dir = opendir(testSuiteFolderOption.getValue());
2aa9dcd
+	  struct dirent *dirent;
2aa9dcd
+
2aa9dcd
+	  assert(dir);
2aa9dcd
+	  for (struct dirent *ent = readdir(dir); ent; ent = readdir(dir))
2aa9dcd
 	  {
2aa9dcd
-		  for(int i=0;i<255 && name[i];i++)if(name[i]=='\n'){name[i]=0;}
2aa9dcd
-		  if(name[0]>='0' && name[0]<='9')ret.push_back(string(testSuiteFolderOption.getValue())+"/"+string(name));
2aa9dcd
+		  if (ent->d_name[0]>='0' && ent->d_name[0]<='9')
2aa9dcd
+			  ret.push_back(string(testSuiteFolderOption.getValue())+"/"+string(ent->d_name));
2aa9dcd
 	  }
2aa9dcd
-	  fclose(f);
2aa9dcd
+	  closedir(dir);
2aa9dcd
 	  return ret;
2aa9dcd
   }
2aa9dcd
 
333264b
--- src/bergman.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/bergman.cpp	2017-08-19 19:03:16.158947524 -0600
333264b
@@ -327,7 +327,7 @@ log0 AsciiPrinter(Stderr).printPolynomia
333264b
       if(doesPermutationFixCone(*j))numFixed++;
333264b
     
333264b
     //  fprintf(Stderr,"groupSize = %i, numFixed = %i\n",groupSize,numFixed);
333264b
-    return groupSize/numFixed;
333264b
+    return (numFixed>0) ? groupSize/numFixed : 0;
333264b
   }
333264b
 
333264b
   void markFacet(IntegerVector const &relIntRidgeVector)
333264b
--- src/breadthfirstsearch.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/breadthfirstsearch.cpp	2017-08-19 19:04:35.078732494 -0600
333264b
@@ -260,7 +260,7 @@ public:
333264b
       }
333264b
 
333264b
     log2 fprintf(Stderr,"numFixed = %i\n",numFixed);
333264b
-    return groupSize/numFixed;
333264b
+    return (numFixed>0) ? groupSize/numFixed : 0;
333264b
   }
882536f
 };
882536f
 
333264b
--- src/bsptree.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/bsptree.cpp	2017-08-19 19:11:55.757531793 -0600
333264b
@@ -131,7 +131,8 @@ public:
333264b
               p=&(i->first);
333264b
             }
333264b
         }
333264b
-      normal=*p;
333264b
+      if (p)
333264b
+        normal=*p;
333264b
     }
333264b
     return normal;
333264b
     }
333264b
--- src/enumeration.h.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/enumeration.h	2017-08-08 20:53:14.696930681 -0600
5a776c1
@@ -36,7 +36,7 @@ class EnumerationFilePrinter: public Enu
5a776c1
   FILE *file;
5a776c1
  public:
5a776c1
   EnumerationFilePrinter();
5a776c1
-  ~EnumerationFilePrinter();
5a776c1
+  virtual ~EnumerationFilePrinter();
882536f
 
5a776c1
   void open(std::string filename);
5a776c1
   void open(FILE *file);
5a776c1
@@ -61,6 +61,7 @@ class EnumerationAlgorithm
5a776c1
   bool targetBasis(const PolynomialSet &groebnerBasis){bool ret=true;if(target)ret=target->basis(groebnerBasis);printProgress();return ret;}
5a776c1
  public:
5a776c1
   EnumerationAlgorithm(){target=0;progressCounter=0;}
5a776c1
+  virtual ~EnumerationAlgorithm(){}
5a776c1
   void setEnumerationTarget(EnumerationTarget *target){this->target=target;}
5a776c1
   virtual void enumerate(const PolynomialSet &groebnerBasis){}
5a776c1
 };
333264b
--- src/gfanlib_symmetry.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/gfanlib_symmetry.cpp	2017-08-19 19:02:38.303050669 -0600
333264b
@@ -423,7 +423,7 @@ int SymmetryGroup::orbitSize(ZVector con
333264b
           if(doesFix)numFixed++;
333264b
         }
333264b
     }
333264b
-  return groupSize/numFixed;
333264b
+  return (numFixed>0) ? groupSize/numFixed : 0;
882536f
 }
5a776c1
 
5a776c1
 
333264b
--- src/gfanlib_tropicalhomotopy.h.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/gfanlib_tropicalhomotopy.h	2017-08-19 20:27:59.920417245 -0600
333264b
@@ -454,7 +454,7 @@ template
333264b
 			//chioices are "relative" so no update is needed.
5a776c1
 
333264b
 			choices=parent.choices;
333264b
-			int numberToDrop=(subconfigurationIndex!=0) ? numberToDrop=k+1 : 0;
333264b
+			int numberToDrop=(subconfigurationIndex!=0) ? k+1 : 0;
5a776c1
 
333264b
 			choices[subconfigurationIndex-1].first-=numberToDrop;
333264b
 			choices[subconfigurationIndex-1].second-=numberToDrop;
333264b
--- src/gfanlib_zcone.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/gfanlib_zcone.cpp	2017-08-19 19:35:36.550662558 -0600
333264b
@@ -16,8 +16,8 @@
333264b
 #include "setoper.h"
333264b
 #include "cdd.h"
333264b
 #else
333264b
-#include "cdd/setoper.h"
333264b
-#include "cdd/cdd.h"
333264b
+#include "cddlib/setoper.h"
333264b
+#include "cddlib/cdd.h"
333264b
 #endif
333264b
 //}
5a776c1
 
333264b
@@ -52,8 +52,8 @@ namespace gfan{
333264b
 				  "dd_free_global_constants()\n"
333264b
 				  "in your deinitialisation code (only available for cddlib version>=094d).\n"
333264b
 				  "This requires the header includes:\n"
333264b
-				  "#include \"cdd/setoper.h\"\n"
333264b
-				  "#include \"cdd/cdd.h\"\n"
333264b
+				  "#include \"cddlib/setoper.h\"\n"
333264b
+				  "#include \"cddlib/cdd.h\"\n"
333264b
 				  "\n"
333264b
 				  "Alternatively, you may call gfan:initializeCddlibIfRequired() and deinitializeCddlibIfRequired()\n"
333264b
 				  "if gfanlib is the only code using cddlib. If at some point cddlib is no longer required by gfanlib\n"
333264b
--- src/lp_cdd.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/lp_cdd.cpp	2017-08-19 19:35:36.545662572 -0600
333264b
@@ -5,9 +5,9 @@
333264b
 #include "cdd.h"
333264b
 #include "cdd_f.h"
333264b
 #else
333264b
-#include "cdd/setoper.h"
333264b
-#include "cdd/cdd.h"
333264b
-#include "cdd/cdd_f.h"
333264b
+#include "cddlib/setoper.h"
333264b
+#include "cddlib/cdd.h"
333264b
+#include "cddlib/cdd_f.h"
333264b
 #endif
333264b
 //}
333264b
 #include "termorder.h"
333264b
--- src/polymakefile.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/polymakefile.cpp	2017-08-08 20:59:35.271908934 -0600
333264b
@@ -371,7 +371,7 @@ static list<int> readIntList(istream &s)
5a776c1
 {
5a776c1
   list<int> ret;
5a776c1
   int c=s.peek();
5a776c1
-  while((c>='0') && (c<='9')|| (c==' '))
5a776c1
+  while((c>='0' && c<='9')|| c==' ')
5a776c1
     {
5a776c1
       //      fprintf(Stderr,"?\n");
5a776c1
       int r;
333264b
--- src/symmetry.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/symmetry.cpp	2017-08-19 19:05:05.790648815 -0600
333264b
@@ -580,7 +580,7 @@ int SymmetryGroup::orbitSize(IntegerVect
333264b
           if(doesFix)numFixed++;
5a776c1
         }
333264b
     }
333264b
-  return groupSize/numFixed;
333264b
+  return (numFixed>0) ? groupSize/numFixed : 0;
5a776c1
 }
5a776c1
 
5a776c1
 
333264b
--- src/vektor.cpp.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/vektor.cpp	2017-08-08 21:00:13.911805196 -0600
5a776c1
@@ -96,7 +96,7 @@ int gcdGFAN(int r, int s)
5a776c1
 int gcdOfVector(IntegerVector const &v)
882536f
 {
5a776c1
   int ret=0;
5a776c1
-  for(int i=0;i
5a776c1
+  for(int i=0;i
5a776c1
   if(ret<0)ret=-ret;
5a776c1
   assert(ret!=0);
5a776c1
   for(int i=0;i
333264b
--- src/vektor.h.orig	2017-06-20 08:47:37.000000000 -0600
333264b
+++ src/vektor.h	2017-08-19 20:37:20.222665653 -0600
333264b
@@ -72,7 +72,7 @@ public:
333264b
   template<class T> explicit Vektor(const Vektor<T>& c)
333264b
 	  :v(c.size())
333264b
 	{
333264b
-	  for(int i=0;i
333264b
+	  for(size_t i=0;i
882536f
 	}
882536f
 
333264b
   //--------
333264b
@@ -80,10 +80,10 @@ public:
333264b
   //--------
333264b
   typ& operator[](int n)
333264b
     {
333264b
-      if(!(n>=0 && n
333264b
+      if(!(n>=0 && (size_t)n
333264b
       return (v[n]);
333264b
     }
333264b
-  const typ& operator[](int n)const{assert(n>=0 && n
333264b
+  const typ& operator[](int n)const{assert(n>=0 && (size_t)n
333264b
   const typ& UNCHECKEDACCESS(int n)const{return (v[n]);}
333264b
   typ& UNCHECKEDACCESS(int n){return (v[n]);}
333264b
 
333264b
@@ -92,7 +92,7 @@ public:
333264b
   //-------------
333264b
   unsigned int size()const{return v.size();};
333264b
   void resize(int n){v.resize(n,0);};
333264b
-  void grow(int i){if(size()
333264b
+  void grow(int i){if(size()<(size_t)i)resize(i);}
333264b
   void push_back(typ a)
333264b
   {
333264b
     v.push_back(a);
333264b
@@ -109,7 +109,7 @@ public:
333264b
     {
333264b
       if(size()
333264b
       if(size()>b.size())return false;
333264b
-      for(int i=0;i
333264b
+      for(size_t i=0;i
333264b
 	{
333264b
 	  if(v[i]
333264b
 	  if(b[i]
333264b
@@ -120,10 +120,10 @@ public:
333264b
   //-----------------
333264b
   // Arithmetic fast
333264b
   //-----------------
333264b
-  typ sum()const{typ f=0;for(int i=0;i
333264b
-  Vektor& operator+=(const Vektor& q){assert(size()==q.size());for(int i=0;i
333264b
-  Vektor& operator-=(const Vektor& q){assert(size()==q.size());for(int i=0;i
333264b
-  inline friend typ dot(const Vektor& p, const Vektor& q){assert(p.size()==q.size());typ s=0;for(int i=0;i
333264b
+  typ sum()const{typ f=0;for(size_t i=0;i
333264b
+  Vektor& operator+=(const Vektor& q){assert(size()==q.size());for(size_t i=0;i
333264b
+  Vektor& operator-=(const Vektor& q){assert(size()==q.size());for(size_t i=0;i
333264b
+  inline friend typ dot(const Vektor& p, const Vektor& q){assert(p.size()==q.size());typ s=0;for(size_t i=0;i
333264b
  // inline friend int64 dotLong(const Vektor& p, const Vektor& q){assert(p.size()==q.size());int64 s=0;for(int i=0;i
333264b
   inline friend int64 dotLong(const Vektor& p, const Vektor& q)
333264b
   {
333264b
@@ -178,50 +178,50 @@ public:
333264b
       dest[*p]=*s;
333264b
   }
333264b
 
333264b
-  bool operator==(const Vektor & q)const{if(size()!=q.size())return false;for(int i=0;i
333264b
+  bool operator==(const Vektor & q)const{if(size()!=q.size())return false;for(size_t i=0;i
333264b
   bool operator!=(const Vektor & q)const {return !(operator==(q));}
333264b
   bool isZero() const
333264b
     {
333264b
-      int n=v.size();
333264b
-      for(int i=0;i
333264b
+      size_t n=v.size();
333264b
+      for(size_t i=0;i
333264b
       return 1;
333264b
     }
333264b
   bool isPositive() const
333264b
     {
333264b
-      int n=v.size();
333264b
-      for(int i=0;i
333264b
+      size_t n=v.size();
333264b
+      for(size_t i=0;i
333264b
       return 1;
333264b
     }
333264b
   bool isNonNegative() const
333264b
     {
333264b
-      int n=v.size();
333264b
-      for(int i=0;i
333264b
+      size_t n=v.size();
333264b
+      for(size_t i=0;i
333264b
       return 1;
333264b
     }
333264b
   int max()const
333264b
   {
333264b
     int ret=-0x7fffffff; //not completely correct, but kind of works for 64bit
333264b
-    for(int i=0;i
333264b
+    for(size_t i=0;i
333264b
     return ret;
333264b
   }
333264b
   int argMax()const
333264b
   {
333264b
 	  int iret=-1;
333264b
 	  int ret=-0x7fffffff; //not completely correct, but kind of works for 64bit
333264b
-	  for(int i=0;i
333264b
+	  for(size_t i=0;i
333264b
 	  return iret;
333264b
   }
333264b
   int min()const
333264b
   {
333264b
     int ret=0x7fffffff;
333264b
-    for(int i=0;i<v.size();i++)if(ret>v[i])ret=v[i];
333264b
+    for(size_t i=0;i<v.size();i++)if(ret>v[i])ret=v[i];
333264b
     return ret;
333264b
   }
333264b
   typ infinityNorm()const
333264b
   {
333264b
 	  typ a=0;
333264b
 	  typ b=0;
333264b
-	  for(int i=0;i
333264b
+	  for(size_t i=0;i
333264b
 		  {
333264b
 			  if(a
333264b
 			  if(b>v[i])b=v[i];
333264b
@@ -234,7 +234,7 @@ public:
333264b
 	  bool aOK=true;
333264b
 	  bool bOK=true;
333264b
 
333264b
-	  for(int i=0;i
333264b
+	  for(size_t i=0;i
333264b
 		  {
333264b
 			  aOK&=(v[i]
333264b
 			  bOK&=(v[i]>-k);
333264b
@@ -249,9 +249,9 @@ public:
333264b
       typ pq=dot(p,q);
333264b
       return pq*pq==pp*qq;
333264b
 */
333264b
-	  int n=p.size();
333264b
+	  size_t n=p.size();
333264b
 	  assert(n==q.size());
333264b
-	  int i;
333264b
+	  size_t i;
333264b
 	  for(i=0;i
333264b
 	  {
333264b
 		  if(p.v[i])break;
333264b
@@ -260,7 +260,7 @@ public:
333264b
 	  if(q.v[i]==0)return q.isZero();
333264b
 	  int64 a=p.v[i];
333264b
 	  int64 b=q.v[i];
333264b
-	  for(int j=0;j
333264b
+	  for(size_t j=0;j
333264b
 		  if(a*q.v[j]!=b*p.v[j])return false;
333264b
 	  return true;
333264b
     }
333264b
@@ -269,15 +269,15 @@ public:
333264b
   // Arithmetic slow
333264b
   //-----------------
333264b
   inline friend Vektor operator-(const Vektor& q){return -1*q;};
333264b
-  inline friend Vektor operator*(typ s, const Vektor& q){Vektor p=q;for(int i=0;i
333264b
-  inline friend Vektor operator/(const Vektor& q, typ s){Vektor p=q;for(int i=0;i
333264b
-  inline friend Vektor operator*(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1=p;for(int i=0;i
333264b
+  inline friend Vektor operator*(typ s, const Vektor& q){Vektor p=q;for(size_t i=0;i
333264b
+  inline friend Vektor operator/(const Vektor& q, typ s){Vektor p=q;for(size_t i=0;i
333264b
+  inline friend Vektor operator*(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1=p;for(size_t i=0;i
333264b
 //  inline friend Vektor operator+(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1=p;for(int i=0;i
333264b
-  inline friend Vektor operator+(const Vektor& p, const Vektor& q){if(p.size()!=q.size()){fprintf(stderr,"%i %i\n",p.size(),q.size());assert(p.size()==q.size());};Vektor p1=p;for(int i=0;i
333264b
-  inline friend Vektor operator-(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1=p;for(int i=0;i
333264b
-  friend Vektor max(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1=p;for(int i=0;i
333264b
-  friend Vektor min(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1=p;for(int i=0;i<p.size();i++)if(p1[i]>q[i])p1[i]=q[i];return p1;}
333264b
-  friend Vektor coordinatewiseProduct(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1(q.size());for(int i=0;i
333264b
+  inline friend Vektor operator+(const Vektor& p, const Vektor& q){if(p.size()!=q.size()){fprintf(stderr,"%i %i\n",p.size(),q.size());assert(p.size()==q.size());};Vektor p1=p;for(size_t i=0;i
333264b
+  inline friend Vektor operator-(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1=p;for(size_t i=0;i
333264b
+  friend Vektor max(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1=p;for(size_t i=0;i
333264b
+  friend Vektor min(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1=p;for(size_t i=0;i<p.size();i++)if(p1[i]>q[i])p1[i]=q[i];return p1;}
333264b
+  friend Vektor coordinatewiseProduct(const Vektor& p, const Vektor& q){assert(p.size()==q.size());Vektor p1(q.size());for(size_t i=0;i
333264b
 
333264b
   //------------------
333264b
   // Monomial related
333264b
@@ -285,8 +285,8 @@ public:
333264b
   int divides(const Vektor& q) const
333264b
     {
333264b
       assert(size()==q.size());
333264b
-      int n=v.size();
333264b
-      for(int i=0;i
333264b
+      size_t n=v.size();
333264b
+      for(size_t i=0;i
333264b
         {
333264b
           if(v[i]>0)if(q.v[i]
333264b
         }
333264b
@@ -295,14 +295,14 @@ public:
333264b
   inline friend bool relativelyPrime(const Vektor& p, const Vektor& q)
333264b
     {
333264b
       assert(p.size()==q.size());
333264b
-      int n=p.size();
333264b
-      for(int t=0;t<n;t++)if((p[t]>0)&&(q[t]>0)) return false;
333264b
+      size_t n=p.size();
333264b
+      for(size_t t=0;t<n;t++)if((p[t]>0)&&(q[t]>0)) return false;
333264b
       return true;
333264b
     }
333264b
   Vektor supportVector()const
333264b
     {
333264b
       Vektor r(v.size());
333264b
-      for(int i=0;i
333264b
+      for(size_t i=0;i
333264b
 	r[i]=(v[i]!=0);
333264b
       return r;
333264b
     }
333264b
@@ -313,7 +313,7 @@ public:
333264b
   Vektor subvector(int begin, int end)const
333264b
     {
333264b
       assert(begin>=0);
333264b
-      assert(end<=size());
333264b
+      assert((size_t)end<=size());
333264b
       assert(end>=begin);
333264b
       Vektor ret(end-begin);
333264b
       for(int i=0;i
333264b
@@ -331,36 +331,36 @@ public:
333264b
   {
333264b
 	  Vektor ret(subset.sum());
333264b
 	  int i=0;
333264b
-	  for(int j=0;j
333264b
+	  for(size_t j=0;j
333264b
 	  return ret;
333264b
   }
333264b
   Vektor expandedBoolean(Vektor<int> const &subset)const // Inverse of the above, except that unknown entries are set to zero.
333264b
   {
333264b
 	 Vektor ret(subset.size());
333264b
-	 int i=0;
333264b
-	 for(int j=0;j
333264b
+	 size_t i=0;
333264b
+	 for(size_t j=0;j
333264b
 		 if(subset[j])ret[j]=v[i++];
333264b
 	 return ret;
333264b
   }
333264b
   friend Vektor concatenation(Vektor const &a, Vektor const &b)
333264b
   {
333264b
     Vektor ret(a.size()+b.size());
333264b
-    for(int i=0;i
333264b
-    for(int i=0;i
333264b
+    for(size_t i=0;i
333264b
+    for(size_t i=0;i
333264b
     return ret;
333264b
   }
333264b
   Vektor expanded(int newSize, vector<int> const &positions)
333264b
   {
333264b
 	  Vektor ret(newSize);
333264b
 	  assert(positions.size()==size());
333264b
-	  for(int i=0;i
333264b
+	  for(size_t i=0;i
333264b
 	  return ret;
333264b
   }
333264b
   Vektor withIthCoordinateRemoved(int i)const
333264b
   {
333264b
 	  Vektor ret(size()-1);
333264b
 	  for(int j=0;j
333264b
-	  for(int j=i+1;j
333264b
+	  for(int j=i+1;(size_t)j
333264b
 	  return ret;
333264b
   }
333264b
   Vektor withIthCoordinateInserted(int i, const typ &a)const
333264b
@@ -368,7 +368,7 @@ public:
333264b
 	  Vektor ret(size()+1);
333264b
 	  for(int j=0;j
333264b
 	  ret[i]=a;
333264b
-	  for(int j=i;j
333264b
+	  for(int j=i;(size_t)j
333264b
 	  return ret;
333264b
   }
333264b
 
333264b
@@ -378,7 +378,7 @@ public:
333264b
   int indexOfLargestNonzeroEntry()const
333264b
   {
333264b
     int ret=-1;
333264b
-    for(int i=0;i
333264b
+    for(int i=0;(size_t)i
333264b
       {
333264b
 	if(v[i])ret=i;
333264b
       }
333264b
@@ -387,20 +387,20 @@ public:
333264b
   Vektor supportIndices()const
333264b
   {
333264b
     Vektor ret(0);
333264b
-    for(int i=0;i
333264b
+    for(int i=0;(size_t)i
333264b
       if(v[i]!=0)ret.push_back(i);
333264b
     return ret;
333264b
   }
333264b
   Vektor supportAsZeroOneVector()const
333264b
   {
333264b
     Vektor ret(v.size());
333264b
-    for(int i=0;i
333264b
+    for(size_t i=0;i
333264b
     return ret;
333264b
   }
333264b
   void calcsupport(void)
333264b
     {
333264b
       support=0;
333264b
-      for(int i=0;i<v.size();i++)support=(support<<1)|(((v[i]>0)==true)&1;;
333264b
+      for(size_t i=0;i<v.size();i++)support=(support<<1)|(((v[i]>0)==true)&1;;
333264b
     }
333264b
 };
333264b