Commit Graph

340 Commits (8cff4b777437e0431bfce4936e8af754a9e10b4f)

Author SHA1 Message Date
Ken Wakasa 9e0c711a62 Stop using STL string in additional_proximity_chars
Change-Id: Ic016fd5983b8855b0fd9506a17b205db86af3a2f
2012-08-09 22:28:57 +09:00
Ken Wakasa 805ac949d2 Fix string.compare() logic. It happens to be working luckily.
Change-Id: I262c6d5779124e5b09ad1a66ca3c9ddb2fc6d7d5
2012-08-09 19:36:58 +09:00
Ken Wakasa 0151145924 Use GetStringUTFRegion
Change-Id: I56ad66af4ee42ed32a6fd909a9a34d601874783a
2012-08-09 16:05:54 +09:00
Satoshi Kataoka 60d4961f34 Merge "Pass traverse session" into jb-mr1-dev 2012-08-08 07:50:44 -07:00
Satoshi Kataoka 9127811493 Pass traverse session
Change-Id: I84bfaaa406e3f51421c08a7ee8f9576ebdba54d4
2012-08-08 23:30:31 +09:00
Ken Wakasa bb005f787f Start using JNI's Get<Type>ArrayRegion()
Change-Id: Iaa1014efe639dd79540835b0d5201093dbd8dab8
2012-08-08 21:06:52 +09:00
Ken Wakasa 9b392364b7 Cleanup headers.
Change-Id: Ied1bedb8ba5fae590987ea23bed32f4db1a60d77
2012-08-08 17:12:09 +09:00
Satoshi Kataoka 586b0ca1a2 Show results in the native code.
Change-Id: I712ba49cf4a89a36836fbf49cd72e7eef218e61f
2012-08-06 11:26:13 +09:00
Ken Wakasa 77e8e81ad9 Header cleanup. Moved a couple of functions from .h to .cpp.
Change-Id: Ifd12a7632f75395bd0ef5e394d5c2abd6cbe28c6
2012-08-02 20:19:39 +09:00
Ken Wakasa 74fb957e49 Header cleanup
Change-Id: Idaf19de3dc75367d49bc01e84e5a9f057c1f8dba
2012-08-01 18:46:07 +09:00
Jean Chalard 195605084e Move flags belonging to BinaryFormat to the right place.
These masks and flags are constants that are an integral part
of the format. They belong in BinaryFormat and have nothing to
do in UnigramDictionary.
This needs I6751dda4 to not break the build

Bug: 6429243
Change-Id: Ic1c842b3245f7fdc25aa8d1459c5bb07b262e265
2012-08-01 00:23:52 +09:00
Ken Wakasa f1008c5501 Cleanup headers
Change-Id: I9124366b2000cad54966fb6936bb4691bbf115a3
2012-07-31 18:45:26 +09:00
Ken Wakasa 5460ea389d Misc cleanups
Change-Id: I28308f12c3064299acefc346b72279036c3726a7
2012-07-30 16:27:44 +09:00
Ken Wakasa e3f26dd21e Fix native debug log
Change-Id: If19f808522a5a35fa06c2825fcd0d92e6e4a0631
2012-07-27 18:06:06 +09:00
Ken Wakasa 0bbb917d12 Cosmetic fixes and style fixes
Change-Id: I69c42ff945cdf0d5205c6ca61d6861a0479492dc
2012-07-25 18:56:51 +09:00
Tom Ouyang eb2fe2ab10 Add wrapper for incremental decoder.
Change-Id: Ie11e2b83c2602c0d5a2739a7d4f4994f80d7e298
2012-07-19 17:50:40 +09:00
Jean Chalard c7387a4fd0 Add values for suggestion types (A120)
Also, use it in getBigrams.

Change-Id: Ia0be9b57d1b7effcd8a936e01e957d1195b39c68
2012-07-12 19:21:44 +09:00
Jean Chalard 6931df9c17 Pass an array to output suggestion types (A119a)
This needs the matching A119b change to not break the build.
The array is passed, but not used yet.

Bug: 6166228
Change-Id: Ia91d658461d989ee8c94e9b31bb06f4a36f4c5b6
2012-07-12 19:21:42 +09:00
Jean Chalard 3b57631b60 Resolve a TODO: bury some implementation detail in native (A110)
The fact that prediction does not accept a null argument is an
implementation detail, it should not be visible to Java code.

Change-Id: I3a156b323b6db9353de898d33f3f7c81751cecb1
2012-07-12 14:30:30 +09:00
Jean Chalard 6a5d17cd2f Remove a useless parameter (A106)
Change-Id: Ic0ecea22212fd1a098a3a168da460374e446f4a3
2012-07-12 11:28:16 +09:00
Jean Chalard 1a69ad5a10 Remove a constant parameter (A105)
Change-Id: I8a09fa2f0649880c943364699a07652e47dede22
2012-07-12 11:27:55 +09:00
Jean Chalard b7d7c5a369 Make a constant really constant (A104)
Change-Id: Ied1f9f96a574b1e6a8ee0a71bfb1604d9c962e1c
2012-07-12 11:16:30 +09:00
Jean Chalard e9a86e2cdb Search bigrams for the lower case version of the word (A46)
...if there aren't any for the exact case version.

Bug: 6752830
Change-Id: I2737148b01ba04a64febe009ceb2ef53c265d224
2012-07-04 20:12:58 +09:00
Satoshi Kataoka deb0987274 Cleanup gesture code overlay
Change-Id: I6ab1462f62b2d53a157494d27342a832ec1f15f7
2012-07-04 12:43:36 +09:00
Ken Wakasa 8658e552f3 Makefile and source code structure update for LatinIME AOSP build
Change-Id: Ia2ab54651ef96521fce01fe4755147909b818803
2012-07-02 20:20:42 +09:00
Satoshi Kataoka 6b8e79bc25 Merge "Add a new define for gesture" 2012-06-28 21:03:18 -07:00
Satoshi Kataoka 712e02fba7 Add a new define for gesture
Change-Id: I6e0d8de75e129a6d1a33f7c7d5f5fa8c11dd2006
2012-06-28 15:13:57 +09:00
Jean Chalard a238e393b9 Merge "Cleanup the dictionary type." 2012-06-27 01:55:45 -07:00
Satoshi Kataoka 2f6817e567 Add skeleton implementations for gesture
Change-Id: I169034eba2001b98bad8f8a05372426c3ff8774e
2012-06-27 17:34:06 +09:00
Jean Chalard 05efe576f9 Cleanup the dictionary type.
Stop storing an int in each of the different class types, and
just store a string in the top class.

Change-Id: I2af1832743e6fe78e5c1364f6d9cc21252bf5831
2012-06-27 17:31:09 +09:00
Satoshi Kataoka efb63246c2 Change native functions' interface for gesture
Change-Id: I106a858f0be7452dd89f425805a6f72aa88c3f65
2012-06-27 16:22:39 +09:00
Satoshi Kataoka 91eb4d898e Add skeleton classes for gesture
Change-Id: I6ada110a934b0dafc57d0dcd87723275fa733548
2012-06-26 17:33:03 +09:00
Satoshi Kataoka 7368009799 Change JNI for Gesture
Change-Id: I774a0052038d16677f60f7efa11fd266cb5f3088
2012-06-25 18:54:37 +09:00
satok b1ed1d47ac Make native bigram dictionary const
Change-Id: Id883f2d69483c9234877ad42446a582258e1cf91
2012-06-14 18:01:27 -07:00
satok 1bc038c5e4 Move correction state to stack memory
*Before
(0)  13.18 (0.01%)
(1)  93025.41 (62.06%)
(2)  10.75 (0.01%)
(3)  10.50 (0.01%)
(4)  117.50 (0.08%)
(5)  55678.98 (37.14%)
(6)  9.09 (0.01%)
(20) 883.84 (0.59%)
Total 149898.24 (sum of others 149749.25)

*After
(0)  17.41 (0.01%)
(1)  92673.41 (61.95%)
(2)  10.62 (0.01%)
(3)  10.37 (0.01%)
(4)  120.96 (0.08%)
(5)  55741.18 (37.26%)
(6)  11.01 (0.01%)
(20) 862.72 (0.58%)
Total 149595.52 (sum of others 149447.68)

Change-Id: Ia5a25a544fc388e4dab1e08d8f78d5117b249cf3
2012-06-14 15:57:28 -07:00
satok 1035bc990d Fix debug build
Change-Id: I48a87967ac741455502ac1a18465ae6ed7ef0d12
2012-06-13 16:07:54 -07:00
Satoshi Kataoka 6bc051d291 Refactor step3: const unigram_dictionary
- make all functions in unigram_dictionary const

Change-Id: I94a64865aa793435e6c81890e68d999f6374074e
2012-06-08 20:04:36 +09:00
Satoshi Kataoka 4a3db7057f refactor native step 2
- proximity_info is now stateless

Change-Id: I62725bfe05b161fa8fc050ea6b50867e10a354e2
2012-06-08 18:14:49 +09:00
Satoshi Kataoka 3e8c58f68d Separate state from proximity_info step1
Bug: 6548943

Change-Id: I7b4fbe20615a28151a74875be43b9f4a20e0dce9
2012-06-07 13:35:34 +09:00
Satoshi Kataoka 02963c4032 am fb3fdf15: Merge "Enhance the safety net in multiple word suggestions" into jb-dev
* commit 'fb3fdf15040cb67c311047dea0144fa5aa071185':
  Enhance the safety net in multiple word suggestions
2012-05-31 01:14:57 -07:00
Satoshi Kataoka 67e3cc8488 Enhance the safety net in multiple word suggestions
Bug: 6576793

Change-Id: I97100b482d3cf4e1b417c197b5d1e971a72b998d
2012-05-31 17:07:31 +09:00
Satoshi Kataoka d8096b1a12 am 6cbe204f: Fix the performance issue on suggesting aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
* commit '6cbe204fce109fab652da15f4c8ea1ae35fca3e7':
  Fix the performance issue on suggesting aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2012-05-30 02:50:29 -07:00
Satoshi Kataoka 6cbe204fce Fix the performance issue on suggesting aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Bug: 6576793

Change-Id: I46f56654cd25dc28668ad75ac71e0e3beb8cdcf3
2012-05-30 18:43:23 +09:00
Jean Chalard 987aa1536b am 62cd919d: Remove a compiler warning.
* commit '62cd919dca9ef85cdd045b539b3ef85e921c6e4c':
  Remove a compiler warning.
2012-05-29 22:54:21 -07:00
Jean Chalard 62cd919dca Remove a compiler warning.
Change-Id: Id2c949d03a2e38787cbf3c8f99313bcfe8610a1f
2012-05-30 14:46:43 +09:00
Satoshi Kataoka 40ab25cab0 am 51705efc: Merge "Add a JNI to get the frequency" into jb-dev
* commit '51705efc96c1c555cf9e0f557ea8cdc1c1c97781':
  Add a JNI to get the frequency
2012-05-29 01:30:26 -07:00
Satoshi Kataoka 51705efc96 Merge "Add a JNI to get the frequency" into jb-dev 2012-05-29 01:27:59 -07:00
Satoshi Kataoka 2f854e170c Add a JNI to get the frequency
Bug: 4192129
Change-Id: I3f220f5a10114d4eb23956148076cf76220bda0f
2012-05-29 17:21:59 +09:00
Jean Chalard e3864d429e am b074dfea: Merge "Add a comment on a caveat for future reference." into jb-dev
* commit 'b074dfead504fba4039e4eaaded07c10244ff292':
  Add a comment on a caveat for future reference.
2012-05-29 00:59:14 -07:00
Jean Chalard 46fe49fc05 Add a comment on a caveat for future reference.
Change-Id: I328a0cd4346275aac960e1369bf370688a004e11
2012-05-29 16:50:25 +09:00
Jean Chalard 18f650172d am bfba64bc: Merge "Compute the correct frequency for bigram prediction" into jb-dev
* commit 'bfba64bcfd70ce8e3932d52c4b9f3182d33e1f55':
  Compute the correct frequency for bigram prediction
2012-05-29 00:38:16 -07:00
Jean Chalard e382bcc39a am 8f9f55dd: Merge "Fix a bug where the bigram freq would be underevaluated" into jb-dev
* commit '8f9f55dd9d27f6c759c12416c872138b9b4661dc':
  Fix a bug where the bigram freq would be underevaluated
2012-05-29 00:25:50 -07:00
Jean Chalard c941bc9bd3 am 22cf6958: Merge "Split a method to reconstruct freq from uni/bi freq" into jb-dev
* commit '22cf695834009929a6c0fbcd75a9ff56efa04d83':
  Split a method to reconstruct freq from uni/bi freq
2012-05-29 00:25:49 -07:00
Jean Chalard ca134ccc2a am bf61bba3: Merge "Fix two small possible bugs." into jb-dev
* commit 'bf61bba35feda09a2ad08475481ce042879ff5bb':
  Fix two small possible bugs.
2012-05-29 00:25:47 -07:00
Jean Chalard e308459531 Compute the correct frequency for bigram prediction
Change-Id: I3196f48a0ca2ed5e94f430254d58e65d341398c8
2012-05-29 16:22:46 +09:00
Jean Chalard cb99376307 Fix a bug where the bigram freq would be underevaluated
The difference in score is not large, but it's still a bug

Change-Id: Ie22c2b6e1206e829c1c8af096469df05af14d47b
2012-05-29 16:04:07 +09:00
Jean Chalard 19ebd93646 Split a method to reconstruct freq from uni/bi freq
This has no impact at all on the logic.

Change-Id: I3788c8335cc193433ad9a7512b211a49bb2ffb02
2012-05-29 16:00:25 +09:00
Jean Chalard 402b057050 Fix two small possible bugs.
None of these had any real impact, but they were potential
liabilities for the future

Change-Id: I2de581f8b638e423d47a6d99b1a3c96af4c6150d
2012-05-29 15:56:30 +09:00
satok 074e8c9206 am a0ac31fc: Fix the issue on multiple words suggestion
* commit 'a0ac31fcaa01c21592a6e7af243c14dada65cf3e':
  Fix the issue on multiple words suggestion
2012-05-23 05:06:08 -07:00
satok a0ac31fcaa Fix the issue on multiple words suggestion
Bug: 6509844
Change-Id: I823074a2b29befc3e60c63699ab4dc7719105c63
2012-05-23 20:40:59 +09:00
Jean Chalard 7557d3c6f3 am bc77adef: Merge "Return the bigram frequency if available." into jb-dev
* commit 'bc77adefbb0305c5ec0e41ab01e3a085c47c21eb':
  Return the bigram frequency if available.
2012-05-17 03:31:15 -07:00
Jean Chalard bc77adefbb Merge "Return the bigram frequency if available." into jb-dev 2012-05-17 03:15:40 -07:00
Jean-Baptiste Queru cd7c41352f Fix build
Change-Id: I799811aa3afb59bba2e4086a063f5da03669bba3
2012-05-16 16:56:11 -07:00
Ken Wakasa 3b088a2f36 Add missing includes.
Change-Id: Ic7199045d0cffb208871f52cc167194013351d32
2012-05-16 23:05:32 +09:00
Jean Chalard 9416c81403 Return the bigram frequency if available.
This concludes the work on bug#6313806.
Don't submit it before the dictionaries are suitably amended.

Bug: 6313806
Change-Id: Icfea45bd52bb9d8cc68ba2266f80640e3942bb7f
2012-05-16 21:14:06 +09:00
satok 0028ed3627 Use "float" instead of "double"
Change-Id: I93ed4d88ede4058f081dd8d634b00dfff4e96d07
2012-05-16 20:45:05 +09:00
satok f837b57bf5 Merge "Reorder suggestions result according to auto correction threshold" into jb-dev 2012-05-16 04:13:08 -07:00
satok db1939dbaa Reorder suggestions result according to auto correction threshold
Bug: 5413904
Change-Id: I3aa3a8109ba45d2129b58d8242866fd3dd3473cb
2012-05-16 19:58:48 +09:00
satok 6804b8e0fd Fix a bug of handling single quote in the correction algorithm
Bug: 6096247
Change-Id: I5490bbdee4ce1e3e0729ec1510a2baab85eeaf05
2012-05-15 15:12:55 +09:00
Tom Ouyang 4d289d39ae Contacts dictionary rebuilds only when contact names have changed.
Bug: 6396600
Change-Id: Iad693ec4bab6351793d624e5c5b0a9f5c12a60e3
2012-05-11 18:43:53 -07:00
Jean Chalard 49ba135fde Perform the actual bigram frequency lookup.
This still returns the unigram frequency, because the values stored
for bigrams in the dictionary are not ready to be returned in-place
instead of unigram values. Aside from this, the code is complete.

Bug: 6313806
Change-Id: If7bb7b644730782277f0f6663334c170b7fe13fb
2012-05-10 20:01:44 +09:00
Jean Chalard 8950ce6c44 Replace the bigram list position with the map and filter
Passing the position will not allow us a reasonable lookup
time. Replace this with a map and bloom filter for very fast
lookup.

Bug: 6313806
Change-Id: I3a61c0001cbc987c1c3c7b8df635d4590a370144
2012-05-07 17:15:21 +09:00
Jean Chalard f1634c872c Fill in the bloom filter for bigram lookup.
Bug: 6313806
Change-Id: Ib79e14f6f8b241f053da6069c15f19c71084317e
2012-05-07 15:38:43 +09:00
Jean Chalard 1ff8dc47be Fill up a map of bigram addresses for lookup.
We don't want to do a linear search on each terminal when there
may be 100+ bigrams for a given word because that would be
disastrous for performance. Also, we need to resolve each bigram
address anyway.
This change resolves the addresses at first and puts them in a
balanced tree so that lookup will be O(log(n)).

Bug: 6313806
Change-Id: Ibf088035870b9acb41e948f0ab7af4726f2cee24
2012-05-02 17:50:44 +09:00
Jean Chalard 351864b38a Fetch and pass the bigram position on suggestions.
This is a cherry-pick of change I2d81742f

Bug: 6313806
Change-Id: Ic1190b7980d032bc11b57841bca040d980889b6b
2012-04-26 15:24:42 +09:00
Jean Chalard 4d9b202c40 Pass the bigram list position from the top level
The position itself is still a const int = 0 until we have the previous
word passed to the function. This basically does the plumbing.

Bug: 6313806
Change-Id: Ib58995f334fe93e3ff5704d7c79f332017f101ac
2012-04-24 16:47:09 +09:00
Jean Chalard 171d1809ff Add methods to inverse compute the probability.
For now the probability is just returned with the same
value it had, but this is some ground work that needs to be
done anyway.

Bug: 6313806
Change-Id: I9bb8b96b294109771208ade558c9ad56932d2f8e
2012-04-24 09:40:44 +09:00
Jean Chalard 522a04ea5b Pass words as int[] to the native code.
We need to get the bigrams during the call to getSuggestions for
bug#6313806. We already give an int[] to getSuggestions and we
wanted to get rid of char[]'s anyway because it doesn't work with
surrogate pairs, so here we go.

Bug: 6313806
Change-Id: I56ce99f1db6b3302cdf42f0527343bded837091e
2012-04-23 16:05:36 +09:00
Tadashi G. Takaoka a58ebc73ae Fix typo of some methods' name
Also changes some methods' argument type from Locale to String.

Change-Id: Ib68b528a450dc68a01546483403230f76500bee4
2012-04-18 16:40:50 +09:00
Jean Chalard fec6837ae1 Fix debug compilation + small cleanup
Change-Id: Ia89d84f62ba38dee05d25fbc94698e889cf27d2c
2012-04-17 17:33:25 +09:00
Jean Chalard ee396df162 Fix a native crash
This was introduced by Ieb2e306a which failed to keep the return
behavior in case the word doesn't have a bigram.

Change-Id: I6d2f0b79d41c4335e94696690c8331e314961133
2012-04-17 16:57:42 +09:00
Jean Chalard 9c2a96aa6c Preparatory refactoring
Split out getting the pointer to the bigrams to a separate
function. This is a preparative change to bug#6313806

Change-Id: Ieb2e306a1151cd95dc1a16793c8dc2f7fed8b654
2012-04-17 11:46:20 +09:00
Jean Chalard 3f675f7060 Fix a large native memory leak.
This leak was about 500k and would happen whenever a new binary
dictionary was opened/closed.

Bug: 6299535
Change-Id: I4fad5b4d9c556ca889f5ef62d9d083a2eff6346a
2012-04-16 16:48:53 +09:00
Jean Chalard 338d3ec725 Replace the flags in getSuggestions with a boolean.
Change-Id: I0ec44df1979cb1dc21017ea290d2151a2af0e7cd

Conflicts:

	java/src/com/android/inputmethod/latin/Suggest.java
2012-04-06 19:34:48 +09:00
Jean Chalard aa8df59914 Enable using the flags read from the binary file.
Change-Id: Ib420c3e174ccc1a80c4b6fd066de3b7a2b6fb290
2012-04-06 18:54:20 +09:00
Jean Chalard cd274b1469 Save the flags in a member in the unigram dictionary.
Change-Id: Ic8fad9110db6b97f98ace27af0f347b4e69de8c8
2012-04-06 18:34:59 +09:00
Jean Chalard e81ac8baa0 Add a method to get the flags from a binary dictionary.
This method is not used yet

Change-Id: Ic15d3d423aff2c83c712bc0aa56571d30755e663
2012-04-06 18:34:22 +09:00
Jean Chalard 5b0761e6a9 Remove write-only stuff
Change-Id: I5ac8ab64c77a298502b3d063ea70db9b4da41716
2012-04-06 17:52:18 +09:00
Jean Chalard 9a933a742d Read shortcuts as strings in the dictionary.
This has no impact on performance.
Before:
(0)  9.61 (0.01%)
(1)  57514.58 (56.70%)
(2)  10.55 (0.01%)
(3)  10.79 (0.01%)
(4)  133.20 (0.13%)
(5)  43553.87 (42.94%)
(6)  10.03 (0.01%)
(20) 47.20 (0.05%)
Total 101431.47 (sum of others 101289.84)

After:
(0)  10.52 (0.01%)
(1)  56311.16 (56.66%)
(2)  13.40 (0.01%)
(3)  10.98 (0.01%)
(4)  136.72 (0.14%)
(5)  42707.92 (42.97%)
(6)  9.79 (0.01%)
(20) 51.35 (0.05%)
Total 99390.76 (sum of others 99251.84)

The difference is not significant with regard to measure imprecision

Change-Id: I2e4f1ef7a5e99082e67dd27f56cf4fc432bb48fa
2012-04-06 16:22:08 +09:00
Ken Wakasa 3ef3e24a12 Move the "src" directory as a preparation for Ib4a47342 and I66f6c5b9
Change-Id: I3ab65059f6e356530484bfd0bba26a634a4cba65
2012-03-30 09:53:51 +09:00