2#include "Function2Pt.h"
7 Arithmetic<T>::Arithmetic(int n)
10 m_reduce = Reduction<T>::Create(n);
15 Arithmetic<T>::~Arithmetic()
27 Arithmetic<T>* Arithmetic<T>::Create(int n)
29 return new Arithmetic<T>(n);
33 T Arithmetic<T>::Dot(DArray<T>& xArr, DArray<T>& yArr)
35 if (m_buf.size() != xArr.size())
37 m_buf.resize(xArr.size());
39 Function2Pt::multiply(m_buf, xArr, yArr);
40 return m_reduce->accumulate(m_buf.begin(), m_buf.size());
43 template class Arithmetic<int>;
44 template class Arithmetic<float>;
45 template class Arithmetic<double>;