| 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;} |