Simon Cruanes
e75d93bb9d
refactor and clarify cutoff in String.edit_distance
2021-04-08 11:20:54 -04:00
Simon Cruanes
45b3956421
improve test hash
2021-04-05 00:13:33 -04:00
Simon Cruanes
25c5eda528
doc: more docs for codegen
2021-04-03 18:54:07 -04:00
Simon Cruanes
4f68b0fc37
fix test for old ocaml
2021-04-03 18:12:03 -04:00
Simon Cruanes
2440092eb5
fix invalid test in intmap
2021-04-03 17:42:17 -04:00
Simon Cruanes
77e3e97dd0
perf: direct alias in CCHash.int
2021-04-03 17:42:17 -04:00
Simon Cruanes
6323bdc6d3
fix test in CCHash
2021-04-03 17:42:17 -04:00
Simon Cruanes
5bd031c3c2
add test executable for hash functions
2021-04-03 17:42:17 -04:00
Simon Cruanes
cf0d044407
refactor CCHash to use FNV in many combinators
2021-04-03 17:42:17 -04:00
Simon Cruanes
238123b955
move uniformity tests out of CCRandom
2021-04-03 17:42:17 -04:00
Simon Cruanes
7717cc13db
fix(ccint): make sure hash is always positive
2021-04-03 17:42:17 -04:00
Simon Cruanes
cc7799f379
perf(ccint): single implementation of popcount using int64
2021-04-03 17:42:17 -04:00
Simon Cruanes
ec796d5fc5
perf(int): use FNV for integer hashing
2021-04-03 17:42:17 -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
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
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
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
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
Simon Cruanes
447df826f1
move canonical sexps into their own module
2021-02-02 23:02:54 -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
23bcc8887c
feat: add CCEither module
2021-01-25 19:52:16 +01:00
JPR
383baf4464
Syncing comments
2021-01-25 15:57:03 +01:00
Simon Cruanes
ae886c2f08
add CCList.chunks
2021-01-24 11:18:53 -05:00
Simon Cruanes
f9e9c39c37
feat: add iter/seq functions to CCString
2021-01-12 11:53:37 -05:00
Simon Cruanes
fc57765c31
fix(ccint): pick popcount at runtime on 64 bits
...
(we can compile on 64 bits, at least for bytecode, and execute
on 32 bits native or jsoo's 32 bits; therefore we need to pick the
implementation at runtime).
2020-12-28 17:13:02 -05:00
Simon Cruanes
858dee7279
fix: in shims, use configurator properly to determine int size
...
close #346
2020-12-27 22:44:20 -05:00
Simon Cruanes
12ac1de588
be nicer to mac OS' lazy scheduler in tests
2020-12-22 10:45:43 -05:00
Kye W. Shi
fd1a43497d
CCImmutArray: add tests ( #344 )
...
CCImmutArray: add tests
2020-12-16 23:39:46 -05:00
Kye Shi
78681736cd
CCFormat: add @since tags for space/append/etc.
2020-12-14 13:36:35 -05:00
Kye W. Shi
82781aa9c7
CCFormat: List.iter instead of fold_left for append_l (more efficient)
...
Co-authored-by: Simon Cruanes <simon.cruanes.2007@m4x.org>
2020-12-14 13:36:35 -05:00
Kye Shi
d0b05fdb76
CCFormat: add append, append_l, infix ++ for sequencing
2020-12-14 13:36:35 -05:00