public static List<string> ExecuteMultiNeighborhoodHash(IndexArgumentSetup setup, string nick, double expected_recall, int max_instances)
{
var idxname = String.Format ("{0}/Index.MultiNeighborhoodHash.max_instances={1}-qarg={2}-expected-recall={3}", nick, max_instances, setup.QARG, expected_recall);
var resname = Execute (setup, nick, idxname, (db) => {
var parameters = MultiNeighborhoodHash.EstimateParameters (db, max_instances, (int)Math.Abs (setup.QARG), expected_recall, 96);
/*if (parameters.NumberOfInstances == 1) {
idx = parameters.Index;
} else {*/
var IDX = new MultiNeighborhoodHash ();
IDX.Build (db, parameters);
return IDX;
});
var resnameList = new List<string> ();
resnameList.Add (resname);
resname = GetResultName (nick, idxname, setup, "Adaptive");
resnameList.Add (resname);
if (!File.Exists (resname)) {
var idx = IndexGenericIO.Load (idxname);
idx = new AdaptiveNeighborhoodHash(idx as MultiNeighborhoodHash);
PerformSearch (resname, idx, idxname, setup);
}
return resnameList;
}