stats.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef _STATS_H
  2. #define _STATS_H
  3. #include "bench.h"
  4. #include "timing.h"
  5. #define ABS(x) ((x) < 0 ? -(x) : (x))
  6. int int_compare(const void *a, const void *b);
  7. int uint64_compare(const void *a, const void *b);
  8. int double_compare(const void *a, const void *b);
  9. typedef int (*int_stat)(int *values, int size);
  10. typedef uint64 (*uint64_stat)(uint64 *values, int size);
  11. typedef double (*double_stat)(double *values, int size);
  12. int int_median(int *values, int size);
  13. uint64 uint64_median(uint64 *values, int size);
  14. double double_median(double *values, int size);
  15. int int_mean(int *values, int size);
  16. uint64 uint64_mean(uint64 *values, int size);
  17. double double_mean(double *values, int size);
  18. int int_min(int *values, int size);
  19. uint64 uint64_min(uint64 *values, int size);
  20. double double_min(double *values, int size);
  21. int int_max(int *values, int size);
  22. uint64 uint64_max(uint64 *values, int size);
  23. double double_max(double *values, int size);
  24. double int_stderr(int *values, int size);
  25. double uint64_stderr(uint64 *values, int size);
  26. double double_stderr(double *values, int size);
  27. double int_bootstrap_stderr(int *values, int size, int_stat f);
  28. double uint64_bootstrap_stderr(uint64 *values, int size, uint64_stat f);
  29. double double_bootstrap_stderr(double *values, int size, double_stat f);
  30. void regression(double *x, double *y, double *sig, int n,
  31. double *a, double *b, double *sig_a, double *sig_b,
  32. double *chi2);
  33. #endif /* _STATS_H */