Hi! It seems as if there is no easy means to store extra data for the whole life-time of the rpn_calc loop.
The reason why I ask is because I am implementing the predictperc function, which is similar to predict and predictsigma but it gives the X percentile. For this I need to order the data (depending on arguments maybe 50-60 floats), which means allocating memory (the exactly same amount for every time rpn_calc gets called) to keep all those values sorted to find the correct percentile. Unfortunately the way rrd_calc works, there is no data that is kept between calculations, to avoid the repeated create/teardowns of this structures... Seems as if an "easy" way would be enhancing rpnp_t by adding this this: void *extra; /* extra data used during setup */ void (*free_extra)(void *); /* a function used to free the extra structure... * - if null, then a "normal free" is done */ and some code in rpnstack_free to call the "free" functionpointer with the argument of extra. (or free directly if the pointer is NULL) So would something like the above be acceptable? Thanks, Martin _______________________________________________ rrd-developers mailing list rrd-developers@lists.oetiker.ch https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers