ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/math/Vector.hpp
(Generate patch)

Comparing trunk/OOPSE-4/src/math/Vector.hpp (file contents):
Revision 1564 by tim, Wed Oct 13 22:24:59 2004 UTC vs.
Revision 1569 by tim, Thu Oct 14 23:28:09 2004 UTC

# Line 39 | Line 39 | namespace oopse {
39  
40   namespace oopse {
41  
42 +    const double epsilon = 0.000001;
43 +
44 +    template<typename T>
45 +    inline bool equal(T e1, T e2) {
46 +        return e1 == e2;
47 +    }
48 +
49 +    template<>
50 +    inline bool equal(float e1, float e2) {
51 +        return fabs(e1 - e2) < epsilon;
52 +    }
53 +
54 +    template<>
55 +    inline bool equal(double e1, double e2) {
56 +        return fabs(e1 - e2) < epsilon;
57 +    }
58 +    
59      /**
60       * @class Vector Vector.hpp "math/Vector.hpp"
61       * @brief Fix length vector class
# Line 113 | Line 130 | namespace oopse {
130              inline  const double& operator()(unsigned int i) const {
131                  assert( i < Dim);
132                  return data_[i];
133 +            }
134 +
135 +            /**
136 +             * Tests if this vetor is equal to other vector
137 +             * @return true if equal, otherwise return false
138 +             * @param v vector to be compared
139 +             */
140 +             inline bool operator ==(const Vector<Real, Dim>& v) {
141 +
142 +                for (unsigned int i = 0; i < Dim; i ++) {
143 +                    if (!equal(data_[i], v[i])) {
144 +                        return false;
145 +                    }
146 +                }
147 +                
148 +                return true;
149              }
150  
151 +            /**
152 +             * Tests if this vetor is not equal to other vector
153 +             * @return true if equal, otherwise return false
154 +             * @param v vector to be compared
155 +             */
156 +            inline bool operator !=(const Vector<Real, Dim>& v) {
157 +                return !(*this == v);
158 +            }
159 +            
160              /** Negates the value of this vector in place. */          
161              inline void negate() {
162                  data_[0] = -data_[0];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines