From cae1503725ab702fefa3329f8e5ba421152a63e8 Mon Sep 17 00:00:00 2001 From: wyy Date: Fri, 11 Apr 2014 12:08:46 +0800 Subject: [PATCH] split Trie.hpp into (Trie.hpp & DictTrie.hpp) test ok --- src/DictTrie.hpp | 2 +- src/Trie.hpp | 8 ++++---- test/unittest/TTrie.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/DictTrie.hpp b/src/DictTrie.hpp index 0564d17..729364c 100644 --- a/src/DictTrie.hpp +++ b/src/DictTrie.hpp @@ -36,7 +36,7 @@ namespace CppJieba { string s; s << unit.word; - return os << string_format("%s %u %s %llf", s.c_str(), unit.freq, unit.tag.c_str(), unit.logFreq); + return os << string_format("%s %u %s %.3lf", s.c_str(), unit.freq, unit.tag.c_str(), unit.logFreq); } typedef map DagType; diff --git a/src/Trie.hpp b/src/Trie.hpp index 7d6feaf..0f8282a 100644 --- a/src/Trie.hpp +++ b/src/Trie.hpp @@ -47,8 +47,8 @@ namespace CppJieba const TrieNodeType* ptNode = _root; for(typename vector::const_iterator it = begin; it != end; it++) { - citer = ptNode->ptKeyMap->find(*it); - if(ptNode->ptKeyMap->end() == citer) + assert(ptNode); + if(NULL == ptNode->ptKeyMap || ptNode->ptKeyMap->end() == (citer = ptNode->ptKeyMap->find(*it))) { return NULL; } @@ -63,8 +63,8 @@ namespace CppJieba ordererMap.clear(); for(typename vector::const_iterator itr = begin; itr != end ; itr++) { - citer = ptNode->ptKeyMap->find(*itr); - if(ptNode->ptKeyMap->end() == citer) + assert(ptNode); + if(NULL == ptNode->ptKeyMap || ptNode->ptKeyMap->end() == (citer = ptNode->ptKeyMap->find(*itr))) { break; } diff --git a/test/unittest/TTrie.cpp b/test/unittest/TTrie.cpp index 5e56a44..5ae91b2 100644 --- a/test/unittest/TTrie.cpp +++ b/test/unittest/TTrie.cpp @@ -32,7 +32,7 @@ TEST(DictTrieTest, Test1) s1 << nodeInfo; s2 << (*trie.find(uni.begin(), uni.end())); - EXPECT_EQ("[\"26469\", \"21040\"]:8779:v:-8.87033", s2); + EXPECT_EQ("[\"26469\", \"21040\"] 8779 v -8.870", s2); word = "清华大学"; vector > res; map resMap;