Go to the documentation of this file.
24 const quadruple<T> & oprnd1,
25 const quadruple<T> & oprnd2
28 return oprnd1.s_ * oprnd2.s_ +
29 dot(oprnd1.v(), oprnd2.v()) ;
60 oprnd1.s_ + oprnd2.s_,
69 const quadruple<T> & oprnd1,
83 const quadruple<T> & oprnd2
96 const quadruple<T> & oprnd1,
97 const quadruple<T> & oprnd2
101 oprnd1.s_ - oprnd2.s_,
102 oprnd1.v_ - oprnd2.v_
110 const quadruple<T> & oprnd1,
124 const quadruple<T> & oprnd2
137 const quadruple<T> & oprnd1,
138 const quadruple<T> & oprnd2
142 oprnd1.s_ * oprnd2.s_,
143 oprnd1.v_ * oprnd2.v_
151 const quadruple<T> & oprnd1,
165 const quadruple<T> & oprnd2
178 const quadruple<T> & oprnd1,
179 const quadruple<T> & oprnd2
183 oprnd1.s_ / oprnd2.s_,
184 oprnd1.v_ / oprnd2.v_
192 const quadruple<T> & oprnd1,
206 const quadruple<T> & oprnd2
221 this->s_ += oprnd2.
s_;
222 this->v_ += oprnd2.v_;
231 this->s_ -= oprnd2.
s_;
232 this->v_ -= oprnd2.v_;
242 this->s_ *= oprnd2.
s_;
243 this->v_ *= oprnd2.v_;
252 this->s_ /= oprnd2.
s_;
253 this->v_ /= oprnd2.v_;
287 const quadruple<T> & ov
291 str << token::BEGIN_LIST << ov.w()
292 << token::SPACE << ov.x()
293 << token::SPACE << ov.y()
294 << token::SPACE << ov.z()
317 str.readEnd(
"quadruple<T>");
332 str.readBegin(
"quadruple<T>");
347 str.readEnd(
"quadruple<T>");
bool readBegin(const char *funcName)
INLINE_FUNCTION_HD T length() const
INLINE_FUNCTION_HD void normalize()
virtual bool check(const char *operation) const
INLINE_FUNCTION_HD T dot(const quadruple< T > &oprnd1, const quadruple< T > &oprnd2)
INLINE_FUNCTION_HD T length(const triple< T > &v1)
#define INLINE_FUNCTION_H
INLINE_FUNCTION_H void readIstream(iIstream &str, quadruple< T > &iv)
INLINE_FUNCTION_HD real sqrt(real x)
#define INLINE_FUNCTION_HD
INLINE_FUNCTION_HD bool equal(const real &s1, const real &s2)