kdata_mean_alloc —
allocate mean data for plotting
#include <cairo.h>
#include <kplot.h>
struct kdata *
kdata_mean_alloc(struct kdata
*source);
The kdata_mean_alloc creates a
reference-counted data sources for
kplot(3).
It attaches to zero or more existing data sources and, when they update
their values per-index, tracks the mean of the sequence of updated values.
Thus, if a mean data source is attached to two sources, its y-value for pair
zero will reflect the mean of all values set to pair zero's y-value in the
sources. Note that the indexing is absolute: if attached to a bucket or
histogram, pair index zero refers to the first internal data storage, not
storage mapped from the bucket or histogram.
If source is not
NULL, the internal buffer is initialised to the size
of the source and all of its x values. The mean is initialised to zero with
zero updates. Otherwise, the internal buffer is sized to zero.
Further data sources may be attached with
kdata_mean_attach(3).
kdata_mean_alloc returns
NULL if memory allocation failed.
kdata_mean_attach(3),
kplot(3)
Donald E. Knuth,
The Art of Computer Programming: Seminumerical Algorithms,
3rd Edition, Addison-Wesley, Volume
2, 232, Boston,
1998.
The per-bucket mean value can process a maximum number of
SIZE_MAX updates.