3 #ifndef SZA_UTIL_ARRAYDATAFRAMEMANAGERINTEGRATOR_H
4 #define SZA_UTIL_ARRAYDATAFRAMEMANAGERINTEGRATOR_H
17 #define ADFM_INTEGRATE_FN(fn) void (fn)(unsigned nEl, DataType::Type type, void* fromPtr, void* toPtr, unsigned nAvg)
22 class ArrayDataFrameManagerIntegrator {
29 ADFM_INTEGRATE_FN(*packFn_);
35 Register(
const Register& reg);
36 Register(Register& reg);
37 void operator=(
const Register& reg);
38 void operator=(Register& reg);
45 ArrayDataFrameManagerIntegrator();
50 virtual ~ArrayDataFrameManagerIntegrator();
52 void initialize(ArrayMapDataFrameManager* fromFrame, ArrayMapDataFrameManager* toFrame);
57 void resetRunningAvgCounter();
58 void incrementRunningAvgCounter();
60 unsigned getNFrameIntegrated();
65 std::vector<Register> regs_;
69 static ADFM_INTEGRATE_FN(addSum);
73 static ADFM_INTEGRATE_FN(addRunningAverage);
77 static ADFM_INTEGRATE_FN(addUnion);
81 static ADFM_INTEGRATE_FN(addLast);
85 static ADFM_INTEGRATE_FN(addFirst);
94 #endif // End #ifndef SZA_UTIL_ARRAYDATAFRAMEMANAGERINTEGRATOR_H
Tagged: Wed Sep 1 03:59:25 UTC 2004.