forked from jimkang/annoy-node
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathannoyindexwrapper.h
49 lines (35 loc) · 1.63 KB
/
annoyindexwrapper.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef ANNOYINDEXWRAPPER_H
#define ANNOYINDEXWRAPPER_H
#include <napi.h>
#include "annoylib.h"
class AnnoyIndexWrapper : public Napi::ObjectWrap<AnnoyIndexWrapper> {
public:
static Napi::Object Init(Napi::Env env, Napi::Object exports);
int getDimensions() const;
AnnoyIndexInterface<int, float> *annoyIndex;
explicit AnnoyIndexWrapper(const Napi::CallbackInfo &callbackInfo);
virtual ~AnnoyIndexWrapper();
private:
static Napi::FunctionReference *constructor;
Napi::Object AddItem(const Napi::CallbackInfo &info);
Napi::Object Build(const Napi::CallbackInfo &info) const;
Napi::Object Save(const Napi::CallbackInfo &info) const;
Napi::Object Load(const Napi::CallbackInfo &info) const;
Napi::Object Unload(const Napi::CallbackInfo &info) const;
Napi::Object GetItem(const Napi::CallbackInfo &info) const;
Napi::Object GetNNSByVector(const Napi::CallbackInfo &info);
Napi::Object GetNNSByItem(const Napi::CallbackInfo &info);
Napi::Object GetNItems(const Napi::CallbackInfo &info) const;
Napi::Object GetDistance(const Napi::CallbackInfo &info) const;
bool getFloatArrayParam(const Napi::CallbackInfo &info,
int paramIndex, float *vec);
Napi::Object setNNReturnValues(
int numberOfNeighbors, bool includeDistances,
const std::vector<int> &nnIndexes, const std::vector<float> &distances,
const Napi::CallbackInfo &info);
void getSupplementaryGetNNsParams(
const Napi::CallbackInfo &info,
int &numberOfNeighbors, int &searchK, bool &includeDistances);
int annoyDimensions;
};
#endif