diff --git a/dynare++/sylv/cc/Vector.cc b/dynare++/sylv/cc/Vector.cc index f826fc960..8a8232d89 100644 --- a/dynare++/sylv/cc/Vector.cc +++ b/dynare++/sylv/cc/Vector.cc @@ -6,16 +6,12 @@ #include -#include -#include #include #include #include #include #include -ZeroPad zero_pad; - Vector::Vector(const Vector &v) : len(v.len), data{new double[len], [](double *arr) { delete[] arr; }} { @@ -156,19 +152,10 @@ void Vector::zeros() { if (s == 1) - { - double *p = base(); - for (int i = 0; i < len/ZeroPad::length; - i++, p += ZeroPad::length) - memcpy(p, zero_pad.getBase(), sizeof(double)*ZeroPad::length); - for (; p < base()+len; p++) - *p = 0.0; - } + std::fill_n(base(), len, 0.0); else - { - for (int i = 0; i < len; i++) - operator[](i) = 0.0; - } + for (int i = 0; i < len; i++) + operator[](i) = 0.0; } void @@ -410,8 +397,3 @@ ConstVector::print() const std::cout << i << '\t' << std::setw(8) << operator[](i) << std::endl; std::cout.flags(ff); } - -ZeroPad::ZeroPad() -{ - pad.fill(0.0); -} diff --git a/dynare++/sylv/cc/Vector.hh b/dynare++/sylv/cc/Vector.hh index eca0f4bc9..76183c6c7 100644 --- a/dynare++/sylv/cc/Vector.hh +++ b/dynare++/sylv/cc/Vector.hh @@ -9,7 +9,6 @@ * to avoid running virtual method invokation mechanism. Some * members, and methods are thus duplicated */ -#include #include #include @@ -216,19 +215,4 @@ public: void print() const; }; -class ZeroPad -{ -public: - static const int length = 16; -private: - std::array pad; -public: - ZeroPad(); - const double * - getBase() const - { - return pad.data(); - } -}; - #endif /* VECTOR_H */