#pragma once template struct DcCancelation { T x_n1; T y_n1; T R; DcCancelation(T R) : R(R){}; T update(T x) { T y = x - this->x_n1 + this->R * this->y_n1; this->x_n1 = x; this->y_n1 = y; return y; }; };