| 53 |
|
#include <cmath> |
| 54 |
|
#include <iostream> |
| 55 |
|
#include <math.h> |
| 56 |
+ |
#include "config.h" |
| 57 |
|
namespace oopse { |
| 58 |
|
|
| 59 |
< |
static const double epsilon = 0.000001; |
| 59 |
> |
static const RealType epsilon = 0.000001; |
| 60 |
|
|
| 61 |
|
template<typename T> |
| 62 |
|
inline bool equal(T e1, T e2) { |
| 63 |
|
return e1 == e2; |
| 64 |
|
} |
| 65 |
|
|
| 66 |
< |
template<> |
| 67 |
< |
inline bool equal(float e1, float e2) { |
| 68 |
< |
return fabs(e1 - e2) < epsilon; |
| 69 |
< |
} |
| 66 |
> |
//template<> |
| 67 |
> |
//inline bool equal(float e1, float e2) { |
| 68 |
> |
// return fabs(e1 - e2) < epsilon; |
| 69 |
> |
//} |
| 70 |
|
|
| 71 |
|
template<> |
| 72 |
< |
inline bool equal(double e1, double e2) { |
| 72 |
> |
inline bool equal(RealType e1, RealType e2) { |
| 73 |
|
return fabs(e1 - e2) < epsilon; |
| 74 |
|
} |
| 75 |
|
|
| 346 |
|
* @return true if this vector is normalized, otherwise return false |
| 347 |
|
*/ |
| 348 |
|
inline bool isNormalized() { |
| 349 |
< |
return equal(lengthSquare(), 1.0); |
| 349 |
> |
return equal(lengthSquare(), (RealType)1); |
| 350 |
|
} |
| 351 |
|
|
| 352 |
|
unsigned int size() {return Dim;} |