Накопительная сумма с Эйгеном - PullRequest
0 голосов
/ 27 марта 2020

Моя цель - иметь part_sum () для работы с Eigen Arrays. Похоже, у Eigen-массивов нет членов с именами .begin () и .end (). Код ниже НЕ компилируется. Любые идеи, чтобы исправить это без явной реализации part_sum () (что я уже сделал) и без использования std :: vector?

#include <iostream>
#include <Eigen/Dense>
#include <numeric>

using namespace Eigen;
using namespace std;

int main(void)
{
  int N = 5;
  ArrayXf A(N,1);
  ArrayXf C(N,1);

  A(0) = 1.0;
  A(1) = 2.0;
  A(2) = 3.0;
  A(3) = 4.0;
  A(4) = 5.0;

  partial_sum(A.begin(), A.end(), C.begin(), plus<float>());

  printf("Output vector C \n");
  for (int i=0; i<5; i++)
  {
    cout << C(i) << endl;
  }
}
...