124 for(
int i=0;i<3;i++) _data[i] = NumTypeTraits<T>::getZero();
129 for(
int i=0; i<3; i++)
135 for(
int i=0; i<3; i++)
141 for(
int i=0; i<3; i++)
147 for(
int i=0; i<3; i++)
153 for(
int i=0; i<3; i++)
159 for(
int i=0; i<3; i++)
173 os <<
_data[i] <<
" " ;
179 for(
int i=0; i<3; i++)
189 for(
int i=0; i<3; i++)
196 return mag2() < tolerance*tolerance;
ostream & operator<<(ostream &os, const Gradient< T > &v)
Gradient operator-() const
NumTypeTraits< T >::T_Scalar T_Scalar
Gradient & operator-=(const Gradient &o)
T operator*=(const Coord &v)
Gradient & operator+=(const Gradient &o)
static Gradient getZero()
NumTypeTraits< T >::T_BuiltIn T_BuiltIn
Gradient< T > operator+(const Gradient< T > &a, const Gradient< T > &b)
static void setMax(Gradient &x, const Gradient &y)
static void normalize(Gradient &x, const Gradient &y)
void print(ostream &os) const
static void getShape(int *shp)
Vector< T_Scalar, 3 > Coord
static void reduceSum(T_Scalar &sum, const This_T &x)
Gradient< T > operator/(const Gradient< T > &a, const typename NumTypeTraits< T >::T_Scalar &s)
Gradient< T > operator*(const Gradient< T > &a, const typename NumTypeTraits< T >::T_Scalar &s)
bool operator<(const double tolerance) const
Gradient & operator=(const T_Scalar &o)
void accumulate(const Coord &wt, const T &v)
static void accumulateOneNorm(Gradient &sum, const Gradient &v)
static string getTypeName()
Gradient & operator=(const Gradient &o)
static void write(FILE *fp, const Gradient &x)
Gradient & operator*=(const Gradient &o)
static void safeDivide(Gradient &x, const Gradient &y)
static void accumulateDotProduct(Gradient &sum, const Gradient &v0, const Gradient &v1)
Gradient< T > operator-(const Gradient< T > &a)
Gradient & operator/=(const T_Scalar &s)
static int getDimension()
Gradient & operator*=(const T_Scalar &s)
Gradient & operator/=(const Gradient &o)
const T & operator[](int n) const