提交 72140b66 编写于 作者: M Marius Muja

Bug fix in parameter passing in the python bindings

上级 cc0c0619
......@@ -74,6 +74,14 @@ inline int rand_int(int high = RAND_MAX, int low = 0)
return low + (int) ( double(high-low) * (std::rand() / (RAND_MAX + 1.0)));
}
class RandomGenerator
{
public:
ptrdiff_t operator() (ptrdiff_t i) { return rand_int(i); }
};
/**
* Random number generator that returns a distinct number from
* the [0,n) interval each time.
......@@ -101,13 +109,14 @@ public:
*/
void init(int n)
{
static RandomGenerator generator;
// create and initialize an array of size n
vals_.resize(n);
size_ = n;
for (int i = 0; i < size_; ++i) vals_[i] = i;
// shuffle the elements in the array
std::random_shuffle(vals_.begin(), vals_.end());
std::random_shuffle(vals_.begin(), vals_.end(), generator);
counter_ = 0;
}
......
......@@ -95,6 +95,9 @@ class FLANNParameters(CustomStructure):
('build_weight', c_float),
('memory_weight', c_float),
('sample_fraction', c_float),
('table_number_', c_uint),
('key_size_', c_uint),
('multi_probe_level_', c_uint),
('log_level', c_int),
('random_seed', c_long),
]
......@@ -112,6 +115,9 @@ class FLANNParameters(CustomStructure):
'build_weight' : 0.01,
'memory_weight' : 0.0,
'sample_fraction' : 0.1,
'table_number_': 12,
'key_size_': 20,
'multi_probe_level_': 2,
'log_level' : "warning",
'random_seed' : -1
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册