Commit graph

2374 commits

Author SHA1 Message Date
Simon Cruanes
2ed9a3fbb8 wip: perf(flat_tbl): use powers-of-two as table sizes 2021-04-03 14:30:11 -04:00
Simon Cruanes
4980d84515 refactor flat_tbl to not store hash 2021-04-03 01:11:07 -04:00
Simon Cruanes
edccae0c89 update benchs 2021-04-03 01:11:07 -04:00
Simon Cruanes
76a3fb953e refactor(flat_tbl): use only one array of slots + inline record 2021-04-03 01:11:07 -04:00
Simon Cruanes
bee90ee6ea feat: add Flat_tbl to containers-data
experimental Robin-hood hashtable
2021-04-03 01:11:07 -04:00
Simon Cruanes
da2abe6e60 fix(ccint): make sure hash is always positive 2021-04-03 01:11:07 -04:00
Simon Cruanes
6eab4269f1 perf(ccint): single implementation of popcount using int64 2021-04-03 01:11:07 -04:00
Simon Cruanes
8edddf5414 perf(int): use FNV for integer hashing 2021-04-03 01:11:07 -04:00
Simon Cruanes
739dd4412c prepare for 3.3 2021-04-01 22:16:40 -04:00
Bertrand Bonnefoy-Claudet
13028c3d17 CCSeq: Add for_all and exists
The functions are implemented the same way as in `oseq` and their
documentation is inspired from their counterparts in `Stdlib.List`.
2021-03-29 18:16:44 -04:00
Simon Cruanes
bfaffc5c39 refactor: have bench compile again 2021-03-28 18:15:45 -04:00
Simon Cruanes
f41887c367 refactor(pool): less locking, fix deadlock, more parallelism 2021-03-28 18:15:45 -04:00
Simon Cruanes
40c05cc7e3 wip: feat(pool): keep one idle thread
see #360; in combination with max_size=1 it means the pool contains
exactly one thread.
2021-03-28 18:15:45 -04:00
Simon Cruanes
8982f87ca7 perf: small optim in Pool.sequence_a 2021-03-28 18:15:45 -04:00
Simon Cruanes
dd1cf2a046 perf(pool): try to inline with_lock 2021-03-28 18:15:45 -04:00
Simon Cruanes
178f7dc92f feat(sexp): expose last location in decoder 2021-03-25 15:20:51 -04:00
Matt Bray
0a54024143 doc: clarify CCOpt.filter 2021-03-19 10:37:28 -04:00
Simon Cruanes
0de515b94b attempt to fix tests 2021-03-13 16:56:21 -05:00
Fardale
2c96dd1b55 feat(CCChar): add CCChar.Infix 2021-03-12 18:27:53 +01:00
Fardale
4ad331fbe3 feat(CCString): add CCString.foldi 2021-03-12 18:13:29 +01:00
Simon Cruanes
5ad8914e4c feat: add code-generator for optimal bitfields; add tests 2021-03-02 09:40:42 -05:00
Simon Cruanes
5593e28431 feat(CCFormat): add string_lines combinator 2021-02-26 17:25:33 -05:00
Simon Cruanes
89d6feed98 fix 2021-02-25 12:59:56 -05:00
Fardale
1975c98025 fix: wrong name in 6b52ec69
partition_filter_either -> partition_map_either
2021-02-25 18:51:33 +01:00
Fardale
6b52ec6945 feat(CCList): update with regards to partition_map
- Add partition_filter_map
- Deprecate partition_map
- Add partition_map_either that match the partition_map from the std
2021-02-25 17:31:15 +01:00
Simon Cruanes
30121b8d2c
Merge pull request #358 from copy/master
Fix integer overflow warning on jsoo (#346)
2021-02-22 20:56:41 -05:00
Fabian
dcf1b4aa6c Fix integer overflow warning on jsoo (#346)
- Remove popcount from shims
- Express large integer literals using bitshifts
2021-02-21 15:53:54 -05:00
Simon Cruanes
b5ecb273ef feat: add CCList.cons'
close #354
2021-02-12 14:35:29 -05:00
Simon Cruanes
2f7366be59
Merge pull request #351 from darrenldl/add-fuzz-helper-scripts
Small upgrade to fuzzing suite scripts
2021-02-12 10:54:54 -05:00
Simon Cruanes
01f70cc802 update code and comments 2021-02-07 13:03:53 -05:00
Arnaud Spiwack
85decd732c
CCMap: implement {of,add}_*_with family of function with update (#352)
This is comparable in conciseness and clarity as an explicit try/with
but it paves the way for a more efficient implementation using the
`update` from the Stdlib which, I presume, uses a one-pass algorithm.
2021-02-07 13:03:33 -05:00
Simon Cruanes
3bee276028 try to fix stupid CI 2021-02-06 12:22:20 -05:00
Simon Cruanes
0ef515f1af feat: add CCHashtbl.{of,add}_{list,seq,iter}_with 2021-02-06 12:16:03 -05:00
Simon Cruanes
51bb9175f3 add CCMap.of_{list,iter,seq}_with functions 2021-02-06 11:50:41 -05:00
Fardale
c4aabbf699 doc: fix doc in CCParse 2021-02-05 15:25:25 +01:00
Darren Ldl
d276208c81 Updated fuzz/run.sh with an upgraded version 2021-02-05 15:29:06 +11:00
Darren Ldl
8efa095a11 Updated .gitignore to ignore fuzz-logs/ 2021-02-05 15:28:45 +11:00
Darren Ldl
5de909a534 Copied fuzzing helper scripts over 2021-02-05 15:20:55 +11:00
Simon Cruanes
447df826f1 move canonical sexps into their own module 2021-02-02 23:02:54 -05:00
Simon Cruanes
176b2e5ff2 cleanup of makefile 2021-02-02 22:48:16 -05:00
Simon Cruanes
427c15e472 add fuzzing for csexp 2021-02-02 22:48:08 -05:00
Simon Cruanes
b2b1d2b5fa feat(ccsexp): printer and parser for canonical S-exprs 2021-02-02 22:16:15 -05:00
Simon Cruanes
0097fd3c3d prepare for 3.2 2021-02-01 10:40:28 -05:00
Fardale
f313361df7 try to fix CI for gh-pages 2021-01-26 12:03:12 +01:00
Fardale
5520735a77 fix: enable jekyll on gh-pages 2021-01-26 11:55:50 +01:00
Fardale
179d19e444 fix(CI): correct the name of the main branch 2021-01-26 11:43:07 +01:00
Fardale
b34c3fe75a try to enable auto deploy of doc 2021-01-26 11:41:44 +01:00
Fardale
d9df726ca0 clean: remove stuff specific for ocaml < 4.03 2021-01-26 11:27:50 +01:00
Simon Cruanes
3068aacc84
Merge pull request #349 from c-cube/cceither
feat: add CCEither module
2021-01-25 14:02:07 -05:00
Fardale
23bcc8887c feat: add CCEither module 2021-01-25 19:52:16 +01:00