Commit graph

825 commits

Author SHA1 Message Date
Ken Wakasa
46b6f60551 Switch to Clang and libc++
Change-Id: Id425997af58967e49094ab593ed8f0b70c72bbbc
2014-03-18 12:09:10 +09:00
Ken Wakasa
622589ab43 Several cleanups
Remove obsolete comment and unused macros. Cosmetic fixes as well.

Change-Id: I9843331c8ce90d9b10b54f425ea1c7416b57c541
2014-03-17 16:33:37 +09:00
Keisuke Kuroyanagi
73a2426d45 Change default decaying parameters.
Bug: 13458617
Change-Id: I4942af4a48881fb6ca866c74140b262e6d323f4a
2014-03-14 12:23:24 +09:00
Keisuke Kuroyanagi
4bc35daaa2 Check "." and ".." to delete all files in a dir.
Bug: 13421999
Change-Id: I9d0f65cfc9a0f18c7affc152a5b54f9970048e9c
2014-03-12 15:31:49 +09:00
Keisuke Kuroyanagi
5dc17c22ca Fix: wrong suggestion comparator.
Change-Id: I8829c7cb3060955e345fbdc003cf77f8469d37c0
2014-03-11 11:57:56 +00:00
Keisuke Kuroyanagi
34ab038414 Merge "Stop new BigramDictionary." 2014-03-11 09:38:14 +00:00
Keisuke Kuroyanagi
e7ddf49d50 Merge "Use emplace_back in getWordProperty()." 2014-03-11 09:38:00 +00:00
Keisuke Kuroyanagi
ed72a768d6 Merge "Make getWordProperty return reconstructed bigram probability." 2014-03-11 09:37:49 +00:00
Keisuke Kuroyanagi
ca42ec0f44 Use emplace_back in getWordProperty().
Change-Id: If164d2b897bd6ad9c89baf0e9a90356100c5087b
2014-03-11 15:21:55 +09:00
Keisuke Kuroyanagi
a34bdc395b Make getWordProperty return reconstructed bigram probability.
Bug: 13403530
Change-Id: I7ed95a54344d8b77b88922093cf3ef0e530fcae6
2014-03-11 15:20:12 +09:00
Keisuke Kuroyanagi
b43ea5c335 Use isFirstCharUppercase instead of get first code point.
Change-Id: I0a28305397bfc1e7218e16df00839781a74f5599
2014-03-10 18:39:45 +09:00
Keisuke Kuroyanagi
0a5efa31de Add getter methods for public member variables.
Change-Id: Ic6656bb3db6db992b37923db53816e0a73a7621f
2014-03-10 18:39:45 +09:00
Keisuke Kuroyanagi
6066069f35 Move initialization logic for from DicNode to DicNodeState.
Change-Id: Ic7075349e2e9c7f4ca707efa12ad1d24b49a2c87
2014-03-10 18:39:43 +09:00
Keisuke Kuroyanagi
258260bef2 Remove unused member of DicNodeStatePrevWord.
Change-Id: I265855da58e3a2e070e525e116ac0d18d1a10d18
2014-03-10 18:39:15 +09:00
Keisuke Kuroyanagi
632c9aca5b Improve DicNode handling.
- Stop creating useless DicNode and DicNodeVector.
- Remove useless virtual.
- Implement copy constructor and assignment operator of DicNodeState.
- Remove useless memset.

Before:
(0)  2266.21 (0.79%)
(1)  285422.05 (98.97%)
(2)  642.62 (0.22%)
(66)  0.19 (0.00%)
Total 288384.35 (sum of others 288331.07)

After:
(0)  2232.70 (0.86%)
(1)  255258.50 (98.89%)
(2)  585.73 (0.23%)
(66)  0.26 (0.00%)
Total 258126.46 (sum of others 258077.18)


Change-Id: I0bb1e9de8b38a6743a11aaeb2b17bd0da5b7ad34
2014-03-10 17:57:53 +09:00
Keisuke Kuroyanagi
87db47d175 Use emplace_back to push DicNode to vector.
Before:
(0)  2234.43 (0.71%)
(1)  310083.71 (99.07%)
(2)  626.88 (0.20%)
(66)  0.26 (0.00%)
Total 312995.33 (sum of others 312945.28)

After
(0)  2266.21 (0.79%)
(1)  285422.05 (98.97%)
(2)  642.62 (0.22%)
(66)  0.19 (0.00%)
Total 288384.35 (sum of others 288331.07)


Change-Id: I5ab98076c54d147ff7ec2a29280859f4558e24d0
2014-03-10 15:41:33 +09:00
Keisuke Kuroyanagi
66cc9dec55 Stop new BigramDictionary.
BigramDictionary is allocated inside of Dictionary.

Change-Id: If224b4c408403f43eb3d2e292c0e0ecb86429290
2014-03-10 05:42:36 +00:00
Keisuke Kuroyanagi
e137ec0a91 Introduce SuggestionResults and use it for predictions.
Bug: 8187060
Bug: 13333066
Change-Id: I1ead897024508b7e40fbd93af7d14bfe74b93826
2014-03-07 19:36:19 +09:00
Keisuke Kuroyanagi
c36c97b4f7 Merge "Use unique_ptr." 2014-03-07 09:06:58 +00:00
Ken Wakasa
6767f88e3c Address warnings pointed out by clang
Change-Id: I7943f6c7f9ba08f283a3116adc2af29495f04a21
2014-03-07 17:05:09 +09:00
Keisuke Kuroyanagi
4ce480d5ce Use unique_ptr.
Change-Id: Id92a5b07da4f7f95e2cd293ce8dc1a5f979b7853
2014-03-07 14:31:54 +09:00
Keisuke Kuroyanagi
865e6cf497 Revert "Revert "Use std::min() and std::max()""
This reverts commit f63000abea.

Change-Id: I6056d176a13c6ecad38e658ab8778bd898291d02
2014-03-07 14:19:56 +09:00
Keisuke Kuroyanagi
a1e0ef4836 Fix: point to line segment distance can be NaN.
Change-Id: I7db6bfea925a0eda82bfb1f7b5e1110b193dabdb
2014-03-07 14:19:52 +09:00
Keisuke Kuroyanagi
3339224813 Merge "Use nullptr instead of 0 for pointers." 2014-03-07 03:56:56 +00:00
Ken Wakasa
f63000abea Revert "Use std::min() and std::max()"
This somehow breaks TRT.

bug: 13350753

This reverts commit cf612a3abf.

Change-Id: I812f067e7cc8106b054527732dc6fe4efd7cc0fe
2014-03-07 02:30:18 +00:00
Keisuke Kuroyanagi
6c7ebc4023 Use nullptr instead of 0 for pointers.
Change-Id: Ic9425de07b896f940ca11c51968c637ebb897514
2014-03-07 10:04:44 +09:00
Ken Wakasa
cf612a3abf Use std::min() and std::max()
Change-Id: I2992fa16692ace2a6febedc4393812faf763638f
2014-03-06 23:19:54 +09:00
Yohei Yukawa
72c362985c Use C++11 deleted functions to implement DISALLOW_ macros
With C++ deleted functions, compilers can generate more
descriptive error messages when we are doing something disallowed.

Change-Id: I48d23e5eced545732558e56f5ff9ff70c95a6ff0
2014-03-06 20:48:43 +09:00
Ken Wakasa
ca0a0da864 Switch to C++11
Change-Id: Ib2970327c36422d7b11103d52ba7e9e52db5554f
2014-03-06 20:32:20 +09:00
Keisuke Kuroyanagi
9fd50e34a8 Fix: Bug of I39e905b6ddfc8d3.
primaryKey have to be the first elemnet of the proximities.

Bug: 13315755
Change-Id: I6c94408a2ef2750fa85ff12b93bed8b8d874717e
2014-03-06 18:25:15 +09:00
Keisuke Kuroyanagi
2c7e97dcdd Merge "Create suggest/core/result directory." 2014-03-06 07:32:19 +00:00
Keisuke Kuroyanagi
fb1588dd3c Create suggest/core/result directory.
Bug: 8187060
Bug: 13333066
Change-Id: I185c93bd4542d997be101b61561a00d69111c00d
2014-03-06 14:35:47 +09:00
Keisuke Kuroyanagi
a84f7848d8 Merge "Fix: The top left key is a proximity of nonexistent keys." 2014-03-05 10:27:27 +00:00
Keisuke Kuroyanagi
6501255111 Fix: The top left key is a proximity of nonexistent keys.
Bug: 13315755
Change-Id: I39e905b6ddfc8d3510c408a3bea853390a75d088
2014-03-05 19:06:18 +09:00
Keisuke Kuroyanagi
e784148ae6 Separate utility methods from BinaryDictionary.
Bug: 8187060
Change-Id: Ice2984e332b7bd3bb17174aefc80b5635b72fc50
2014-03-05 18:19:34 +09:00
Keisuke Kuroyanagi
9e51c6c0c6 Separate utility methods from BinaryDictionary in native code.
Bug: 8187060
Change-Id: I099de557d2aaee95c6b809450108139550e9b0aa
2014-03-05 12:49:04 +09:00
Keisuke Kuroyanagi
5128935ac4 Add header attributes for evaluation.
Bug: 13197276
Change-Id: Ib5247da691ff24a73e13485288237ccc51bb54f0
2014-02-28 21:06:03 +09:00
Keisuke Kuroyanagi
3d70932857 Use MAX_PROBABILITY for the limit of probabilities.
Bug: 13197276
Change-Id: Ic3f855e566603b395395dff1f860f3d76ecb019c
2014-02-26 20:48:53 +09:00
Keisuke Kuroyanagi
7919a594fc Merge "Create more aggressive probability tables." 2014-02-26 11:18:44 +00:00
Keisuke Kuroyanagi
b368089dbf Stop dividing unigram probability by 2 for backoff.
Bug: 13197276
Change-Id: I8eaa24b6f710383a8d257e3ec28c37a1a1da8e31
2014-02-26 19:40:18 +09:00
Keisuke Kuroyanagi
70566266be Create more aggressive probability tables.
Bug: 13197276

Change-Id: I1451dcbe61088d7301bbef5ceedc72f5649e6764
2014-02-26 19:36:57 +09:00
Keisuke Kuroyanagi
2b27e06733 Merge "Read and write forgetting curve header attributes." 2014-02-26 09:06:56 +00:00
Keisuke Kuroyanagi
6112cc26a7 Read and write forgetting curve header attributes.
Bug: 13197276
Change-Id: I6c38a127e1745903594b7bf0ec80ef179e794feb
2014-02-26 18:04:12 +09:00
Keisuke Kuroyanagi
94080a37e8 Merge "Check header attributes for forgetting curve." 2014-02-26 08:58:48 +00:00
Keisuke Kuroyanagi
57816c7a8b Check header attributes for forgetting curve.
Bug: 13197276
Change-Id: Ib360010f309fd1ed3e81cf23aa10c1cfe82781a6
2014-02-26 17:41:31 +09:00
Keisuke Kuroyanagi
7b496a5861 Add boundary check for ver4 bigram/shortcut reading.
Bug: 13185316
Change-Id: I5236222e2a5acda69821062a140c9e36a3024bd2
2014-02-26 14:03:24 +09:00
Keisuke Kuroyanagi
33e38096ad Fix: -1 can be used as a code point of most probable string.
Bug: 11797518
Change-Id: Id2e8bce92d000f39d506af7cb844447696bcc019
2014-02-24 20:40:16 +09:00
Keisuke Kuroyanagi
d934fb43ad Remove corrupted ver4 dictionaries.
Bug: 12916055
Change-Id: I2c390ab1dc483915691b47a605772cbc2dfeaf09
2014-02-21 15:09:37 +09:00
Keisuke Kuroyanagi
be81b75dec Add boundary check for ver2 dict reading.
Bug: 12916055
Change-Id: I78ad1f98a5401f920dcfc3379aa431eb2311ae02
2014-02-21 13:26:01 +09:00
Keisuke Kuroyanagi
b96012acef Record reading error during traversing dictionaries.
Bug: 12916055
Change-Id: I439f21aa87cfa1f71e0354370a1514af03d68f6c
2014-02-20 19:12:32 +09:00
Keisuke Kuroyanagi
303e767728 Fix: crash when opening a broken dictionary.
Bug: 13085169
Change-Id: Icfb6184dfefc6a336432203c071d9e30ae8bf990
2014-02-19 22:11:09 +09:00
Keisuke Kuroyanagi
f2a6f2db3e Merge "Fix: using wrong method to call ArrayList.add." 2014-02-19 02:27:33 +00:00
Keisuke Kuroyanagi
14fe931362 Fix: using wrong method to call ArrayList.add.
bug: 13072808
Change-Id: I60dc5ae1e535f2f0b3784a12c40ac082560a436f
2014-02-19 11:24:39 +09:00
Ken Wakasa
7e79814aa3 Fix wrong Java method call function
bug: 13072808

Change-Id: I189fda85b59ce40e3657bfbbcc313e7e1225a0da
2014-02-18 23:40:24 +09:00
Jean Chalard
2046bd6b85 Merge "Make dotted i the base character of dotless i." 2014-02-17 09:44:17 +00:00
Jean Chalard
220dc2d7a8 Make dotted i the base character of dotless i.
This is already the case for the capital version, and natives
Turkish speakers seem to think it should be the case. An
important reason to make it so is that the Turkish keyboard
has only the dotless i as a "more keys" key, so it's really
hard to type words with a dotless i without this, especially
those with several of them.

Bug: 11519119
Change-Id: I4df2a289783e4eb3c1291b8ad0a2ba5947bf7671
2014-02-17 18:24:28 +09:00
Keisuke Kuroyanagi
0fc93fe445 Implement PatriciaTriePolicy::getNextWordAndNextToken().
Bug: 12810574
Change-Id: Id1d44f90de9455d9cbe7b6e0a161cae91d6d422c
2014-02-15 17:39:20 +09:00
Keisuke Kuroyanagi
8fa7a09f1e Merge "Implement PatriciaTriePolicy::getWordProperty()." 2014-02-14 09:08:09 +00:00
Keisuke Kuroyanagi
c63d183473 Implement PatriciaTriePolicy::getWordProperty().
Bug: 12810574
Change-Id: I7bcccfd3641ebbcf2b8d857d33bb4734c42af5eb
2014-02-14 17:56:45 +09:00
Keisuke Kuroyanagi
6890246259 Fix reading uninitialized memory in BloomFilter.
Bug: 12967899

Change-Id: I180b9d728c887c480b6d956bbc4599079c1c359f
2014-02-14 12:37:03 +09:00
Keisuke Kuroyanagi
a000a32c80 Fix reading uninitialized memory.
Bug: 12967899

Change-Id: Ia17e4ca9dd8c1e0b24b0fb7e73d07b97c5d81c0c
2014-02-13 21:18:02 +09:00
Keisuke Kuroyanagi
be61170588 Create Ver2PtNodeArrayReader.
Bug: 12810574
Change-Id: I7708d24d735680b2fe9e6700316076018e88c98d
2014-02-10 21:09:55 +09:00
Keisuke Kuroyanagi
cf2b075146 Stop passing buffer directly to DynamicPtReadingHelper.
Bug: 12810574
Change-Id: I656d99f504d8cf4e057080713b174943afd9dd4c
2014-02-10 21:06:09 +09:00
Keisuke Kuroyanagi
1e2752924d Create Ver2ParticiaTrieNodeReader.
Bug: 12810574

Change-Id: I7d3298b5f419d557755ae433c8b8cc0d145f4cc3
2014-02-10 21:06:09 +09:00
Keisuke Kuroyanagi
1d6afa179c Refactoring: extract PtNode array reading logic form helper.
Bug: 12810574
Change-Id: I2d2660871862f11630c3ad7bf04bb49ade57c1e7
2014-02-10 21:06:07 +09:00
Keisuke Kuroyanagi
fc9ca59cc1 Implement getHeaderInfoNative.
Bug: 11281877
Bug: 12810574
Change-Id: Ia3d85ae2cfdb486e74b8636a62431eae883c85da
2014-02-06 18:19:42 +09:00
Jean Chalard
43cf9076b2 [HD04] Make the locale mandatory.
Bug: 11281748
Change-Id: I69281b0053bec404c3e3c713ade3f65a140f51b1
2014-02-05 17:35:25 +09:00
Keisuke Kuroyanagi
c488048634 Merge "Check isEligibleForAutoCommit when batch input is ended." 2014-02-05 03:34:46 +00:00
Keisuke Kuroyanagi
8c5c01e981 Check isEligibleForAutoCommit when batch input is ended.
Bug: 11951198
Change-Id: Ibbe09fa38eaa3ebf8f9b69f744a29db7ac598975
2014-02-05 11:40:17 +09:00
Keisuke Kuroyanagi
ad37cddd79 Merge "Add jni interface to get header information from native." 2014-02-04 12:52:50 +00:00
Keisuke Kuroyanagi
927aff72bc Add jni interface to get header information from native.
Bug: 12810574
Change-Id: I2508483bcb3157f04cc1fe13f24f864d301f1f28
2014-02-04 21:42:09 +09:00
Keisuke Kuroyanagi
1d3058daa1 Merge "Don't boost exact matches for personalized dicts." 2014-02-04 09:13:48 +00:00
Keisuke Kuroyanagi
54622d38c2 Don't boost exact matches for personalized dicts.
Bug: 12800726
Change-Id: Ia3a2f82db6cdc9645cad0e329c0b79328d7452cc
2014-02-04 17:47:14 +09:00
Keisuke Kuroyanagi
941734695b Implement Ver4PatriciaTriePolicy::getNextWordAndNextToken.
Bug: 12810574
Change-Id: Idea44f03c477964f58e65fbf2b55e3fcd77a2934
2014-02-04 12:42:14 +09:00
Keisuke Kuroyanagi
38f341a2a5 Add a jni method to iterate words in a dictionary.
Bug: 12810574
Change-Id: I87b13559765f0262dfd06c2ba40d43af6437ea7f
2014-02-03 14:51:58 +09:00
Keisuke Kuroyanagi
9221772ab7 Get bigram information via getWordProperty().
Bug: 12810574
Change-Id: I2750a5659ccbc3e31307c28e35dd9a1dbdffbeee
2014-02-03 11:47:26 +09:00
Keisuke Kuroyanagi
94d9a2309f Extend jni interface to get bigrams in WordProperty.
Bug: 12810574
Change-Id: Ia4b88d02ea8790a5c47d32376cc0b84c3e071ddd
2014-01-31 20:32:44 +09:00
Keisuke Kuroyanagi
17e7768a3e Fetch bigram information in getWordProperty().
Bug: 12810574
Change-Id: Ic67e964b01c2753f2eec82b079dc0e5650f340bb
2014-01-31 20:24:23 +09:00
Keisuke Kuroyanagi
20b7786ece Add BigramProperty and ShortcutProperty in WordProperty.
Bug: 12810574
Change-Id: Ia9e497c49bb2cf10897bae3a79317113325db819
2014-01-31 15:26:43 +09:00
Jean Chalard
b0df28f4cc Merge "[HD02] Make the date header attribute mandatory." 2014-01-31 03:58:55 +00:00
Keisuke Kuroyanagi
748f32feba Merge "Rename UnigramProperty to WordProperty." 2014-01-31 03:06:44 +00:00
Keisuke Kuroyanagi
e9085da8cb Merge "Simplify UnigramProperty." 2014-01-31 03:06:33 +00:00
Keisuke Kuroyanagi
080a35e959 Rename UnigramProperty to WordProperty.
Bug: 12810574
Change-Id: If5ddd803948aaf6e491ddcbaa5436fb3af3f7257
2014-01-31 11:06:42 +09:00
Jean Chalard
a137c21c9c [HD02] Make the date header attribute mandatory.
Bug: 11281748
Change-Id: I48a6f3d95ca89ced0c51335527201ecabfb7998e
2014-01-30 18:19:21 +09:00
Keisuke Kuroyanagi
5f7f6a1615 Simplify UnigramProperty.
Bug: 12810574
Change-Id: I606f559b5dd340b7525280ecead2c2c7ec920a78
2014-01-30 17:10:23 +09:00
Jean Chalard
324adefca3 [HD01] Small initial refactoring
Bug: 11281748
Change-Id: I3c64c75ecd17729bdacf03048311d76ca9f37ae2
2014-01-30 17:08:13 +09:00
Keisuke Kuroyanagi
21e2380234 Improve the double letter word promotion logic.
The old logic only checks the top 3 suggestions before the
final adjustment. It leads to instability in scores.

Bug: 10700674
Change-Id: I986aed2aefd66c1fba6196a8f100fcb5bc838a38
2014-01-28 16:33:20 +09:00
Keisuke Kuroyanagi
51c5ec10f9 Add length check for dict update operations.
Bug: 12602903
Change-Id: I6835dee8bf8b356f0f1cf6c0531bee5b3415a13f
2014-01-24 16:32:42 -08:00
Keisuke Kuroyanagi
3e0777e726 Use memmove for all place src and dest can be same.
Change-Id: I03e5c8f95cb22c7096ff545f1181f914b80a6c58
2014-01-20 11:27:01 -08:00
Keisuke Kuroyanagi
d78a447d10 Add a dedicated method to control time in native code.
Bug: 12443085
Change-Id: I41a5cf6c895cb59e54af98b40efded36afcd3247
2014-01-15 14:55:57 -08:00
Tadashi G. Takaoka
20a8a4a3d9 Fix native method signature
Change-Id: Ia2d566f162f746c6b2b2b874f7278d86abd9e839
2014-01-15 18:56:40 +09:00
Keisuke Kuroyanagi
9638693479 Fix native crash in BigramDictionary::addWordBigram()
Bug: 12479653
Change-Id: I7d263f744f711202000524a47769dc2d3d0e0de6
2014-01-14 18:51:49 -08:00
Keisuke Kuroyanagi
84c52a3c81 Boundary check for ProximityInfoState::getProximityTypeG().
Bug: 12481052
Change-Id: Ic0b64d2fa17eb8f65f3ad1a7b468cdf6dddf7e70
2014-01-10 20:15:36 +09:00
Keisuke Kuroyanagi
05113c1847 Check whether the word is OOV or not for amanatto update.
Bug: 11736529
Change-Id: I27973212da7e922b2185dbb4febfb5bb4dfbdcbb
2014-01-08 21:02:35 +09:00
Keisuke Kuroyanagi
b68dd6cd0b Merge "Differentiate exact matches' minor errors." 2013-12-19 04:14:11 +00:00
Keisuke Kuroyanagi
afa6c07d30 Differentiate exact matches' minor errors.
Bug: 8844931
Change-Id: I06754643188ccd28ba8c873878f7761787d91ff6
2013-12-19 12:37:56 +09:00
Ken Wakasa
abe3a35abf Add C++ compiler warning options
Change-Id: I0d79d450c5cca887d02a1087128c1d3eb0bf0b7f
2013-12-19 00:12:01 +09:00
Keisuke Kuroyanagi
d8f35f7b4c Move methods for outputting from Suggest.
Bug: 8844931
Change-Id: I83dde6c37b75ed1e1ae4e0972e169d30ada8faf5
2013-12-18 16:47:23 +09:00
Keisuke Kuroyanagi
9ee9095528 Move methods for scoring from Traversal to Scoring.
Bug: 8844931

Change-Id: I6137d06e597f4e7b81aaf29555199e18984f2c39
2013-12-18 07:13:44 +00:00
Keisuke Kuroyanagi
d5f5dd74c2 Quit suggest words that do not include proximity chars.
Bug: 10416722

Change-Id: I74d27c6a22b4ca47d02eb238b2fbcc49f5dee99c
2013-12-18 14:31:10 +09:00