summaryrefslogtreecommitdiff
path: root/decoder/sampler.h
diff options
context:
space:
mode:
authorgraehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-06-24 23:21:48 +0000
committergraehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-06-24 23:21:48 +0000
commit68d0c5b9385941fbd6a58eba4ad85ef0f0d59093 (patch)
tree66eb7553c91e97b557109288cb3ea80df975d085 /decoder/sampler.h
parent5d661b49dab6e0e3620efbd4e45a2ed53d04232c (diff)
cygwin compile
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@24 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'decoder/sampler.h')
-rw-r--r--decoder/sampler.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/decoder/sampler.h b/decoder/sampler.h
index 4d0b2e64..cc13229b 100644
--- a/decoder/sampler.h
+++ b/decoder/sampler.h
@@ -7,6 +7,7 @@
#include <iostream>
#include <fstream>
#include <vector>
+#include <ctime>
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/uniform_real.hpp>
@@ -28,7 +29,7 @@ struct RandomNumberGenerator {
}
if (r.fail() || !r) {
std::cerr << "Warning: could not read from /dev/urandom. Seeding from clock" << std::endl;
- seed = time(NULL);
+ seed = std::time(NULL);
}
std::cerr << "Seeding random number sequence to " << seed << std::endl;
return seed;
@@ -113,7 +114,7 @@ size_t RandomNumberGenerator<RNG>::SelectSample(const SampleSet& ss, double T) {
}
//for (size_t i = 0; i < ss.m_scores.size(); ++i) std::cerr << ss.m_scores[i] << ",";
//std::cerr << std::endl;
-
+
prob_t random(this->next()); // random number between 0 and 1
random *= sum; // scale with normalization factor
//std::cerr << "Random number " << random << std::endl;
@@ -123,10 +124,10 @@ size_t RandomNumberGenerator<RNG>::SelectSample(const SampleSet& ss, double T) {
sum = ss.m_scores[0];
if (anneal) {
sum.poweq(annealing_factor);
- for (; position < ss.m_scores.size() && sum < random; ++position)
+ for (; position < ss.m_scores.size() && sum < random; ++position)
sum += ss.m_scores[position].pow(annealing_factor);
} else {
- for (; position < ss.m_scores.size() && sum < random; ++position)
+ for (; position < ss.m_scores.size() && sum < random; ++position)
sum += ss.m_scores[position];
}
//std::cout << "random: " << random << " sample: " << position << std::endl;