40 accumulationBuffer() += (*this)[
b];
44 (*this)[
b] = Field<Type>(bufferLength(), pTraits<Type>::zero);
46 bufferOffsets_[
b] = 0;
65 const label bufferLength,
66 const label bufferingInterval
89 averagesTaken_(bA.averagesTaken()),
90 bufferOffsets_(bA.bufferOffsets())
106 const label nBuffers,
107 const label bufferLength,
108 const label bufferingInterval
120 bufferOffsets_.
setSize(nBuffers);
122 forAll(bufferOffsets_, bO)
124 bufferOffsets_[bO] = -bufferingInterval * bO - 1;
135 label bufferToRefill = -1;
137 for (label
b = 0;
b < nBuffers();
b++)
141 label& bO = bufferOffsets_[
b];
145 buf[bO] = valuesToAdd[
b];
150 if (bO == bufferLength())
152 accumulateAndResetBuffer(
b);
157 if (bufferToRefill != -1)
159 FatalErrorIn(
"bufferedAccumulator<Type>::addToBuffers ")
160 <<
"More than one bufferedAccumulator accumulation "
161 <<
"buffer filled at once, this is considered an error."
169 return bufferToRefill;
178 Field<Type> bA = accumulationBuffer()/averagesTaken_;
186 "bufferedAccumulator<Type>::averagedbufferedAccumulator() const"
187 ) <<
"Averaged correlation function requested but averagesTaken = "
189 <<
". Returning empty field."
219 "bufferedAccumulator<Type>::operator=(const bufferedAccumulator&)"
220 ) <<
"Attempted assignment to self"
226 averagesTaken_ = rhs.averagesTaken();
228 bufferOffsets_ = rhs.bufferOffsets();