Commit graph

2136 commits

Author SHA1 Message Date
Simon Cruanes
6d1f0b9957 rename Random.sample_without_{replacement,duplicates}
- deprecate sample_without_replacement
- use `~cmp` as the named argument, more uniform

close #130
2018-10-16 11:09:27 -05:00
Simon Cruanes
f692fe5dd9 chore: update travis so it's faster 2018-10-13 19:28:04 -05:00
Simon Cruanes
a3222c0908 chore: update opam file to opam2 2018-10-13 19:09:36 -05:00
Simon Cruanes
1d3ba3a6f1 doc: fix small inaccuracy in comments and API 2018-10-13 19:09:36 -05:00
Simon Cruanes
b7e8dcb5ff chore: better deps for unlabel 2018-10-13 19:09:36 -05:00
Christopher Zimmermann
f02f291c7a Create CCEqualLabels 2018-10-13 19:09:36 -05:00
Christopher Zimmermann
c6a3fe86eb Create CCArray_sliceLabels 2018-10-13 19:09:35 -05:00
Christopher Zimmermann
7822f3a045 Create CCStringLabels
CAVE: there is a breaking interface change for String.is_sub
2018-10-13 19:09:35 -05:00
Christopher Zimmermann
f6e1d81ed7 Generate unlabelled interfaces from labelled ones
* add unlabel.ml which parses interfaces and removes labels in function declarations and docstrings. This is a quick hack, but it does the job.
 * an attribute [@keep_label] can be added to the labelled arguments to mark labels like ~cmp which should stay in the "unlabelled" interface
 * While augmenting the labelled interfaces I stumbled across some inconsistencies between the currend labelled / non-labelled interfaces. I used the labelling that made most sense to me and added a "FIXME" comment.
 * Maybe we should break backwards compatibility at some point and name the comparison arguments to the sorting functions in CCArrayLabels.ml ~cmp instead of ~f ?
2018-10-13 19:09:35 -05:00
Simon Cruanes
2a9795090b test: improve perf by changing random gens 2018-10-13 18:52:22 -05:00
Simon Cruanes
e22a55668d style edit 2018-10-08 20:48:02 -05:00
Francois Berenger
1e21784ce1 added List.counts, related to List.count (#230)
- add `List.count_true_false` related to `List.count`
2018-10-08 20:43:06 -05:00
Hongchang Wu
3ec63feded Update authors 2018-10-05 00:55:32 -05:00
Hongchang Wu
e8617c4f05 Add CCResult.get_or_failwith 2018-10-05 00:55:32 -05:00
Simon Cruanes
3b1de9a1c8 chore(build): migrate to dune 1.0 2018-09-16 19:53:40 -05:00
Simon Cruanes
058c99b2a9
Create CODE_OF_CONDUCT.md 2018-09-16 22:09:01 +00:00
Metin Akat
b8fb429c0b Add myself to the authors file 2018-09-02 10:56:11 -05:00
Metin Akat
e447f5a1bc Version annotation of CCInt.( ** ) 2018-09-02 10:56:11 -05:00
Metin Akat
7d25684941 Support using ** for exponentiation 2018-09-02 10:56:11 -05:00
Simon Cruanes
13fe66c968 chore: update dune to use dune-config 2018-08-15 13:38:58 -05:00
Simon Cruanes
5f521f6fa2 chore: add 4.07 to travis 2018-08-07 08:39:43 -05:00
Simon Cruanes
9238daf7c3 fix: compat with 4.07 2018-08-07 03:23:11 -05:00
Simon Cruanes
d4a9b0a8d1 prepare for 2.3 2018-08-06 11:52:01 -05:00
Simon Cruanes
e530547356 feat(vector): add Vector.{filter,filter_map}_in_place 2018-07-26 04:39:06 -05:00
Simon Cruanes
c800250038 perf: tweaks in CCVector 2018-07-25 14:32:28 -05:00
Simon Cruanes
551c837398 test: more tests for vector 2018-07-25 14:32:28 -05:00
Simon Cruanes
e510e153f8 test: add more tests in vector 2018-07-25 14:32:28 -05:00
Simon Cruanes
1998ed5090 fix(vector): bugfix in filter 2018-07-25 14:32:28 -05:00
Simon Cruanes
7f1c6ae66f feat(intmap): add is_empty function 2018-06-11 20:10:45 -05:00
Simon Cruanes
aa4b2a4680 fix(build): remove [@inline] attributes since they break on 4.02.3 2018-06-11 19:01:06 -05:00
Simon Cruanes
3e5813d72f perf(hashtrie): use int64 for 64-bits branching factor and popcount
also update style
2018-06-05 00:31:56 -05:00
Simon Cruanes
5523ed428c feat(intmap): add CCIntMap.{filter,filter_map,merge} 2018-06-04 23:36:15 -05:00
Simon Cruanes
ca0521512f test(intmap): add some tests for CCIntMap, also improve style 2018-06-04 23:32:08 -05:00
Fabian
0c48cff2a1 Vector push benchmark: Push all values to the same container 2018-06-01 11:32:06 -05:00
Fabian
35065393c5 More benchmarks for immutable vectors
- Add Map as a reference, as this is the only efficient implementation
  in OCaml's standard library
- Add Clarity.Vector from the clarity library
- New benchmarks for set at index and push

What's missing:

- CCFun_vec.set (no implementation)
- CCRAL.push and Clarity.Vector.push were missing and implemented
  inefficiently in terms of append
2018-06-01 11:32:06 -05:00
Simon Cruanes
1adfc01cf0 fix small detail s in CCHeap 2018-05-29 11:17:11 -05:00
juloo
ba633d5d3c Add CCHeap.Make_from_compare (#225)
Allow to pass modules implementing `compare` without implementing `leq`
2018-05-29 11:15:38 -05:00
Simon Cruanes
1a4919af29 add relation ops CCList.{group_by,join,join_by,join_all_by,group_join_by} 2018-05-29 11:04:08 -05:00
juloo
cbeab54be4 Fix Int32 and Int64 operators are not visible (#224)
Fix visibility of Int32 and Int64 infix operators

Operators are defined in the Infix module.
This module was included in the .ml file but not in the .mli file
2018-05-29 09:57:04 -05:00
Simon Cruanes
8060980266 test(float): add some tests for FP min/max 2018-05-14 18:09:39 -05:00
Simon Cruanes
841dac234a fix(float): make Float.{min,max} compliant with revised IEEE754
closes #220
2018-05-14 18:07:38 -05:00
Simon Cruanes
e825bf2916 prepare for 2.2 2018-05-10 23:13:01 -05:00
Simon Cruanes
ba87e105a0 fix(arrayLabels): compatibility with 4.07 2018-05-07 13:41:19 -05:00
JPR
822b9177e1 Improving comments presentation 2018-05-07 08:46:38 -05:00
Simon Cruanes
becc1007c2 chore: reindent 2018-04-25 20:17:32 -05:00
Etienne Millon
b27acb9bd2 Add CCOpt.return_if 2018-04-25 20:16:23 -05:00
Etienne Millon
bbda79bbcc Add CCOpt.flatten 2018-04-24 17:03:45 -05:00
Kate
d8caef8c02 Add CCString.{,r}drop_while 2018-04-20 19:13:49 -05:00
Simon Cruanes
9e105a3fbc fix stupid typo 2018-04-12 15:47:23 -05:00
Simon Cruanes
ac314aefe7 chore: remove dead link in string doc 2018-04-12 12:11:49 -05:00