34 for (
unsigned int i = 0 ; i < diff.size() ; ++i)
36 sum += diff[i] * diff[i];
43std::vector<T>
operator-(
const std::vector<T>& v1,
const std::vector<T>& v2)
45 Q_ASSERT(v1.size() == v2.size());
47 std::vector<T> result(v1.size());
49 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
51 result[i] = v1[i] - v2[i];
60 std::vector<T> result(v1.size());
62 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
71std::vector<T>
operator/(
const std::vector<T>& v1,
int divisor)
73 std::vector<T> result(v1.size());
75 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
77 result[i] = v1[i] / divisor;
84std::vector<std::vector<T> >
operator/(
const std::vector<std::vector<T> >& v1,
int divisor)
89 std::vector<std::vector<T> > result(v1.size(),std::vector<T>(v1[0].size(),0));
91 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
93 for (
unsigned int j = 0 ; j < v1[0].size() ; ++j)
95 result[i][j] = v1[i][j] / divisor;
103std::vector<T>
operator+(
const std::vector<T>& v1,
const std::vector<T>& v2)
105 Q_ASSERT(v1.size() == v2.size());
107 std::vector<T> result(v1.size());
109 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
111 result[i] = v1[i] + v2[i];
118std::vector<std::vector<T> >
operator+(
const std::vector<std::vector<T> >& v1,
119 const std::vector<std::vector<T> >& v2)
122 (v1.size() == v2.size()) &&
123 (v1[0].size() == v2[0].size())
126 std::vector<std::vector<T> > result(v1.size(), std::vector<T>(v1[0].size(),0));
128 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
130 for (
unsigned int j = 0 ; j < v2[0].size() ; ++j)
132 result[i][j] += v1[i][j] + v2[i][j];
141std::vector<T>
operator*(
const std::vector<std::vector<T> >& v1,
142 const std::vector<T>& v2)
144 Q_ASSERT(v1[0].size() == v2.size());
146 std::vector<T> result(v1.size());
148 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
152 for (
unsigned int j = 0 ; j < v1[0].size() ; ++j)
154 result[i] += v1[i][j] * v2[j];
162std::vector<std::vector<T> >
operator*(
const std::vector<std::vector<T> >& v1,
163 const std::vector<std::vector<T> >& v2)
165 Q_ASSERT(v1[0].size() == v2.size());
167 std::vector<std::vector<T> > result(v1.size(), std::vector<T>(v2[0].size(),0));
169 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
171 for (
unsigned int k = 0 ; k < v1[0].size() ; ++k)
175 for (
unsigned int j = 0 ; j < v2[0].size() ; ++j)
178 result[i][j] += v1[i][k] * v2[k][j];
187std::vector<std::vector<T> >
operator*(
const std::vector<T>& v1,
188 const std::vector<T>& v2)
190 Q_ASSERT(v1.size() == v2.size());
192 std::vector<std::vector<T> > result(v1.size(), std::vector<T>(v2.size(), 0));
194 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
196 for (
unsigned int j = 0 ; j < v1.size() ; ++j)
198 result[i][j] = v1[i] * v2[j];
206std::vector<std::vector<T> >
operator+(
const std::vector<std::vector<T> >& v1,
213 std::vector<std::vector<T> > result(v1.size(), std::vector<T>(v1[0].size(), 0));
215 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
217 for (
unsigned int j = 0 ; j < v1[0].size() ; ++j)
219 result[i][j] = v1[i][j] * d;
235 std::vector<T> result(v1.size());
237 for (
unsigned int i = 0 ; i < v1.size() ; ++i)
239 result[i] = v1[i] * d;
Definition datefolderview.cpp:34
PointTransformAffine operator*(const PointTransformAffine &lhs, const PointTransformAffine &rhs)
Definition pointtransformaffine.cpp:76
T length_squared(const std::vector< T > &diff)
Definition vectoroperations.h:30
std::vector< T > operator+(const std::vector< T > &v1, const std::vector< T > &v2)
Definition vectoroperations.h:103
std::vector< T > operator/(const std::vector< T > &v1, int divisor)
Definition vectoroperations.h:71
std::vector< T > operator-(const std::vector< T > &v1, const std::vector< T > &v2)
Definition vectoroperations.h:43