Commit graph

33 commits

Author SHA1 Message Date
Ken Wakasa
d86d313b31 Fix variable type
Change-Id: Ifbee00119ff9801d480ca97bf2aedbb25be25bf4
2012-09-04 20:29:38 +09:00
Ken Wakasa
f2789819bd Cosmetic fixes and a bug fix in UnigramDictionary::testCharGroupForContinuedLikeness().
This change has actually been extracted from a change work in progress I4fe423834b8131fb122251892c98228a6e08ba25

Change-Id: I52568fa09da2ea22be7f8bfe9676b7cd73c31fa4
2012-09-04 14:23:37 +09:00
Ken Wakasa
267030dd82 Cleanup casts.
Change-Id: I3bf33ca407cc3bee9f5c4c6f929cdb1421b92c50
2012-08-14 19:03:09 +09:00
Ken Wakasa
bcec82de66 Clean up constructors
And, use C++ style casts and use float math functions rather than double ones to save memory space.

Also, stop using FloatMath and NativeUtils as standard Math methods are faster now.
See http://code.google.com/p/android/issues/detail?id=36199 and https://android-review.googlesource.com/40700

multi-project commit with I4259fb5ab8a15ac5760a7f04fc8f4c860529f04a

Change-Id: I0b81cff8c91769f7559a59b9528c75a5aabb4211
2012-08-13 10:48:37 +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
0bbb917d12 Cosmetic fixes and style fixes
Change-Id: I69c42ff945cdf0d5205c6ca61d6861a0479492dc
2012-07-25 18:56:51 +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
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
satok
b1ed1d47ac Make native bigram dictionary const
Change-Id: Id883f2d69483c9234877ad42446a582258e1cf91
2012-06-14 18:01:27 -07:00
Jean Chalard
62cd919dca Remove a compiler warning.
Change-Id: Id2c949d03a2e38787cbf3c8f99313bcfe8610a1f
2012-05-30 14:46:43 +09: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
e308459531 Compute the correct frequency for bigram prediction
Change-Id: I3196f48a0ca2ed5e94f430254d58e65d341398c8
2012-05-29 16:22:46 +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
Ken Wakasa
3b088a2f36 Add missing includes.
Change-Id: Ic7199045d0cffb208871f52cc167194013351d32
2012-05-16 23:05:32 +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
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
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
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
Renamed from native/src/bigram_dictionary.cpp (Browse further)