Hello community,

here is the log from the commit of package sunpinyin for openSUSE:Factory 
checked in at 2016-03-16 10:35:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sunpinyin (Old)
 and      /work/SRC/openSUSE:Factory/.sunpinyin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sunpinyin"

Changes:
--------
--- /work/SRC/openSUSE:Factory/sunpinyin/sunpinyin.changes      2015-08-27 
08:57:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.sunpinyin.new/sunpinyin.changes 2016-03-16 
10:36:05.000000000 +0100
@@ -1,0 +2,11 @@
+Sun Mar 06 05:02:17 UTC 2016 - i...@marguerite.su
+
+- update to version 2.0.4+git20160225.844ad0f:
+  + Fixed SunPinyinLookupTable::cursor_up()
+  + slm/thread: be more tolerant when looking up a float
+  + SLM-train.mk: publish SLM*_TEXT_FILE instead of
+    TSLM*_TEXT_FILE.
+- libsunpinyin3 should requires sunpinyin-data, or the
+  input method can't be used
+
+-------------------------------------------------------------------
@@ -4 +15 @@
-- Update to version 2.0.4+git20150706.cf18102:
+- update to version 2.0.4+git20150706.cf18102:

Old:
----
  sunpinyin-2.0.4+git20150706.cf18102.tar.xz

New:
----
  sunpinyin-2.0.4+git20160225.844ad0f.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sunpinyin.spec ++++++
--- /var/tmp/diff_new_pack.TqNAqt/_old  2016-03-16 10:36:06.000000000 +0100
+++ /var/tmp/diff_new_pack.TqNAqt/_new  2016-03-16 10:36:06.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package sunpinyin
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,14 @@
 
 
 Name:           sunpinyin
-Version:        2.0.4+git20150706.cf18102
+Version:        2.0.4+git20160225.844ad0f
 Release:        0
 Summary:        A Statistical Language Model Based Chinese Input Method
 License:        LGPL-2.1+
 Group:          System/I18n/Chinese
 Url:            https://github.com/sunpinyin/sunpinyin
 Source:         %{name}-%{version}.tar.xz
+# https://sourceforge.net/projects/open-gram
 Source1:        
http://jaist.dl.sourceforge.net/project/open-gram/lm_sc.3gm.arpa-20140820.tar.bz2
 Source2:        
http://jaist.dl.sourceforge.net/project/open-gram/dict.utf8-20131214.tar.bz2
 Source3:        sunpinyin-dictgen-local.mk.in
@@ -45,6 +46,7 @@
 %package -n lib%{name}3
 Summary:        Libraries for Sunpinyin
 Group:          System/Libraries
+Requires:       %{name}-data >= %{version}
 
 %description -n lib%{name}3
 Sunpinyin is a statistical language model based Chinese input method engine. 
to model the Chinese language, it use a backoff bigram and trigram language 
model.
@@ -69,7 +71,7 @@
 
 %package devel
 Summary:        Development Files for Sunpinyin
-Group:          Development/Libraries/Other
+Group:          Development/Libraries/C and C++
 Requires:       lib%{name}3 = %{version}
 Requires:       sunpinyin-tools = %{version}
 Provides:       lib%{name}-devel = %{version}

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.TqNAqt/_old  2016-03-16 10:36:06.000000000 +0100
+++ /var/tmp/diff_new_pack.TqNAqt/_new  2016-03-16 10:36:06.000000000 +0100
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
             <param name="url">https://github.com/sunpinyin/sunpinyin/</param>
-          <param 
name="changesrevision">cf1810220bf3d3f5a8b990b0a9d3e9df21b1942c</param></service></servicedata>
\ No newline at end of file
+          <param 
name="changesrevision">844ad0fe49751d6a09fdfe531668769b06c66459</param></service></servicedata>
\ No newline at end of file

++++++ sunpinyin-2.0.4+git20150706.cf18102.tar.xz -> 
sunpinyin-2.0.4+git20160225.844ad0f.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sunpinyin-2.0.4+git20150706.cf18102/doc/SLM-train.mk 
new/sunpinyin-2.0.4+git20160225.844ad0f/doc/SLM-train.mk
--- old/sunpinyin-2.0.4+git20150706.cf18102/doc/SLM-train.mk    2015-08-23 
17:25:48.000000000 +0200
+++ new/sunpinyin-2.0.4+git20160225.844ad0f/doc/SLM-train.mk    2016-03-06 
06:02:16.000000000 +0100
@@ -101,10 +101,10 @@
        rm -f ${BIGRAM_STAT} ${SLM2_RAW_FILE}
        rm -f ${TRIGRAM_STAT} ${SLM3_RAW_FILE}
 
-mmseg_bigram: mmseg_ids tslm2_info
-mmseg_trigram: mmseg_ids tslm3_info
-slm_bigram: slm2_ids tslm2_info
-slm_trigram: slm3_ids tslm3_info
+mmseg_bigram: mmseg_ids slm2_info
+mmseg_trigram: mmseg_ids slm3_info
+slm_bigram: slm2_ids slm2_info
+slm_trigram: slm3_ids slm3_info
 
 bootstrap2:
        make mmseg_bigram
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sunpinyin-2.0.4+git20150706.cf18102/src/slm/thread/slmthread.cpp 
new/sunpinyin-2.0.4+git20160225.844ad0f/src/slm/thread/slmthread.cpp
--- old/sunpinyin-2.0.4+git20150706.cf18102/src/slm/thread/slmthread.cpp        
2015-08-23 17:25:48.000000000 +0200
+++ new/sunpinyin-2.0.4+git20160225.844ad0f/src/slm/thread/slmthread.cpp        
2016-03-06 06:02:16.000000000 +0100
@@ -226,6 +226,26 @@
 CThreadSlm::TNode* levels[16];
 CThreadSlm::TLeaf* lastLevel;
 
+// be more tolerant when looking up a float in a map by applying an epsilon of
+// 1e-5, if key is not found.
+template<typename K, typename V>
+typename std::map<K, V>::const_iterator approx_find(const std::map<K, V>& m, K 
key)
+{
+  typename std::map<K, V>::const_iterator i = m.find(key);
+  if (i != m.end()) {
+    return i;
+  }
+  K tolerance = key / 1e5;
+  K lower_bound = key - tolerance;
+  K upper_bound = key + tolerance;
+  i = m.lower_bound(lower_bound);
+  if (i != m.end() && i->first < upper_bound) {
+    return i;
+  } else {
+    return m.end();
+  }
+}
+
 int
 main(int argc, char* argv[])
 {
@@ -356,11 +376,11 @@
             CSIMSlm::TNode* pn = (CSIMSlm::TNode*)slm.getNodePtr(it);
             CThreadSlm::TNode& nn = levels[lvl][it.m_history.back()];
 
-            std::map<float, int>::iterator prit = pr_map.find(pn->pr);
+            std::map<float, int>::const_iterator prit = approx_find(pr_map, 
pn->pr);
             if (prit == pr_map.end()) { // This would be cause by precision 
error
-                double val = EffectivePr(pn->pr);
+                float val = EffectivePr(pn->pr);
                 val = OriginalPr(val);
-                prit = pr_map.find(val);
+                prit = approx_find(pr_map, val);
                 assert(prit != pr_map.end());
             }
             int idx_pr = prit->second;
@@ -370,11 +390,11 @@
             nn.set_bon(bon);
             nn.set_bol(bol);
 
-            std::map<float, int>::iterator bowit = bow_map.find(pn->bow);
+            std::map<float, int>::const_iterator bowit = approx_find(bow_map, 
pn->bow);
             if (bowit == bow_map.end()) { // precision error
-                double val = EffectiveBow(pn->bow);
+                float val = EffectiveBow(pn->bow);
                 val = OriginalBow(val);
-                bowit = bow_map.find(val);
+                bowit = approx_find(bow_map, val);
                 assert(bowit != bow_map.end());
             }
             int idx_bow = bowit->second;
@@ -403,11 +423,11 @@
 
         CThreadSlm::TLeaf& nn = lastLevel[it.m_history.back()];
 
-        std::map<float, int>::iterator prit = pr_map.find(pn->pr);
+        std::map<float, int>::const_iterator prit = approx_find(pr_map, 
pn->pr);
         if (prit == pr_map.end()) { // This would be cause by precision error
-            double val = EffectivePr(pn->pr);
+            float val = EffectivePr(pn->pr);
             val = OriginalPr(val);
-            prit = pr_map.find(val);
+            prit = approx_find(pr_map, val);
             assert(prit != pr_map.end());
         }
         int idx_pr = prit->second;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sunpinyin-2.0.4+git20150706.cf18102/wrapper/ibus/src/sunpinyin_lookup_table.cpp
 
new/sunpinyin-2.0.4+git20160225.844ad0f/wrapper/ibus/src/sunpinyin_lookup_table.cpp
--- 
old/sunpinyin-2.0.4+git20150706.cf18102/wrapper/ibus/src/sunpinyin_lookup_table.cpp
 2015-08-23 17:25:48.000000000 +0200
+++ 
new/sunpinyin-2.0.4+git20160225.844ad0f/wrapper/ibus/src/sunpinyin_lookup_table.cpp
 2016-03-06 06:02:16.000000000 +0100
@@ -82,7 +82,7 @@
 bool
 SunPinyinLookupTable::cursor_up()
 {
-    ibus_lookup_table_cursor_down(*this);
+    ibus_lookup_table_cursor_up(*this);
     return true;
 }
 


Reply via email to