Library Functions Manual
NAME kdata_mean_alloc — allocate mean data for plotting
LIBRARY library “libkplot”
SYNOPSIS #include <cairo.h>
struct kdata *
(struct kdata *source
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.
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)
RETURN VALUES kdata_mean_alloc returns NULL if memory allocation failed.
SEE ALSO kdata_mean_attach(3)
Donald E. Knuth, The Art of Computer Programming: Seminumerical Algorithms, 3rd Edition, Addison-Wesley, Volume 2, 232, Boston, 1998.
CAVEATS The per-bucket mean value can process a maximum number of SIZE_MAX updates.