int main(int argc, char **argv) { plan_tests(14); OverwritingRingBuffer<unsigned,4> buffer; ok1(buffer.empty()); buffer.push(1); ok1(!buffer.empty()); ok1(buffer.peek() == 1); ok1(buffer.shift() == 1); ok1(buffer.empty()); buffer.push(2); buffer.push(3); buffer.push(4); buffer.push(5); ok1(!buffer.empty()); OverwritingRingBuffer<unsigned,4>::const_iterator i = buffer.begin(); OverwritingRingBuffer<unsigned,4>::const_iterator end = buffer.end(); ok1(*i == 3); ++i; ok1(*i == 4); ++i; ok1(*i == 5); ++i; ok1(i == end); ok1(buffer.shift() == 3); ok1(buffer.shift() == 4); ok1(buffer.shift() == 5); ok1(buffer.empty()); return exit_status();; }
double GetDeltaY() const { return buffer.last().y - buffer.peek().y; }
/** * Add a new sample. */ void Push(double x, double y) { buffer.push({x, y}); }
double GetFirstX() const { return buffer.peek().x; }
double GetLastX() const { return buffer.last().x; }
bool IsEmpty() const { return buffer.empty(); }
void Clear() { buffer.clear(); }
/** * Add a new sample. */ void Push(fixed x, fixed y) { buffer.push({x, y}); }
fixed GetLastX() const { return buffer.last().x; }
fixed GetFirstX() const { return buffer.peek().x; }