Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 May 2016 22:34:56 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 209369] chinese/sunpinyin: Fix build with libc++ 3.8.0
Message-ID:  <bug-209369-13-lpu2oc39CX@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-209369-13@https.bugs.freebsd.org/bugzilla/>
References:  <bug-209369-13@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D209369

--- Comment #5 from Dimitry Andric <dim@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 =3D 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 =3D 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 =3D 0; lvl <=3D slm.getN(); ++lvl) {

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-209369-13-lpu2oc39CX>