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