From 57cffcd02ac70148e21ce982be834876b3df87db Mon Sep 17 00:00:00 2001 From: HanatoK Date: Sat, 1 May 2021 01:04:38 -0500 Subject: [PATCH] Fix FTBFS. Previous boost library (1.75) may implicitly include cmath, but the latest version (1.76) does not, so the calls to exp are undefined. This commit include cmath in script_translator.cc and table_translator.cc to fix the issue (#462). --- src/rime/gear/script_translator.cc | 1 + src/rime/gear/table_translator.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/src/rime/gear/script_translator.cc b/src/rime/gear/script_translator.cc index 4a45f05e6..250616593 100644 --- a/src/rime/gear/script_translator.cc +++ b/src/rime/gear/script_translator.cc @@ -8,6 +8,7 @@ // #include #include +#include #include #include #include diff --git a/src/rime/gear/table_translator.cc b/src/rime/gear/table_translator.cc index 162ac0244..c95e5e24b 100644 --- a/src/rime/gear/table_translator.cc +++ b/src/rime/gear/table_translator.cc @@ -6,6 +6,7 @@ // #include #include +#include #include #include #include From bc589fd45eca349b7ca408f9b85a85474745abb0 Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Sun, 16 Jan 2022 01:06:29 +0800 Subject: [PATCH] fix: qualify std::exp after including As noted in #462, including only guarantees that std::exp is declared, so calling exp(double) unqualified is not portable. Squashed commit with a style change to the original PR: commit 8b9d48c0340f3fb82de59a6f7ec71ddfd86a602f Author: Chen Gong Date: Sun Jan 16 00:49:47 2022 +0800 commit df4fe3ea11e0222426b98e489db36d32856b3361 Author: Jonathan Wakely Date: Tue Aug 10 10:18:38 2021 +0100 Closes #476 --- src/rime/gear/script_translator.cc | 12 ++++++------ src/rime/gear/table_translator.cc | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/rime/gear/script_translator.cc b/src/rime/gear/script_translator.cc index 250616593..e220aed9c 100644 --- a/src/rime/gear/script_translator.cc +++ b/src/rime/gear/script_translator.cc @@ -488,9 +488,9 @@ void ScriptTranslation::PrepareCandidate() { start_, start_ + user_phrase_code_length, entry); - cand->set_quality(exp(entry->weight) + - translator_->initial_quality() + - (IsNormalSpelling() ? 0.5 : -0.5)); + cand->set_quality(std::exp(entry->weight) + + translator_->initial_quality() + + (IsNormalSpelling() ? 0.5 : -0.5)); } else if (phrase_code_length > 0) { DictEntryIterator& iter = phrase_iter_->second; @@ -502,9 +502,9 @@ void ScriptTranslation::PrepareCandidate() { start_, start_ + phrase_code_length, entry); - cand->set_quality(exp(entry->weight) + - translator_->initial_quality() + - (IsNormalSpelling() ? 0 : -1)); + cand->set_quality(std::exp(entry->weight) + + translator_->initial_quality() + + (IsNormalSpelling() ? 0 : -1)); } candidate_ = cand; } diff --git a/src/rime/gear/table_translator.cc b/src/rime/gear/table_translator.cc index c95e5e24b..97cfc96e5 100644 --- a/src/rime/gear/table_translator.cc +++ b/src/rime/gear/table_translator.cc @@ -81,10 +81,10 @@ an TableTranslation::Peek() { if (phrase) { phrase->set_comment(comment); phrase->set_preedit(preedit_); - phrase->set_quality(exp(e->weight) + - options_->initial_quality() + - (incomplete ? -1 : 0) + - (is_user_phrase ? 0.5 : 0)); + phrase->set_quality(std::exp(e->weight) + + options_->initial_quality() + + (incomplete ? -1 : 0) + + (is_user_phrase ? 0.5 : 0)); } return phrase; }