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