KernelExp.cpp 775 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * @file KernelExp.cpp
  3. * @brief Interface for the popular exponential mercer kernels
  4. * @author Erik Rodner
  5. * @date 10/24/2007
  6. */
  7. #ifdef NOVISUAL
  8. #include <vislearning/nice_nonvis.h>
  9. #else
  10. #include <vislearning/nice.h>
  11. #endif
  12. #include <iostream>
  13. #include <math.h>
  14. #include "vislearning/math/distances/KernelExp.h"
  15. using namespace OBJREC;
  16. using namespace std;
  17. // refactor-nice.pl: check this substitution
  18. // old: using namespace ice;
  19. using namespace NICE;
  20. KernelExp::KernelExp( NICE::VectorDistance<double> *_kInside, double _a ) : Kernel( true )
  21. {
  22. kInside = _kInside;
  23. a = _a;
  24. }
  25. KernelExp::~KernelExp()
  26. {
  27. delete kInside;
  28. }
  29. double KernelExp::K (const NICE::Vector & x, const NICE::Vector & y) const
  30. {
  31. return exp( - kInside->calculate (x,y) / a );
  32. }