[Bug 209369] chinese/sunpinyin: Fix build with libc++ 3.8.0
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sat May 7 22:34:56 UTC 2016
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209369
--- Comment #5 from Dimitry Andric <dim at FreeBSD.org> ---
FWIW, this worked too:
--- src/slm/thread/slmthread.cpp.orig 2014-11-14 14:17:48 UTC
+++ src/slm/thread/slmthread.cpp
@@ -226,6 +226,30 @@ FILE* fp = NULL;
CThreadSlm::TNode* levels[16];
CThreadSlm::TLeaf* lastLevel;
+static inline float
+effectivePr(bool usingLogPr, float a)
+{
+ return usingLogPr ? a / log(2.0f) : -log2(a);
+}
+
+static inline float
+originalPr(bool usingLogPr, float b)
+{
+ return usingLogPr ? b * log(2.0f) : exp2(-b);
+}
+
+static inline float
+effectiveBow(bool usingLogPr, float a)
+{
+ return usingLogPr ? exp(-a) : a;
+}
+
+static inline float
+originalBow(bool usingLogPr, float b)
+{
+ return usingLogPr ? -log(b) : b;
+}
+
int
main(int argc, char* argv[])
{
@@ -250,10 +274,10 @@ main(int argc, char* argv[])
bool usingLogPr = slm.isUseLogPr();
- #define EffectivePr(a) (float((usingLogPr) ? ((a) / log(2.0)) :
(-log2((a)))))
- #define OriginalPr(b) (float((usingLogPr) ? ((b) * log(2.0)) :
(exp2(-(b)))))
- #define EffectiveBow(a) (float((usingLogPr) ? (exp(-(a))) : ((a))))
- #define OriginalBow(b) (float((usingLogPr) ? (-log((b))) : ((b))))
+ #define EffectivePr(a) effectivePr(usingLogPr, (a))
+ #define OriginalPr(b) originalPr(usingLogPr, (b))
+ #define EffectiveBow(a) effectiveBow(usingLogPr, (a))
+ #define OriginalBow(b) originalBow(usingLogPr, (b))
printf("\nfirst pass..."); fflush(stdout);
for (int lvl = 0; lvl <= slm.getN(); ++lvl) {
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list