36 lines
774 B
C++
36 lines
774 B
C++
#include "gtl_math_offset.h"
|
|
|
|
|
|
|
|
namespace gtl
|
|
{
|
|
namespace math
|
|
{
|
|
offset::offset(gtl::analog_data *data)
|
|
: analog_value(data)
|
|
, _sum(0)
|
|
{
|
|
_name = "offset";
|
|
}
|
|
|
|
void offset::before_copying_data(std::vector<qreal>::iterator begin, std::vector<qreal>::iterator end)
|
|
{
|
|
_sum -= std::accumulate(begin, end, 0.0);
|
|
}
|
|
|
|
void offset::after_copying_data(std::vector<qreal>::iterator begin, std::vector<qreal>::iterator end)
|
|
{
|
|
_sum += std::accumulate(begin, end, 0.0);
|
|
}
|
|
|
|
void offset::data_changed()
|
|
{
|
|
analog_value::data_changed();
|
|
|
|
_value = _sum/_data.size();
|
|
|
|
emit value_changed();
|
|
}
|
|
}
|
|
}
|