Commit Graph

114 Commits

Author SHA1 Message Date
ba7d3579b4 move if statement that only needs to be checked once from helpBinSearch, which is recursive, to binSearch which is not recursive, for negligibly better performance (fewer branch predictions) 2024-06-30 01:37:52 +01:00
75aba5e8e1 progress on fixing exceptions with regard to vector 2024-06-30 01:32:59 +01:00
6af253eed9 verified through testing that insertion works as expected as far as contents of string is concerned. However, have added print statements which I need to remove when I have a fully working implementation 2024-06-30 00:50:38 +01:00
de087a86d5 organise repository a little bit 2024-06-30 00:07:45 +01:00
37653a7c85 address compiler errors/warnings 2024-06-29 23:40:39 +01:00
ffaaa8993e I think implemented insert correctly. Next: check for compile errors, and then test that insert functions as expected. 2024-06-29 23:27:32 +01:00
dfeb4c4647 progress coding fun insInRightList 2024-06-29 17:46:43 +01:00
99de90febc progress with insertion on line_gap.sml 2024-06-29 06:50:52 +01:00
2583e0edea begin coding insert for line gap buffer 2024-06-28 07:16:10 +01:00
c5a5bc1986 a little clean up 2024-05-28 08:10:18 +01:00
1f3736e690 add benchmarks for tiny_rope in bench folder 2024-05-28 08:01:10 +01:00
9728a1ca25 amend 'make clean' target in bench folder (now removes gap_buffer_seph too) 2024-05-27 13:35:01 +01:00
d6a5055be1 commit bench folder (also committing examples folder but that's kind of broken at this state) 2024-05-27 13:30:53 +01:00
b5c70772fa reorganise repository 2024-05-27 13:28:09 +01:00
1bc468238e print more benchmark stats in util.sml 2024-05-26 15:04:12 +01:00
c96cbed866 complete correct implementation of delete for gap buffer 2024-05-26 13:52:12 +01:00
217bf766a9 progress on starting delete function 2024-05-25 23:47:48 +01:00
01496aa06f amend bug resulting from previous refactoring (don't know origin of bug but I pressed undo in my editor and did the refactoring again, and this time all tests passed) 2024-05-25 15:05:40 +01:00
e9339908ef regenerate some data sets (except automerge), putting the contents in modules 2024-05-25 13:51:02 +01:00
b96539d348 refactor function in gap_buffer.sml to make use of two helper functions when inserting into the left/right 2024-05-25 13:21:14 +01:00
153c66b546 use joinEndOfLeft and joinStartOfRight functions to navigate between nodes in the gap buffer 2024-05-25 12:56:33 +01:00
54b052c8f5 make gap buffer a little bit faster by trying to join strings less than or equal to targetLength 2024-05-25 10:49:57 +01:00
008fa90196 add gap buffer implementation which has an insert and a toString function 2024-05-22 13:52:50 +01:00
d9a2933598 code delete-balancing functions for tiny_rope23.sml 2024-05-22 00:00:52 +01:00
d6d518b5b4 fix correctness error in tiny_rope23.sml's ins function (to do with traverseing down the N3 case) 2024-05-21 17:21:09 +01:00
e7edd06e54 fix compile errors in tiny_rope23.sml 2024-05-21 15:43:22 +01:00
640bc8cc31 finish coding last insert function (insLeaf) 2024-05-21 13:45:55 +01:00
ab6b08f3c9 code insert function for rope (except for the leaf case) 2024-05-21 13:24:04 +01:00
87d999ba84 update readme with benchmarks 2024-04-03 18:39:29 +01:00
23ec222404 fix typo in readme, and add line break 2024-03-24 13:12:11 +00:00
7ea58a2b38 add performance section to readme 2024-03-24 13:10:09 +00:00
14619b63c0 finish readme 2024-03-24 12:55:08 +00:00
e2b1d2c58c add examples of usage 2024-03-24 12:50:57 +00:00
c12aaea8c2 add higher order functions to fold through Rope and TinyRope 2024-03-24 10:06:26 +00:00
a7417d89af change utils.sml to use camelCase (except for svelte_arr/rust_arr/seph_arr/automerge_arr, because I don't want to create a diff for large files 2024-03-14 23:35:13 +00:00
f5649b4ee9 change utils.sml to run using rope (with line metadata) instead of tiny_rope, and verify that line metadata is correct 2024-03-14 23:29:10 +00:00
571b16ba6c add code for deleting from rope.sml 2024-03-14 23:05:36 +00:00
8ea6d2c1b7 add 'append' and 'appendLine' functions to rope 2024-03-14 12:22:27 +00:00
224226fea8 add toString function in ROPE signature defined in rope.sml 2024-03-14 09:38:37 +00:00
3f768bab4e add function to verify line metadata in rope.sml 2024-03-14 08:07:12 +00:00
e991156a3a code insert function function rope 2024-03-14 07:48:33 +00:00
02ec341ecb progress creating a rope (rope.sml) which holds line metadata 2024-03-13 09:48:34 +00:00
3e23e1e936 begin rope.sml which is meant to store line metadata 2024-03-13 07:37:45 +00:00
21fd98df8b add append function to tiny_rope.sml 2024-03-13 06:54:19 +00:00
7bd4fad8e8 remove brackets around one part in delN2Left, making it more consistent with other part 2024-03-13 06:37:59 +00:00
84d6dacdeb format rope.sml using smlfmt 2024-03-13 06:33:51 +00:00
8177c99ef7 convert snake_case names in rope.sml to camelCase (which is standard convention for Standard ML) 2024-03-13 06:20:10 +00:00
eadaf05f94 remove smlfmt binary 2024-02-15 19:49:37 +00:00
f9d3c4a080 amend formatting 2024-02-15 19:49:01 +00:00
424acf5603 amend ins_root function, which had some errors when porting over from OCaml 2024-02-15 19:46:40 +00:00