Line 0
Link Here
|
|
|
1 |
--- src/slm/thread/slmthread.cpp.orig 2014-11-14 14:17:48 UTC |
2 |
+++ src/slm/thread/slmthread.cpp |
3 |
@@ -250,10 +250,10 @@ main(int argc, char* argv[]) |
4 |
|
5 |
bool usingLogPr = slm.isUseLogPr(); |
6 |
|
7 |
- #define EffectivePr(a) (float((usingLogPr) ? ((a) / log(2.0)) : (-log2((a))))) |
8 |
- #define OriginalPr(b) (float((usingLogPr) ? ((b) * log(2.0)) : (exp2(-(b))))) |
9 |
- #define EffectiveBow(a) (float((usingLogPr) ? (exp(-(a))) : ((a)))) |
10 |
- #define OriginalBow(b) (float((usingLogPr) ? (-log((b))) : ((b)))) |
11 |
+ #define EffectivePr(a) (float((usingLogPr) ? ((a) / logf(2.0f)) : (-log2f((a))))) |
12 |
+ #define OriginalPr(b) (float((usingLogPr) ? ((b) * logf(2.0f)) : (exp2f(-(b))))) |
13 |
+ #define EffectiveBow(a) (float((usingLogPr) ? (expf(-(a))) : ((a)))) |
14 |
+ #define OriginalBow(b) (float((usingLogPr) ? (-logf((b))) : ((b)))) |
15 |
|
16 |
printf("\nfirst pass..."); fflush(stdout); |
17 |
for (int lvl = 0; lvl <= slm.getN(); ++lvl) { |
18 |
@@ -291,7 +291,7 @@ main(int argc, char* argv[]) |
19 |
}; |
20 |
|
21 |
for (unsigned i = 0, sz = sizeof(msprs) / sizeof(float); i < sz; ++i) { |
22 |
- float real_pr = (usingLogPr) ? (-log(msprs[i])) : (msprs[i]); |
23 |
+ float real_pr = (usingLogPr) ? (-logf(msprs[i])) : (msprs[i]); |
24 |
float eff_pr = EffectivePr(real_pr); |
25 |
if (pr_eff.find(eff_pr) == pr_eff.end()) { |
26 |
pr_eff[eff_pr] = real_pr; |
27 |
@@ -309,7 +309,7 @@ main(int argc, char* argv[]) |
28 |
}; |
29 |
|
30 |
for (unsigned i = 0, sz = sizeof(msbows) / sizeof(float); i < sz; ++i) { |
31 |
- float real_bow = (usingLogPr) ? (-log(msbows[i])) : (msbows[i]); |
32 |
+ float real_bow = (usingLogPr) ? (-logf(msbows[i])) : (msbows[i]); |
33 |
float eff_bow = EffectiveBow(real_bow); |
34 |
if (bow_eff.find(eff_bow) == bow_eff.end()) { |
35 |
bow_eff[eff_bow] = real_bow; |