thanks for your information

2010/3/22 Kan-Ru Chen <[email protected]>:
> FYI, there is a tool called makedict can be used to create the binary format.
>
> On Mon, Mar 22, 2010 at 2:00 PM, a a <[email protected]> wrote:
>> i'm sorry, there is get child count after get the child address.
>> so it seam good.
>>
>> 2010/3/22 a a <[email protected]>:
>>> Dear All,
>>>     I met a big difficiult problem, i have researched more then 5
>>> day's. Of course i read the LatinIME's algorithm for the suggestion.
>>> It following like that
>>>
>>> getSuggestions-->getWordsRec, and getWordsRec invoke itself when it
>>> have a child. So the key algorithm is where is it's child.And it is:
>>> intDictionary::getAddress(int *pos) // the pos is a father node
>>> {
>>>    int address = 0;
>>>    if ((mDict[*pos] & FLAG_ADDRESS_MASK) == 0) { //// The bit that
>>> decides if an address follows in the next 22 bits
>>>
>>>                        //       #define FLAG_ADDRESS_MASK 0x40
>>>
>>>                        // 22-bit address = ~4MB dictionary size
>>> limit, which on average would be about 200k-300k words
>>>
>>>        *pos += 1;  // so it looks never go into this branch when the
>>> dictionay is less then 4MB, and my dictionary is only 500KB
>>>    } else {
>>>        address += (mDict[*pos] & (ADDRESS_MASK >> 16)) << 16;  //
>>>        address += (mDict[*pos + 1] & 0xFF) << 8;
>>>              //
>>>        address += (mDict[*pos + 2] & 0xFF);
>>>                  //
>>>        *pos += 3;
>>>    }
>>>    return address; //the address is child node's
>>> }
>>> For example, we typed "as", the first node is find the "a" at the root
>>> layler, and then find "s" on the "a" child.
>>> Anyone can tell me what's the getAddress() meanings? i really can't
>>> understand it well. My question is why
>>> the child address is always :
>>>
>>>        address += (mDict[*pos] & (ADDRESS_MASK >> 16)) << 16;  //
>>>        address += (mDict[*pos + 1] & 0xFF) << 8;
>>>              //
>>>        address += (mDict[*pos + 2] & 0xFF);
>>>                  //
>>>
>>> If the "a" have more then two child, it will only get one child,
>>> because it always get it's child address like above.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Android Developers" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>>
>> To unsubscribe from this group, send email to 
>> android-developers+unsubscribegooglegroups.com or reply to this email with 
>> the words "REMOVE ME" as the subject.
>>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>
> To unsubscribe from this group, send email to 
> android-developers+unsubscribegooglegroups.com or reply to this email with 
> the words "REMOVE ME" as the subject.
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

To unsubscribe from this group, send email to 
android-developers+unsubscribegooglegroups.com or reply to this email with the 
words "REMOVE ME" as the subject.

Reply via email to