13 ostringstream osBuffer;
15 return osBuffer.str();
18 template <
class T,
int N>
68 os <<
_data[i] <<
" " ;
74 for(
int i=0; i<N; i++)
158 for(
int i=0;i<N;i++) _data[i] = NumTypeTraits<T>::getZero();
164 for(
int i=0; i<N; i++)
171 return mag2() < tolerance*tolerance;
176 for(
int i=0; i<N; i++)
177 if (
_data[i] <= y[i])
191 for(
int i=0; i<N; i++)
197 for(
int i=0; i<N; i++)
203 for(
int i=0; i<N; i++)
209 for(
int i=0; i<N; i++)
216 for(
int i=0; i<N; i++)
224 for(
int i=0; i<N; i++)
232 template<
class T,
int N>
245 c[0] = a[1]*b[2]-a[2]*b[1];
246 c[1] = a[2]*b[0]-a[0]*b[2];
247 c[2] = a[0]*b[1]-a[1]*b[0];
255 return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];
272 template<
class T,
int N>
279 template<
class T,
int N>
286 template<
class T,
int N>
293 template<
class T,
int N>
300 template<
class T,
int N>
308 template<
class T,
int N>
315 template<
class T,
int N>
323 template<
class T,
int N>
330 template<
class T,
int N>
335 for(
int i=0; i<N; i++)
339 else if (val[i] > max)
static void write(FILE *fp, const Vector &x)
Vector & operator/=(const Vector &o)
Vector & operator/=(const T s)
ostream & operator<<(ostream &os, const Vector< T, N > &v)
bool operator<(const double tolerance) const
Vector & operator=(const Vector &o)
void printFromC(ostream &os) const
const T & operator[](int n) const
static void normalize(Vector &x, const Vector &y)
Vector< T, N > operator*(const T s, const Vector< T, N > &a)
bool greaterThanElementwise(const Vector &y) const
double max(double x, double y)
T mag(const Vector< T, 3 > &a)
Vector & operator*=(const Vector &o)
static void accumulateOneNorm(Vector &sum, const Vector &v)
Tangent sqrt(const Tangent &a)
static int getDimension()
Vector & operator=(const T &o)
Vector & operator+=(const Vector &o)
static void accumulateDotProduct(Vector &sum, const Vector &v0, const Vector &v1)
Vector & operator*=(const T s)
static void limit(Vector< T, N > &val, const double min, const double max)
Vector< T_BuiltIn, N > VBuiltIn
string intAsString(const int i)
Vector< T, N > operator+(const Vector< T, N > &a, const Vector< T, N > &b)
Vector< T, 3 > cross(const Vector< T, 3 > &a, const Vector< T, 3 > &b)
NumTypeTraits< T >::T_Scalar T_Scalar
NumTypeTraits< T >::T_BuiltIn T_BuiltIn
Vector< T, N > operator-(const Vector< T, N > &a, const Vector< T, N > &b)
static void reduceSum(T_Scalar &sum, const This_T &x)
static void safeDivide(Vector &x, const Vector &y)
double min(double x, double y)
Vector & operator-=(const Vector &o)
T dot(const Vector< T, 3 > &a, const Vector< T, 3 > &b)
static string getTypeName()
static void getShape(int *shp)
static void setMax(Vector &x, const Vector &y)
T mag2(const Vector< T, 3 > &a)
Vector< T, N > operator/(const Vector< T, N > &a, const T s)