Commit graph

612 commits

Author SHA1 Message Date
Keisuke Kuroyanagi
69ebca0643 Fix children position reading for dynamic patricia trie.
Bug: 6669677
Change-Id: I68ad68361676f952bd25903c253c22617d3ce361
2013-08-29 18:31:15 +09:00
Keisuke Kuroyanagi
6c4d09e9e1 Use extendable buffer for reading node info.
Bug: 6669677
Change-Id: I78ba80100e3a38f2b49e43db1e6aef4e56ed062c
2013-08-27 18:06:42 +09:00
Keisuke Kuroyanagi
2f0c1253e2 Use extendable buffer for reading bigram and shortcut.
Bug: 6669677

Change-Id: I4017c0ecc5d8baff1b16ff370d3eec85de9a0f9f
2013-08-27 17:48:04 +09:00
Keisuke Kuroyanagi
27b12933cd Rename CharGroup to PtNode in native code.
Bug: 10233675
Change-Id: I5a4215cc79b37bfd317e60101e06b2ab9c332653
2013-08-26 14:51:43 +09:00
Keisuke Kuroyanagi
ad4e0108a9 Fix: reading uninitialized area.
Bug: 10402083
Change-Id: I083beea29fe563b1e7739653d756b77820753e3f
2013-08-23 19:55:55 +09:00
Satoshi Kataoka
02833d11c3 Fix the autocorrection normalized score calculation
Bug: 10441240
Change-Id: I256021dc55481960d6a605046daa17b1a2d55b95
2013-08-23 16:22:02 +09:00
Keisuke Kuroyanagi
941811cbd6 Introduce ExtendableBuffer for dynamic update.
Bug: 6669677

Change-Id: I6343c348334c0dace8b12a71eb992d6f040e8c95
2013-08-22 18:05:15 +09:00
Keisuke Kuroyanagi
a72a33388f Fix native crash by caused wrong munmap.
Bug: 10402083
Change-Id: I5aa2cecd20cd3202c2326b1cbb6758257afd6d5d
2013-08-21 18:57:58 +09:00
Yuichiro Hanada
112257e40f Rename BinaryDictDecoder to Ver3DictDecoder.
Change-Id: Ibf9b95b658df6e2c2218bdb62e2380f326a03832
2013-08-20 17:11:51 +09:00
Keisuke Kuroyanagi
4a65258bc7 Fix possible SIGSEGV.
Change-Id: I6008c0457a8da9b90434a3b96a51da1487948f1b
2013-08-19 18:58:10 +09:00
Keisuke Kuroyanagi
381c12df20 Move methods in BinaryFormat to PatriciaTriePolicy.
Bug: 6669677

Change-Id: Ic9bc03a9d8ec789281d83d4b9e58042a083c3ba1
2013-08-16 16:42:17 +09:00
Keisuke Kuroyanagi
0624cc6cf3 Remove BinaryDictionaryInfo and introduce MmapedBuffer.
Bug: 6669677
Change-Id: I70e47fa20109060b6ea7a04bcc42ab8f7c543f77
2013-08-16 12:52:04 +09:00
Ken Wakasa
0238e1eb01 Merge "Revert "Remove BinaryDictionaryInfo and introduce MmapedBuffer."" 2013-08-15 11:39:08 +00:00
Ken Wakasa
d4fcf1dbc5 Revert "Remove BinaryDictionaryInfo and introduce MmapedBuffer."
This reverts commit d14ffcfcbc.

This broke a bunch of unit tests -- https://sponge.corp.google.com/target?id=a8a62bd0-3aab-4520-ae64-53f9652ef64b&target=com.google.android.inputmethod.latin.tests&searchFor=&show=FAILED&sortBy=STATUS

Change-Id: I1eae460e09808513eacefd523609330819d73d16
2013-08-15 11:37:48 +00:00
Yuichiro Hanada
94460eba11 [Refactor] Divide BinaryDictInputOutput into BinaryDictEncoder and BinaryDictDecoder.
Change-Id: I7c3269d77e3e3b567e459dcaa1bc029903941744
2013-08-15 20:23:07 +09:00
Keisuke Kuroyanagi
0663bc047b Merge "Remove BinaryDictionaryInfo and introduce MmapedBuffer." 2013-08-15 09:34:28 +00:00
Keisuke Kuroyanagi
d14ffcfcbc Remove BinaryDictionaryInfo and introduce MmapedBuffer.
Bug: 6669677

Change-Id: I1459bb53a9761d920427e4b5d925a2844955c88c
2013-08-15 18:17:44 +09:00
Jean Chalard
e7870a2c0d Add an initial JNI interface to dicttool.
Bug: 10100269
Change-Id: I883992c2033e7d9e7c754c0bf653767728b221b6
2013-08-15 17:58:55 +09:00
Ken Wakasa
dc83fe37ba Merge "Revert "[Refactor] Divide BinaryDictInputOutput into BinaryDictInputUtils and BinaryDictOutputUtils."" 2013-08-15 08:56:28 +00:00
Ken Wakasa
117f18e844 Revert "[Refactor] Divide BinaryDictInputOutput into BinaryDictInputUtils and BinaryDictOutputUtils."
This reverts commit 4c63d0614e.

Change-Id: I1fa277d720bab4d895259df7d6d82eebfa5eb6c5
2013-08-15 08:54:29 +00:00
Ken Wakasa
f74ddfbb06 Merge "[Refactor] Divide BinaryDictInputOutput into BinaryDictInputUtils and BinaryDictOutputUtils." 2013-08-15 06:53:23 +00:00
Yuichiro Hanada
4c63d0614e [Refactor] Divide BinaryDictInputOutput into BinaryDictInputUtils and BinaryDictOutputUtils.
Change-Id: I0d476abe763c11ba9005152f928e8dccf15ac9de
2013-08-15 15:46:58 +09:00
Keisuke Kuroyanagi
08ce337d3f Fix: BinaryDictionaryInfo.isDynamicallyUpdatable().
Change-Id: Ifb3acded5e19f1302c7fcc8881b74addd20c1571
2013-08-15 13:39:32 +09:00
Keisuke Kuroyanagi
6ec3f63d59 Merge "Make dictionary structure policy have updating methods." 2013-08-15 03:15:43 +00:00
Yuichiro Hanada
46ebaa49e9 Fix a comment.
Change-Id: I5d09fd2474c7a0e6f42b6c7c6e717692636fbc6d
2013-08-15 11:57:58 +09:00
Keisuke Kuroyanagi
7fd9667d76 Remove NodeFilter.
Change-Id: I27d905dd3581cbb0e67d071dba04066aaa2ba22e
2013-08-14 18:20:15 +09:00
Keisuke Kuroyanagi
dfecc86f25 Fix ShortcutListPolicy::getStartPos().
Bug: 6669677
Change-Id: I1fa9967fc6aa0956986954c8ea1f990a47c15764
2013-08-14 17:23:57 +09:00
Keisuke Kuroyanagi
90619ae02b Move utils for reading dict to policyimpl.
Bug: 6669677
Change-Id: Ia1da3cb84b457665cf26172d3810e1d28329bca4
2013-08-14 15:50:42 +09:00
Keisuke Kuroyanagi
66facd37dd Make dictionary structure policy have updating methods.
Bug: 6669677

Change-Id: I6aa8e377c6347e0db4b7a82293b316ec64d87bec
2013-08-14 11:34:42 +09:00
Keisuke Kuroyanagi
23d3ed962f Move files for headerPolicy to policyimpl.
Bug: 6669677
Change-Id: Ic90feb9c3a9a7b698e588c8ad25c765a246706a8
2013-08-13 20:35:16 +09:00
Keisuke Kuroyanagi
76e579c7ca Move header reading methods to policyimpl.
Bug: 6669677
Change-Id: I24cb32f28cf355485b431cc56d877000e3f946d4
2013-08-13 20:22:40 +09:00
Keisuke Kuroyanagi
d81654cd61 Use DictionaryStructureWithBufferPolicy for traversing.
Bug: 6669677
Change-Id: If7bc038278b7217ed5ba4cb77b1238b2dad0001b
2013-08-13 19:38:20 +09:00
Keisuke Kuroyanagi
e607e0722a Merge "Remove TerminalAttributes." 2013-08-13 05:58:35 +00:00
Keisuke Kuroyanagi
b40d14226b Merge "Quit using BinaryDictionaryInfo in header reading methods." 2013-08-13 05:49:49 +00:00
Keisuke Kuroyanagi
99007de979 Quit using BinaryDictionaryInfo in header reading methods.
Bug: 6669677
Change-Id: I5198ae28fcc271dd6ab3c33df940a2d15513a8c8
2013-08-13 12:26:01 +09:00
Keisuke Kuroyanagi
6abdafc671 Remove TerminalAttributes.
Use BinaryDictionaryShortcutIterator instead of
TerminalAttributes.

Bug: 6669677
Change-Id: Ib7176e3b302ba383344cc6fcc037e23568c702a8
2013-08-12 17:46:13 +09:00
Keisuke Kuroyanagi
f4688f8df0 Cleanup ShortcutListReadingUtils.
Bug: 6669677
Change-Id: Ifd61022665c89f492933dde9811ec644f7e1f5c4
2013-08-12 17:46:13 +09:00
Keisuke Kuroyanagi
f1e383ed45 Change name of shortcut reading util class.
Bug: 6669677
Change-Id: If93916f4c3d568119ff6b83e22e95c7086423d2f
2013-08-12 17:37:59 +09:00
Keisuke Kuroyanagi
7c48352af8 Move methods for Shortcut reading to policyimpl.
Bug: 6669677
Change-Id: If0a565de015564f803429f4fbf21b05687f80553
2013-08-12 17:18:28 +09:00
Keisuke Kuroyanagi
fd10db04e0 Move shortcut iteration methods to poilcy.
Bug: 6669677
Change-Id: I6e535ce7962de8e153a52fd1085fe961649ffe16
2013-08-12 15:53:09 +09:00
Keisuke Kuroyanagi
277053af7c Move bigram reading methods to BigramListReadingUtils.
Bug: 6669677
Change-Id: Icb024a8af577323b4dcf74f4c4054cfb8b57a943
2013-08-12 11:54:31 +09:00
Keisuke Kuroyanagi
668870be43 Move bigrams iteration methods to policy.
To support various bigram format.

Bug: 6669677
Change-Id: Ifc8c1a855b03cd5a39d97a6e10872ef8ef76475b
2013-08-09 20:20:34 +09:00
Keisuke Kuroyanagi
e1ebef6124 Make DictionaryStructurePolicy have buffer info.
To support various format dictionary, extendable
buffers or multiple files.

Bug: 6669677
Change-Id: I203a5a4adc049a6322cfba4eacb4cb6715f8dfc2
2013-08-09 05:27:22 +00:00
Keisuke Kuroyanagi
b2408c7f71 Fix parent position reading for ver3 dict.
Bug: 6669677
Change-Id: Ia55d4ecb43c7d37b9bc466b848d5142bc13cd823
2013-08-08 16:31:17 +09:00
Keisuke Kuroyanagi
60eb250194 Support ver3 dict in native code.
Bug: 6669677
Change-Id: Iafc3287f1f87588a6296593d6b43ea4464c8f553
2013-08-08 14:53:05 +09:00
Keisuke Kuroynagi
744084defb Implement getTerminalNodePositionOfWord for ver3 dict.
Bug: 6669677

Change-Id: Ib9f88d23e6502b8281921ae2f1e47f930b16972f
2013-08-07 17:59:52 +09:00
Keisuke Kuroynagi
9601df5aac Implement getCodePointsAndProbabilityAnd... for ver3 dicts.
Bug: 6669677
Change-Id: I5c3b53d015496e11cb6c1f19938b8ee8a4c0f983
2013-08-07 11:53:34 +09:00
Keisuke Kuroynagi
2b1dd6e253 Implement a part of ver 3 dictionary reading methods.
Bug: 6669677
Change-Id: I83c159838ad99b2093907b9de7df6cb7a97b4165
2013-08-06 10:18:20 +09:00
Keisuke Kuroynagi
22f951c881 Merge "Remove checkFirstCharacter from BigramDictionary." 2013-08-05 04:56:23 +00:00
Keisuke Kuroynagi
cf1f7675ea DynamicPatriciaTrieReadingUtils for version 3 dictionary.
Bug: 6669677
Change-Id: I7105258a00159a5ddda7ff520c490c4ac9fa7902
2013-08-01 16:15:49 +09:00
Keisuke Kuroynagi
647c000707 Give PatriciaTrieReadingUtils methods for reading nodes.
The remaining methods in BinaryFormat will be removed.

Bug: 6669677
Change-Id: I866f828d69a600c0ac03b68d71b1f6ee2ce4dd36
2013-08-01 16:15:35 +09:00
Keisuke Kuroynagi
f0a7f70cf6 Fix: Include wrong file in dynamic_patricia_trie_policy.cpp.
Change-Id: If994f17e41c7d07e979fa6b0aa4661da0523eb0a
2013-08-01 14:48:20 +09:00
Keisuke Kuroynagi
8045b7cd24 Merge "Introduce DynamicPatriciaTriePolicy for ver 3 dictionary." 2013-08-01 05:39:07 +00:00
Keisuke Kuroynagi
2401f7c62d Move binary_format.h to policyimpl.
Bug: 6669677
Change-Id: I3712f60528c7fcf364746f792cec6e180ab2dbef
2013-07-31 21:07:32 +09:00
Keisuke Kuroynagi
11a431fca6 Fix: appendTwoWords cannot handle MAX_WORD_LENGTH-chars word.
Bug: 9892258
Change-Id: Ib4ef7850c8fc8b1d99d594bb7ef68ce645f0f1f3
2013-07-31 16:58:09 +09:00
Keisuke Kuroynagi
2a2aac2568 Remove checkFirstCharacter from BigramDictionary.
Bug: 10028452
Change-Id: I27b147e83b312d73e975a0b2bc8074b33906e56e
2013-07-31 13:47:23 +09:00
Keisuke Kuroynagi
26de7079b6 Introduce DynamicPatriciaTriePolicy for ver 3 dictionary.
Bug: 6669677
Change-Id: Idd3189558aa6fbbd6b2fd007c5721bf39dde9f48
2013-07-30 17:41:13 +09:00
Keisuke Kuroynagi
1fb11da36a Move creating children methods to structurePolicy.
Bug: 6669677
Change-Id: I20760f8ab95b18d21383960f6466db0d79429200
2013-07-29 19:31:27 +09:00
Keisuke Kuroynagi
9d618d1431 Move files only used in dicNode to "internal".
Change-Id: Ib31ddeff99b480d9b1f33a5b5b207a8acce22858
2013-07-29 17:03:21 +09:00
Keisuke Kuroynagi
4447b14b78 "much" in suggestions of "m" after "very"
Make cache size larger for single point input.

Bug: 9823678
Change-Id: Ic6bbcebd18eccaf9f9ac07d9c0d456a62f6c5287
2013-07-26 18:35:42 +09:00
Satoshi Kataoka
75322cecb9 Support terminal insertion error correction
Bug: 9421356

Change-Id: I19685763ca487b5636019d62e150708c63ce6fc2
2013-07-25 22:07:38 +09:00
Keisuke Kuroynagi
cb4a7c1d87 Fix: "saomething" -> "something".
Fixed by making MAX_CACHE_DIC_NODE_SIZE larger.

Bug: 9682742

Change-Id: I0312952c90b0820bed37df99c223921c68450570
2013-07-24 17:55:25 +09:00
Keisuke Kuroynagi
62f3b4e9c9 Merge "Fix: huge bigram costs for blacklisted words." 2013-07-23 05:32:09 +00:00
Keisuke Kuroynagi
5b7688bbb5 Fix: native crash while iterating bigramslist.
Bug: 9964153
Change-Id: Ia2eb922b61300a7c0e34122cd6c18358f1ee7ba9
2013-07-23 13:13:12 +09:00
Keisuke Kuroynagi
b179199830 Fix: huge bigram costs for blacklisted words.
Bug: 8844931
Change-Id: I523005c5ed9a3d401a67b0e4e1c3ff2e4574e6df
2013-07-22 22:05:16 +09:00
Keisuke Kuroynagi
c38ec47596 Get BigramsPos and ShortcutPos via structure policy.
Bug: 6669677
Change-Id: I924d5512377cfcfe72d3470006b81a36db3865b6
2013-07-17 20:13:04 +09:00
Keisuke Kuroynagi
8a7129530b Replace NOT_VALID_WORD with NOT_A_VALID_WORD_POS
Bug: 6669677
Change-Id: If5fb58e8a98b04b767eaaf624cb6a40841b64f54
2013-07-16 15:53:03 +09:00
Keisuke Kuroynagi
b6f286bfa5 Merge "Make bigram dictionary and traverse session use structure policy." 2013-07-16 02:45:36 +00:00
Keisuke Kuroynagi
34047d8905 Quit ignoring language cost of exact matches.
Handle exact matches in DicNode::compare() and calculateFinalScore().

Bug: 8844931
Change-Id: I17c78d4e352b0a4308727229b02a8004b38468bf
2013-07-11 08:25:17 +00:00
Keisuke Kuroynagi
1311cdcb62 Make bigram dictionary and traverse session use structure policy.
Bug: 6669677
Change-Id: I5a13290366afbb788da997b98d1c593963e92f3e
2013-07-08 14:25:50 +09:00
Keisuke Kuroynagi
5b03213db1 Remove flags from dicNodeProperties.
Bug: 6669677
Change-Id: I6f4aef8c4e4376f078ed8375394823788aa35002
2013-07-05 16:35:07 +09:00
Keisuke Kuroynagi
0933353c0c Merge "Read version 3 dictionary header." 2013-07-04 14:19:35 +00:00
Keisuke Kuroynagi
cac66f29eb Merge "Return NOT_A_PROBABILITY in getProbability for inalid dictionary." 2013-07-04 09:59:40 +00:00
Keisuke Kuroynagi
a829188f54 Allow force auto commit when the top is long multiword.
Bug: 9688196
Change-Id: I73ff2cd77b932bf7307b3541ea9da3fa4afa11b4
2013-07-04 17:39:01 +09:00
Keisuke Kuroynagi
72f69fd621 Return NOT_A_PROBABILITY in getProbability for inalid dictionary.
Bug: 9682742
Change-Id: Ifad4b9811bb5e1a94aed59eba7aedcdb6da5cf9c
2013-07-03 20:12:38 +09:00
Keisuke Kuroynagi
9a4f7a3761 Disable shortcut output for multi-word suggestions.
Bug: 9682742
Change-Id: I9e0a5acd9053d141e018c4653e4baf0f77aacb45
2013-07-03 17:22:36 +09:00
Keisuke Kuroynagi
5ae8722bd5 Read version 3 dictionary header.
The header structure of version 3 dictionary is same as version 2.

Bug: 6669677
Change-Id: I26c8723333938fbf102de1a40f11d97444da9075
2013-07-03 17:10:48 +09:00
Keisuke Kuroynagi
07718a5e7d Merge "Fix: Reading invalid dictionary position." 2013-07-02 09:42:53 +00:00
Keisuke Kuroynagi
f6aa9e9a1d Fix: Reading invalid dictionary position.
Bug: 6669677

Change-Id: I3f4078aaa8cf72f3b366e7851457e9c753c0102f
2013-07-02 18:39:56 +09:00
Keisuke Kuroynagi
2164856205 Merge "Move children filtering methods to DicNodeChildrenFilter." 2013-07-02 09:35:06 +00:00
Jean Chalard
b6f5d3e39d Fix offdevice compilation
Change-Id: I8bccccbc51b308fddfbbc990f7bfe1c490259372
2013-07-02 15:19:16 +09:00
Jean Chalard
7eba0198c0 Dump binary dictionary information when opening
Bug: 9459517
Change-Id: I122583e734936ae0284e1c7500c6c9242bc7973b
2013-07-01 18:41:00 +09:00
Keisuke Kuroynagi
28ade0938e Merge "Remove format version 1 related logic." 2013-07-01 07:31:45 +00:00
Keisuke Kuroynagi
92db5e10b1 Remove format version 1 related logic.
Removed from DictionaryStructurePolicyFactory

Bug: 9617181
Change-Id: Ice4b4a24e019c88b0ec129dc69176c7541f8530c
2013-07-01 16:28:06 +09:00
Keisuke Kuroynagi
109ba3ace3 Merge "Regenerate old version dictionaries using new format." 2013-07-01 07:16:15 +00:00
Keisuke Kuroynagi
a62b5b22ef Regenerate old version dictionaries using new format.
Bug: 9617181
Change-Id: I228a3eac959f81b38e4092015e8e3c429d46fa60
2013-07-01 15:25:33 +09:00
Keisuke Kuroynagi
7a06a79287 Move children filtering methods to DicNodeChildrenFilter.
Bug: 6669677
Change-Id: If18055e2da8dd5d783942ba384d3ea1d97030e3a
2013-07-01 15:07:15 +09:00
Keisuke Kuroynagi
c5e6efafff Introduce patriciaTrie to abstract traversing version 2 dictionary.
Bug: 6669677
Change-Id: Ifef72f3d7a7ba67c5232b98c7835485d72d7322d
2013-06-28 19:47:00 +09:00
Keisuke Kuroynagi
d9e08beebf Merge "Add DictionaryStructure as a policy." 2013-06-27 03:58:03 +00:00
Keisuke Kuroynagi
68e7edfd99 Use NOT_A_DICT_POS instead of 0 to express not valid ditctionary position.
Bug: 6669677
Change-Id: I4bf2284f8221a0a2ae4534b4a06b0e59c420a5f9
2013-06-27 12:53:31 +09:00
Keisuke Kuroynagi
e394abab60 Add DictionaryStructure as a policy.
Bug: 6669677
Change-Id: I4cc53e623824e57c1e9a351eb0befe9ee988706f
2013-06-27 12:33:25 +09:00
Keisuke Kuroynagi
c96b56a5ec Merge "Reduce the number of arguments required to initialize dic_node." 2013-06-27 03:30:48 +00:00
Ken Wakasa
c445369732 Fix class names
Change-Id: Ib3e15bdf46585976aa5b42132805754fc2e2908b
2013-06-26 23:06:14 +09:00
Keisuke Kuroynagi
6379a4de29 Reduce the number of arguments required to initialize dic_node.
Bug: 6669677

Change-Id: I52249b83f72560d8f5ab028da5cfb5c50f6e40b8
2013-06-26 20:55:14 +09:00
Keisuke Kuroynagi
c0d7a376e2 Merge "Move shortcut reading methods." 2013-06-26 05:44:56 +00:00
Keisuke Kuroynagi
5ac44bdc2a Move shortcut reading methods.
Moved form BinaryFormat to BinaryDictionaryTerminalAttributesReadingUtils.

Bug: 6669677

Change-Id: Ia1ab25854effbf61df37837fe26755ac7dc4d020
2013-06-26 14:41:22 +09:00
Keisuke Kuroynagi
5bf1be7162 Add jni methods for dynamically handling a dictionary.
Bug: 6669677
Change-Id: I8a26623adbb41a78e3c023c652be635c635e3b47
2013-06-26 12:51:33 +09:00
Keisuke Kuroynagi
3b33656ce3 Add canBeDynamicallyUpdated() in BinaryDictionaryInfo.
Bug: 6669677
Change-Id: I7391641253b99bfcb1f9380ebee2037015e7dc14
2013-06-25 16:03:33 +09:00
Keisuke Kuroynagi
f3b62900c7 Allow mmapping dictionary file in writable mode in openNative.
Bug: 6669677
Change-Id: I447668932de118b158fa029ddc977b3f3cc06cb8
2013-06-25 16:03:33 +09:00
Keisuke Kuroynagi
46159d5422 Move file and mmap information form Dictionary to BinaryDictionaryInfo.
Bug: 6669677
Change-Id: I05d435e0884430f8abbbed6ea2df775005ee8622
2013-06-25 16:03:30 +09:00