|
|
442f9f88d2
|
better word tokenisation algorithm in bench/conv-words.sml
|
2024-09-11 09:50:07 +01:00 |
|
|
|
662be1da75
|
a bit of progress moving insert functions into zip-string-set.sml
|
2024-09-10 09:05:41 +01:00 |
|
|
|
f97d092996
|
implement getPrefixSubtrie to ZipStringSet
|
2024-09-09 21:42:56 +01:00 |
|
|
|
ede0da6643
|
alternative isEmpty implementation in string-set.sml
|
2024-09-09 18:22:56 +01:00 |
|
|
|
6228a259bc
|
extract more duplicated code into reusable functions (in src/string-set.sml)
|
2024-09-09 18:17:07 +01:00 |
|
|
|
272ccf1b03
|
amend compilation errors in zip-string-set.sml
|
2024-09-09 18:04:11 +01:00 |
|
|
|
dbc0fdc178
|
progress with zip-string-set.sml (refactored up to the exists function), and reduce code duplication for one case in string-set.sml
|
2024-09-09 17:39:45 +01:00 |
|
|
|
b7a365c6b8
|
implement 'exists' function on bro-tree as well, and benchmark it compared to string-set
|
2024-09-09 15:57:58 +01:00 |
|
|
|
fc0fd6923b
|
use larger set of words in words.txt dataset
|
2024-09-09 15:19:18 +01:00 |
|
|
|
7d707c9af4
|
add insert benchmark comparing StringSet to BroTree (StringSet is just a few ms faster for this)
|
2024-09-09 14:54:25 +01:00 |
|
|
|
4a16daaa1a
|
begin coding bro-tree for benchmarks
|
2024-09-09 14:20:25 +01:00 |
|
|
|
6c9c6947cf
|
implement foldl, foldlWithPrefix, foldr and foldrWithPrefix
|
2024-09-09 07:08:00 +01:00 |
|
|
|
d1fb058186
|
add license, readme, and small to-do list
|
2024-09-08 05:38:46 +01:00 |
|
|
|
0d571468e7
|
use signature for StringSet
|
2024-09-08 05:05:16 +01:00 |
|
|
|
5d121f3864
|
done testing string-set.sml, with all tests passing
|
2024-09-08 04:57:41 +01:00 |
|
|
|
36c9b45c1a
|
handle duplicates in insertion into trie properly (return same trie if it already has a FOUND/FOUND_WITH_CHILDREN node awith that key, or change tag of node from CHILDREN to FOUND_WITH_CHILDREN to mark it as inserted
|
2024-09-08 04:41:14 +01:00 |
|
|
|
88c48b0592
|
add 1-line toList function to StringSet, which is not useful to me but very convenient to add
|
2024-09-07 21:57:01 +01:00 |
|
|
|
738e7d93d1
|
fix all bugs in remove5; now, all remove tests have been ported and they all pass fully; should port other tests from KTrie next too
|
2024-09-07 21:54:11 +01:00 |
|
|
|
01d79cd801
|
address a bug where Vector.sub (keys, ~1) was used, solving subscript error, but revealing another error in a subsequent test case
|
2024-09-07 21:35:31 +01:00 |
|
|
|
352e4ff611
|
identify error (subscript raised) with a comment by the offending line stating that it needs to be fixed
|
2024-09-07 20:56:21 +01:00 |
|
|
|
65070d1b52
|
add test for removal
|
2024-09-07 16:50:31 +01:00 |
|
|
|
3c02a47c2e
|
add getPrefixList tests
|
2024-09-07 16:44:41 +01:00 |
|
|
|
ab1b7e4557
|
I think I'm done coding removal functionality; next thing to do is test it
|
2024-09-06 10:31:52 +01:00 |
|
|
|
9154fe5b3f
|
added empty value for trie (which is different from an empty type constructor), and check against empty at the start of insert and search/exists function
|
2024-09-05 03:06:00 +01:00 |
|
|
|
7cfa393e05
|
tested getPrefixList, fixed errors, and now it seems to work fine
|
2024-09-04 19:30:29 +01:00 |
|
|
|
dd41c971e3
|
seem to have fixed error with 'exists' function previously mentioned in todo, without introducing regressions
|
2024-09-04 18:57:39 +01:00 |
|
|
|
b2b0837524
|
just formatting, and removing part of the todo list
|
2024-09-04 16:39:13 +01:00 |
|
|
|
20de15b349
|
fixed 'helpExists' function; error was in the FOUND case which checked 'keyPos = String.size searchKey' instead of 'keyPos = String.size searchKey - 1'. The latter is correct, because it checks that the keyPos ended at the last character, which is the intended meaning
|
2024-09-04 16:38:27 +01:00 |
|
|
|
86f171cd08
|
try implementing getPrefixList function, but it seems insert function has an error, so made a note of it to fix this error in a comment; fixing this error is the first priority
|
2024-09-04 15:26:21 +01:00 |
|
|
|
ccd0ee42d5
|
add function to retrieve prefix subtrie (but will still want a function that returns a list of prefixes, and a vector of prefixes
|
2024-09-04 14:56:20 +01:00 |
|
|
|
65eff83c0b
|
fix error with 'helpExists' function; the error was that we recursed in 'helpExists' function by calling keyPos + 1 (nextKeyPos) which is the wrong way to search when the trie key has a string size larger than 1
|
2024-09-04 13:32:45 +01:00 |
|
|
|
6696480a39
|
amend a couple of errors (wrong sorting for some strings), and add todo for bug discovered
|
2024-09-04 13:14:54 +01:00 |
|
|
|
ec7ff7ede6
|
some refactoring (and progress filling in the FOUND_WITH_CHILDREN case in the 'helpInsert' function)
|
2024-09-04 12:17:06 +01:00 |
|
|
|
0d25b88caa
|
change 'helpInsert' function to return trie instead of trie option (I would guess there are fewer cases where the same string is inserted into the trie repeatedly)
|
2024-09-04 12:05:43 +01:00 |
|
|
|
90019de17f
|
amend bug in 'insertBinSearch' function which caused subscriptt error, thereby addressing one of the todo items
|
2024-09-04 11:53:00 +01:00 |
|
|
|
7a4a99a408
|
add 'fromList' convenience function
|
2024-09-04 08:16:56 +01:00 |
|
|
|
38b534d935
|
discover error, make note of it, and update todo comment
|
2024-09-04 08:11:43 +01:00 |
|
|
|
fa3245b47c
|
progress coding insert function
|
2024-09-04 07:54:35 +01:00 |
|
|
|
88ec026921
|
progress with coding insert function
|
2024-09-03 22:09:31 +01:00 |
|
|
|
f518ebb4b3
|
progress with insert function, adding note for next todo
|
2024-09-03 20:16:39 +01:00 |
|
|
|
2f14c99952
|
init with working 'exists' function for string set
|
2024-09-03 10:15:55 +01:00 |
|
|
|
2d6ee874af
|
improve A (add space for other fonts to have tail, make the width a little narrower), and create new directory for fonts
|
2024-08-30 22:01:24 +01:00 |
|
|
|
42c4b92105
|
address edge case where Real32.toString 1.0 seems to give the string '1' instead of '1.0', and improve the drawing for upper case A
|
2024-08-30 11:13:08 +01:00 |
|
|
|
c16fa58bf6
|
fix bug caused by the calculation change in the previous commit
|
2024-08-30 09:15:33 +01:00 |
|
|
|
f3a0eb3e30
|
minor change to generated export code (avoid redundant maths operations)
|
2024-08-30 05:20:56 +01:00 |
|
|
|
db92b95c41
|
tick another item off from the to-do list in the readme
|
2024-08-30 03:57:13 +01:00 |
|
|
|
f5b0c8e705
|
tested export functionality, and fixed it so that it works as intended (previous error was that the drawn object was located on the wrong part of the Y-axis)
|
2024-08-30 03:46:05 +01:00 |
|
|
|
acd68a055d
|
code shortcut to trigger export (with <Ctrl-E>); it outputs syntatically valid .sml, but I am not sure if the output is correct as intended so it needs testing
|
2024-08-30 02:34:24 +01:00 |
|
|
|
7ab7b8931d
|
code function to export triangle to .sml file (linear interpolation only; untested and also not currently executable by shortcut
|
2024-08-30 02:22:02 +01:00 |
|
|
|
da2a652506
|
improve parsing code slightly, with successful parsing when saved .dsc file has inconsistent spacing
|
2024-08-29 11:18:17 +01:00 |
|