mean.h
00001 #warning revise me!
00002
00003
00014 #define DECLARE_SMEAN(name, Type, SumType) \
00015 struct { \
00016 SumType sum; \
00017 Type result; \
00018 int count; \
00019 } name = { 0, 0, 0 }
00020
00026 #define SMEAN_ADD(mean, sample, max_samples) \
00027 do { \
00028 (mean).sum += (sample); \
00029 if ((mean).count++ >= (max_samples)) \
00030 { \
00031 (mean).result = (mean).sum / (max_samples); \
00032 (mean).sum = 0; \
00033 (mean).count = 0; \
00034 } \
00035 } while (0)
00036
00040 #define SMEAN_GET(mean) ((mean).result)
00041