Al
|
1ddc69d984
|
[fix] var declaration during trie creation
|
2016-03-02 16:05:32 -05:00 |
|
Al
|
d35f97f6f1
|
[fix] All file_read_uint64 calls that use stack variables read into a uint64_t not a size_t so as not to smash the stack under a 32-bit arch (issue #18)
|
2016-02-29 22:36:00 -05:00 |
|
Federico Mena Quintero
|
b172071d3b
|
[fix] Remove superfluous #define; the caller actually uses sizeof(DEFAULT_ALPHABET) itself
|
2016-02-25 14:53:27 -06:00 |
|
Federico Mena Quintero
|
10c6768b5b
|
[fix] Don't leak the trie if the number of nodes can't be read from a file
|
2016-02-25 14:53:27 -06:00 |
|
Federico Mena Quintero
|
e60ad47677
|
[fix] Check return of malloc() in trie.c
|
2016-02-25 14:53:22 -06:00 |
|
Al
|
baba826d21
|
[io] Cutting down on system calls in trie_read
|
2016-01-17 20:39:19 -05:00 |
|
Al
|
8c019998d7
|
[phrases] trie_num_keys
|
2016-01-05 22:02:15 -05:00 |
|
Al
|
22668945cb
|
[mv] Moving trie_new_from_hash to a module
|
2016-01-05 16:43:17 -05:00 |
|
Al
|
3fe2365234
|
[fix] signed size_t in trie_set_tail
|
2015-10-27 13:21:26 -04:00 |
|
Al
|
1a1d74785c
|
[fix] Compiler warnings for casts/printf
|
2015-10-26 18:52:18 -04:00 |
|
Al
|
ff8986a287
|
[phrases] trie_new_from_hash compresses a {str: uint32_t} hashtable into a trie in sorted order
|
2015-10-04 18:28:21 -04:00 |
|
Al
|
8d642b45b9
|
[fix] trie was returning early on add_at_index and not incrementing the num_keys
|
2015-09-08 11:41:46 -07:00 |
|
Al
|
a8f6617294
|
[phrases] Adding num_keys attribute to trie
|
2015-08-31 21:41:34 -04:00 |
|
Al
|
562a7c243d
|
[phrases] Fixing tail searches in trie_get_prefix*
|
2015-08-11 23:08:21 -04:00 |
|
Al
|
dab181a4d7
|
[fix] Only the exact TRIE_PREFIX_CHAR/TRIE_SUFFIX_CHAR characters are disallowed as keys
|
2015-08-10 16:09:10 -04:00 |
|
Al
|
51572d6575
|
[phrases] Changing prefix/suffix chars so both are control characters and neither is the NUL-byte. Modifying transliteration special characters accordingly
|
2015-08-10 16:01:22 -04:00 |
|
Al
|
bb7688d8d1
|
[phrases] trie_add_prefix method and a schema for prefix keys, e.g. elisions in French and Italian, separable prefixes like Hinter in German, etc.
|
2015-07-24 15:56:19 -04:00 |
|
Al
|
6eccde0df8
|
[fix] trie_set_data_at_index
|
2015-07-21 16:46:38 -04:00 |
|
Al
|
9374745140
|
[fix] var name and placement
|
2015-07-20 16:53:19 -04:00 |
|
Al
|
7f96726e82
|
[phrases] Adding trie_get_data/trie_set_data + at_index methods
|
2015-07-20 16:39:58 -04:00 |
|
Al
|
d55d505329
|
[phrases] trie_get_data and trie_set_data interface for simpler dictionary-style trie get/set
|
2015-07-20 16:29:48 -04:00 |
|
Al
|
af1a5f6213
|
[trie] trie_set_data_node method
|
2015-07-07 03:38:17 -04:00 |
|
Al
|
3d95875a11
|
[phrases] trie_add_len
|
2015-06-04 02:41:48 -04:00 |
|
Al
|
fa784677f2
|
[phrases] trie_add_suffix_at_index method
|
2015-06-04 02:30:53 -04:00 |
|
Al
|
ad8e92182c
|
[phrases] trie I/O using the uint APIs, fixes to trie_get_prefix_result_from_index
|
2015-05-27 16:06:35 -04:00 |
|
Al
|
27171e068d
|
[phrases] constant for NULL prefix results
|
2015-05-22 09:08:07 -04:00 |
|
Al
|
cb14e5eef1
|
[phrases] trie_get_prefix_from_index takes an optinal tail position
|
2015-05-21 06:16:14 -04:00 |
|
Al
|
91ccdf6f7b
|
[phrases] trie_get_prefix_* methods return a struct including tail position
|
2015-05-21 05:38:21 -04:00 |
|
Al
|
395fbcb8b5
|
[fix] get_prefix on tries searches tail as well
|
2015-05-21 05:22:44 -04:00 |
|
Al
|
e84f3d93d2
|
[fix] get_prefix on tries searches tail as well
|
2015-05-20 20:57:14 -04:00 |
|
Al
|
1fee0a3e35
|
[phrases] separating get_data_node from tail_match for tries
|
2015-05-20 13:51:04 -04:00 |
|
Al
|
fdf988cb27
|
[phrases] adding a public get_data_node method for tries
|
2015-05-19 18:02:29 -04:00 |
|
Al
|
eecee39904
|
[fix] giving constant trie node names more specificity
|
2015-05-18 14:24:39 -04:00 |
|
Al
|
4a67294fbf
|
[phrases] adding get_prefix methods for tries, remove add_nodes_only, fixing a few things and inlining a few functions
|
2015-05-16 23:19:59 -04:00 |
|
Al
|
b2ba629f95
|
[fix] trie_get methods just return node index rather than data value
|
2015-04-27 01:28:05 -04:00 |
|
Al
|
8fb9bacfa6
|
[phrases] New trie_add_nodes_only method for concatenating strings to the trie, plus boolean return values on trie_add_* APIs
|
2015-04-27 01:01:43 -04:00 |
|
Al
|
8bc77372ef
|
[phrases] exposing trie_add_at_index and trie_get_from_index for more control in the transliteration tries
|
2015-04-26 22:24:02 -04:00 |
|
Al
|
38ec03bf2b
|
[phrases] default constructor for a trie uses a default alphabet derived from Wikipedia character frequencies for convenience. In practice the alphabet size/ordering matters only for very small tries or specialized alphabets. Mostly just use trie_new()
|
2015-03-05 13:40:52 -05:00 |
|
Al
|
10777ce973
|
[fix] debug logging only in trie.c
|
2015-03-03 13:28:43 -05:00 |
|
Al
|
585baab0a5
|
[phrases] optimized implementation of a double-array trie for storing millions of phrases compactly while being extremely quick to access. Supports utf-8, stores phrase tails in a contiguous character array separated by NUL bytes and stores offsets only so the chars at that offset can be treated as a regular C string and fed to things like strncmp. Also stores suffixes (primarily for languages like German, Dutch, etc. that concatenate street names e.g. Foobarstraße, Fobarweg) by prefixing the reversed string with the NUL byte and storing it backward in the trie, so can search forward and backward with the same data structure.
|
2015-03-03 13:18:18 -05:00 |
|