in src/annoyluamodule.cc [288:306]
static int lua_an_make(lua_State* L) {
int f = luaL_checkinteger(L, 1);
const char* metric = "angular";
if (lua_gettop(L) >= 2) {
metric = luaL_checkstring(L, 2);
}
if (strcmp(metric, "angular") == 0) {
LuaAnnoy<Angular>::createNew(L, f);
return 1;
} else if (strcmp(metric, "euclidean") == 0) {
LuaAnnoy<Euclidean>::createNew(L, f);
return 1;
} else if (strcmp(metric, "manhattan") == 0) {
LuaAnnoy<Manhattan>::createNew(L, f);
return 1;
} else {
return luaL_error(L, "Unknown metric: %s", metric);
}
}