RapidLib  v0.1.2
A simple library for interactive machine learning
knnEmbindings.h
Go to the documentation of this file.
1 #ifndef knnEmbindings_h
2 #define knnEmbindings_h
3 
4 #include <vector>
5 #include <emscripten.h>
6 #include <bind.h>
7 
8 using namespace emscripten;
9 
10 
11 EMSCRIPTEN_BINDINGS(stl_wrappers) {
12  register_vector<int>("VectorInt");
13  register_vector<double>("VectorDouble");
14 
15  register_vector<trainingExample>("TrainingSet");
16 
17  value_object<trainingExample>("trainingExample")
18  .field("input", &trainingExample::input)
19  .field("output", &trainingExample::output)
20  ;
21 }
22 
23 
24 EMSCRIPTEN_BINDINGS(knn_module) {
25  class_<knnClassification>("KnnClassification")
26  .constructor<int, std::vector<int>, std::vector<trainingExample>, int>()
27  .function("addNeighbour", &knnClassification::addNeighbour)
28  .function("process", &knnClassification::process)
29  ;
30 };
31 
32 #endif
std::vector< double > output
Definition: trainingExample.h:9
EMSCRIPTEN_BINDINGS(stl_wrappers)
Definition: knnEmbindings.h:11
std::vector< double > input
Definition: trainingExample.h:8
void addNeighbour(const int &classNum, const std::vector< double > &features)
Definition: knnClassification.cpp:31
double process(const std::vector< double > &inputVector)
Definition: knnClassification.cpp:43