Changeset 19addd1 in git for gfanlib/gfanlib_vector.h
- Timestamp:
- Oct 25, 2013, 6:22:01 PM (10 years ago)
- Branches:
- (u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
- Children:
- 69b2c1754cbeecd7c1b844e71e2101e1b3794062
- Parents:
- b7b2c516034df879b01c7c8666bbdf0928da91dc
- git-author:
- Yue Ren <ren@mathematik.uni-kl.de>2013-10-25 18:22:01+02:00
- git-committer:
- Yue Ren <ren@mathematik.uni-kl.de>2013-10-25 18:25:28+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gfanlib/gfanlib_vector.h
rb7b2c5 r19addd1 101 101 if(size()<b.size())return true; 102 102 if(size()>b.size())return false; 103 for( inti=0;i<size();i++)103 for(unsigned i=0;i<size();i++) 104 104 { 105 105 if(v[i]<b[i])return true; … … 156 156 return pq*pq==pp*qq; 157 157 */ 158 intn=p.size();158 unsigned n=p.size(); 159 159 assert(n==q.size()); 160 inti;160 unsigned i; 161 161 for(i=0;i<n;i++) 162 162 { … … 167 167 typ a=p.v[i]; 168 168 typ b=q.v[i]; 169 for( intj=0;j<n;j++)169 for(unsigned j=0;j<n;j++) 170 170 if(a*q.v[j]!=b*p.v[j])return false; 171 171 return true; … … 175 175 // Arithmetic slow 176 176 //----------------- 177 inline friend Vector operator*(typ s, const Vector& q){Vector p=q;for( inti=0;i<q.size();i++)p[i]*=s;return p;}177 inline friend Vector operator*(typ s, const Vector& q){Vector p=q;for(unsigned i=0;i<q.size();i++)p[i]*=s;return p;} 178 178 // 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;} 179 179 /* inline friend Vector 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;} … … 181 181 */ 182 182 inline friend Vector operator/(const Vector& p, typ const &s){Vector ret(p.size());for(unsigned i=0;i<p.size();i++)ret[i]=p[i]/s;return ret;} 183 inline friend Vector operator+(const Vector& p, const Vector& q){assert(p.size()==q.size());Vector p1=p;for( inti=0;i<p.size();i++)p1[i]+=q[i];return p1;}184 inline friend Vector operator-(const Vector& p, const Vector& q){assert(p.size()==q.size());Vector p1=p;for( inti=0;i<p.size();i++)p1[i]-=q[i];return p1;}185 inline friend Vector max(const Vector& p, const Vector& q){assert(p.size()==q.size());Vector p1=p;for( inti=0;i<p.size();i++)if(p1[i]<q[i])p1[i]=q[i];return p1;}186 inline friend Vector min(const Vector& p, const Vector& q){assert(p.size()==q.size());Vector p1=p;for( inti=0;i<p.size();i++)if(p1[i]>q[i])p1[i]=q[i];return p1;}183 inline friend Vector operator+(const Vector& p, const Vector& q){assert(p.size()==q.size());Vector p1=p;for(unsigned i=0;i<p.size();i++)p1[i]+=q[i];return p1;} 184 inline friend Vector operator-(const Vector& p, const Vector& q){assert(p.size()==q.size());Vector p1=p;for(unsigned i=0;i<p.size();i++)p1[i]-=q[i];return p1;} 185 inline friend Vector max(const Vector& p, const Vector& q){assert(p.size()==q.size());Vector p1=p;for(unsigned i=0;i<p.size();i++)if(p1[i]<q[i])p1[i]=q[i];return p1;} 186 inline friend Vector min(const Vector& p, const Vector& q){assert(p.size()==q.size());Vector p1=p;for(unsigned i=0;i<p.size();i++)if(p1[i]>q[i])p1[i]=q[i];return p1;} 187 187 188 188 friend Vector operator-(const Vector &b) 189 189 { 190 190 Vector ret(b.size()); 191 for( inti=0;i<b.size();i++)ret[i]=-b[i];191 for(unsigned i=0;i<b.size();i++)ret[i]=-b[i]; 192 192 return ret; 193 193 } … … 226 226 { 227 227 assert(begin>=0); 228 assert(end<= size());228 assert(end<=(int)size()); 229 229 assert(end>=begin); 230 230 Vector ret(end-begin); … … 293 293 typ temp1,temp2; 294 294 typ ret(1); 295 for( inti=0;i<size();i++)295 for(unsigned i=0;i<size();i++) 296 296 ret=typ::gcd(ret,v[i],temp1,temp2); 297 297 return ret;
Note: See TracChangeset
for help on using the changeset viewer.