View | Details | Raw Unified | Return to bug 209369
Collapse All | Expand All

(-)chinese/sunpinyin/files/patch-src_slm_thread_slmthread.cpp (+35 lines)
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;

Return to bug 209369