package biocaml
Install
Dune Dependency
Authors
Maintainers
Sources
md5=e292efa2f61fec33dad63ec897106f59
sha512=35519bf3b1e67a9191ef9bb74eba0dae941e0d05bad89076a36f507dc5c2d105a03c1c917d5a3f7ed9d1da4acbf3199582f78c308aa2a5a22c21f743945c852b
doc/biocaml.unix/Biocaml_unix/Accu/index.html
Module Biocaml_unix.Accu
Source
A datastructure (based on Hashtbl) to accumulate values.
An Accu.t
can be seen as a generalized histogram: samples are mapped to bins, and each bin has a corresponding value which may be its size or its contents depending on the need.
Generic API
General type for accumulators: 'sample
s are mapped to 'bin
s, and the 'accu
mulated value for a 'bin
is updated with an 'increment
val create :
?n:int ->
bin:('a -> 'b) ->
zero:'d ->
add:('c -> 'd -> 'd) ->
unit ->
('a, 'b, 'c, 'd) t
create ~n ~zero ~bin ~add
creates an accumulator, which maps instances to bins with bin
, uses zero
as a neutral element (that is the value associated to a bin before any value has been added to it) and updates the value of a bin with add
. n
is an estimation of the maximum number of bins.
add accu x y
updates the value in accu
for the bin of x
by an increment y
get accu x
returns the value associated to b
in accu
.
Counters and histograms
val product :
?filter:('a -> 'b -> bool) ->
('a -> 'b -> 'c) ->
'a list ->
'b list ->
('c * int) Stream.t
product filter f l1 l2
computes an histogram of values returned by f when it is applied for all combinations of elements in l1
and l2
such that the predicate filter
is true