Commit graph

242 commits

Author SHA1 Message Date
Simon Cruanes
69e8f7abf8 Merge pull request #60 from johanneskloos/master
Make `CCPersistentHashtbl.S.merge` more general.
2016-03-14 13:56:26 +01:00
Simon Cruanes
0c04df58b0 update CCHet to not use Obj.magic; add test 2016-03-11 21:20:25 +01:00
Simon Cruanes
3a34cc9aa8 add CCHet, heterogeneous containers (table/map) indexed by keys
Difference with CCMix{tbl,map} is that there is no other key than the
polymorphic injection.
2016-03-11 16:11:16 +01:00
jkloos
fecbd7683a Make CCPersistentHashtbl.S.merge more general.
This patch brings the merge function of CCPersistentHashtbl
in line with the merge functions of other maps
(Map, BatMap from batteries). In particular, its signature
changes from the restrictive
  merge: (key -> 'a option -> 'a option -> 'a option) ->
    'a t -> 'a t -> 'a t
to a more general
  merge: (key -> 'a option -> 'b option -> 'c option) ->
    'a t -> 'b t -> 'c t
2016-03-09 11:28:55 +01:00
Simon Cruanes
574b4ac62e add CCImmutArray into containers.data 2016-03-01 20:31:53 +01:00
Simon Cruanes
a2179d4355 prepare for 0.16 2016-02-24 22:08:26 +01:00
Simon Cruanes
db1de6e6e6 add CCGraph.make and utils 2016-02-21 21:45:14 +01:00
Simon Cruanes
1993eabd21 breaking: change the API of CCMixmap
- make it easier to use |> with CCMixmap
- add test and example
2016-02-19 19:58:21 +01:00
Simon Cruanes
52f585d27b headers 2016-02-19 19:44:39 +01:00
Simon Cruanes
03a29d72cb optional argument ~eq to CCGraph.Dot.pp 2015-12-31 16:18:33 +01:00
Simon Cruanes
d569cf59bb prepare for 0.15 2015-12-22 10:34:14 +01:00
Simon Cruanes
112dd7da1b doc 2015-12-22 10:21:27 +01:00
Simon Cruanes
c58d31ed98 doc 2015-12-15 16:49:32 +01:00
Simon Cruanes
9cddc2bcf1 some benchmarks for graphs 2015-12-14 14:57:04 +01:00
Simon Cruanes
99919ae1d3 more cache friendliness 2015-11-28 12:43:50 +01:00
Simon Cruanes
0ec5545564 wip: CCAllocCache, an allocation cache for short-lived arrays 2015-11-28 12:10:03 +01:00
Fourchaux
44387de784 Correction typos (fichiers src) 2015-11-08 22:27:59 +01:00
Simon Cruanes
60aea81750 prepare for 0.14 2015-11-08 13:04:09 +01:00
Simon Cruanes
7105221ff0 add a test in CCGraph 2015-10-23 18:38:29 +02:00
Simon Cruanes
e1e51470f1 add CCHashtbl.add mimicking the stdlib Hashtbl.add 2015-10-22 22:43:00 +02:00
Simon Cruanes
54c2e4541e add CCPersistentHashtbl.stats 2015-10-21 22:48:51 +02:00
Simon Cruanes
15d5da628d reimplementation of CCPersistentHashtbl 2015-10-21 22:38:48 +02:00
Simon Cruanes
219e06c1fe update tests so they run faster 2015-09-27 19:27:44 +02:00
Simon Cruanes
044cbf0c20 prepare for 0.13 2015-09-23 16:26:07 +02:00
Simon Cruanes
4dc91894af more tests 2015-09-22 13:55:26 +02:00
Simon Cruanes
3c233d9cf3 use more labels in CCHashtrie,CCRAL,CCWBTree 2015-09-21 17:18:43 +02:00
Simon Cruanes
f63fd099b0 utils 2015-09-19 18:06:08 +02:00
Simon Cruanes
18289b3b72 refactor CCRAL 2015-09-19 17:57:36 +02:00
Simon Cruanes
b2c5d944f7 add many functions to CCRAL 2015-09-19 17:37:54 +02:00
Simon Cruanes
f685303a32 optim in CCHashtrie with more compact assoc-lists 2015-09-19 14:35:17 +02:00
Simon Cruanes
359740a587 more tests 2015-09-19 12:41:02 +02:00
Simon Cruanes
13842375a2 api change for CCHashtrie:
- hide implementation details (arrays)
- remove `A32`
- introduce new `Transient` system for fast batch modifications
2015-09-19 02:02:22 +02:00
Simon Cruanes
384d81945e more tests 2015-09-18 22:51:37 +02:00
Simon Cruanes
eee89aa7a4 testing frenzy 2015-09-16 21:59:30 +02:00
Simon Cruanes
f296e77f63 optimize a bit the tests 2015-09-16 20:22:24 +02:00
Simon Cruanes
eb1c9bc0be move many tests into their modules with qtest 2015-09-16 16:44:10 +02:00
Simon Cruanes
ada364ae3a add more tests 2015-09-16 14:47:10 +02:00
Simon Cruanes
4eb20ab3db use raw quickcheck test 2015-09-16 14:47:10 +02:00
Simon Cruanes
b12e7e7f8f use combinators from next version of qtest 2015-09-16 14:47:10 +02:00
Simon Cruanes
421cb1332b new tests in CCTrie; bugfix in CCTrie.below 2015-09-16 14:10:57 +02:00
Simon Cruanes
e9a3cbdc62 variance annotation 2015-09-15 01:27:54 +02:00
Simon Cruanes
1e9e17a8b5 add new random test 2015-09-14 02:59:00 +02:00
Simon Cruanes
1dad12868e bugfix in CCWBTree (return the correct exn) 2015-09-14 02:58:49 +02:00
Simon Cruanes
47d5e52224 add some tests and use hidden feature of qtest! 2015-09-13 21:45:40 +02:00
Simon Cruanes
6c16656da0 doc 2015-09-11 22:06:09 +02:00
Simon Cruanes
46201b6e85 remove warning from file; add warning in .merlin 2015-09-11 15:12:24 +02:00
Simon Cruanes
d8931e3602 fix CCWBTree.split 2015-09-11 09:25:55 +02:00
Simon Cruanes
3d035e05cd wip: fix CCWBTree.{split,merge}; add tests 2015-09-09 23:13:56 +02:00
Simon Cruanes
5e5d192448 implement merge and split for CCWBTree 2015-09-09 19:29:17 +02:00
Simon Cruanes
c2c344e8fc test 2015-09-08 00:12:38 +02:00