1
0
Fork 0
Commit Graph

26 Commits (master)

Author SHA1 Message Date
Michael Raitza 29f01bf3a2 Docs and Tests fixups 2021-02-01 22:07:32 +01:00
Michael Raitza b365f05b5d Write tests 2021-02-01 21:36:34 +01:00
Michael Raitza c26dfad78d Fix byte sequence difference algorithm 2021-01-31 22:56:09 +01:00
Michael Raitza 1f66561cdc WIP Fix difference algorithm 2020-12-05 13:15:50 +01:00
Michael Raitza 642aaf718c Fix alist implementation
Missed the general object case (notably `f`) for root node.
2020-02-24 16:26:43 +01:00
Michael Raitza 7c61cdf984 Change literal syntax to CB{ 2020-02-24 16:26:17 +01:00
Michael Raitza 921f1ca979 Add documentation 2020-02-24 15:52:57 +01:00
Michael Raitza 12774bd120 Pimp playground, re-bind several UI keys 2020-02-24 15:50:22 +01:00
Michael Raitza 79b67e1ab3 Add a simpler and faster key serializer
Serialization of numeric keys and strings is faster but keys can no longer be
 freely mixed between object types as several serializations of different keys
 now coincide. Serializations of keys of a single type are guaranteed to be
 unique.
2020-02-24 15:47:10 +01:00
Michael Raitza e3f4600c85 Use `left` and `right` constants from trees vocabulary 2020-02-24 15:44:26 +01:00
Michael Raitza e5384bc1b0 Remove old code 2020-02-24 15:44:07 +01:00
Michael Raitza 00e9b54b22 Implement Assoc Protocol and pretty printing 2020-02-17 11:32:01 +01:00
Michael Raitza ea07711f17 Implement insert 2020-02-14 20:57:58 +01:00
Michael Raitza f06eda5f16 WIP Deactivate broken insert code and rewrite
Split into:
 - walk for best fit
 - updating leaf / creating new split node and leaf node
 - insert new split node if necessary (WIP)
2020-02-11 22:30:10 +01:00
Michael Raitza 8400602c06 Implement deletion; break insertion as it is still wrong 2020-02-10 23:24:56 +01:00
Michael Raitza 41c4a51d64 Complete insertion via set-at
Use MAGIC Algorithms log2 folding to calculate critical bit of the form
 yyyyxyyyy, where y bits are 1 and x is 0, denoting the critical bit (from the
 right).

 Idea from Adam Langley's C example implementation.
2020-02-09 23:05:08 +01:00
Michael Raitza 9de4680d39 Distinguish into internal and leaf nodes; Implement appending leaf node
No internal node splitting
2020-02-09 21:28:06 +01:00
Michael Raitza 0674a825b0 critbit: Make compiler happy NOFIX 2020-02-09 21:27:11 +01:00
Michael Raitza 3e2f2e7dac Implement set-at; cb-set for the empty tree 2020-02-09 15:54:27 +01:00
Michael Raitza 5a7d699b3b Introduce key-bytes symbol and with-key 2020-02-09 01:54:08 +01:00
Michael Raitza b5dd6e1065 Start implementation as a sub class to trees 2020-02-09 01:40:58 +01:00
Michael Raitza b686040e7d WIP: Some code updates... 2020-01-18 21:45:03 +01:00
Michael Raitza c8d3ba4d59 WIP: Searching, node calculation, put into empty tree
Misses insertion of a node into the tree
2019-04-23 23:00:38 +02:00
Michael Raitza 99e724d0cd Add critbit CWEB documentation
from https://github.com/agl/critbit
2019-04-23 15:35:26 +02:00
Michael Raitza f2c44cae8d WIP Initial code 2019-04-23 09:36:06 +02:00
Michael Raitza 0f4884bd8b Add playground 2019-04-23 09:35:57 +02:00