| @@ -32,7 +32,9 @@ void ArithmeticCPUKernel::AssignAdd(T *input1, const T *input2, T *out, size_t s | |||||
| template <typename T> | template <typename T> | ||||
| void ArithmeticCPUKernel::Add(const T *input1, const T *input2, T *out, size_t start, size_t end) { | void ArithmeticCPUKernel::Add(const T *input1, const T *input2, T *out, size_t start, size_t end) { | ||||
| for (size_t i = start; i < end; i++) { | for (size_t i = start; i < end; i++) { | ||||
| out[i] = input1[i] + input2[i]; | |||||
| std::vector<size_t> idx; | |||||
| GenIndex(i, &idx); | |||||
| out[i] = input1[idx[0]] + input2[idx[1]]; | |||||
| } | } | ||||
| } | } | ||||
| @@ -48,7 +50,9 @@ void ArithmeticCPUKernel::Sub(const T *input1, const T *input2, T *out, size_t s | |||||
| template <typename T> | template <typename T> | ||||
| void ArithmeticCPUKernel::Mul(const T *input1, const T *input2, T *out, size_t start, size_t end) { | void ArithmeticCPUKernel::Mul(const T *input1, const T *input2, T *out, size_t start, size_t end) { | ||||
| for (size_t i = start; i < end; i++) { | for (size_t i = start; i < end; i++) { | ||||
| out[i] = input1[i] * input2[i]; | |||||
| std::vector<size_t> idx; | |||||
| GenIndex(i, &idx); | |||||
| out[i] = input1[idx[0]] * input2[idx[1]]; | |||||
| } | } | ||||
| } | } | ||||