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