added kernel density wrapper

added general kld solution
fixed minor bugs
added tests
This commit is contained in:
toni
2017-03-23 19:52:06 +01:00
parent b03804d378
commit 59502931e5
7 changed files with 207 additions and 8 deletions

View File

@@ -0,0 +1,35 @@
#ifndef KERNELDENSITY_H
#define KERNELDENSITY_H
#include <cmath>
#include <random>
#include <functional>
#include <eigen3/Eigen/Dense>
#include "../../Assertions.h"
#include "../Random.h"
namespace Distribution {
template <typename T, typename Sample> class KernelDensity{
private:
const std::function<T(Sample)> probabilityFunction;
public:
KernelDensity(const std::function<T(Sample)> probabilityFunction) : probabilityFunction(probabilityFunction){
}
T getProbability(Sample sample){
return probabilityFunction(sample);
}
};
}
#endif // KERNELDENSITY_H