ringbuf.h 566 B

12345678910111213141516171819202122232425
  1. #ifndef _JUMP_RINGBUF_H
  2. #define _JUMP_RINGBUF_H 1
  3. #define RINGBUF_MAX_SIZE 100
  4. struct ringbuf
  5. {
  6. float buf[RINGBUF_MAX_SIZE];
  7. float sum;
  8. float sum2;
  9. int cap;
  10. int p;
  11. int full;
  12. };
  13. extern int ringbuf_init(struct ringbuf *ringbuf, int cap);
  14. extern void ringbuf_push(struct ringbuf *ringbuf, float value);
  15. extern int ringbuf_size(struct ringbuf *ringbuf);
  16. extern float ringbuf_mean(struct ringbuf *ringbuf);
  17. extern float ringbuf_variance(struct ringbuf *ringbuf);
  18. extern float ringbuf_stdev(struct ringbuf *ringbuf);
  19. #endif
  20. /* vim: set ts=8 sw=8 sts=8 noet: */