Как круговое смещение 2D собственного массива? - PullRequest
0 голосов
/ 11 сентября 2018

Каков наилучший (под которым я подразумеваю самый быстрый и / или наиболее эффективный) способ выполнения кругового сдвига на двумерном массиве Eigen?

Например, я хотел бы циклически сдвинуть ArrayXXd направо.Я думаю, что могу сделать что-то вроде следующего:

circShiftRight (ArrayXXd &arraytoshift)
{
    Matrix<double, Dynamic, 1> tmp;

    tmp = arraytoshift.col (arraytoshift.cols ()-1);

    arraytoshift.rightCols(_radForceVelocity.cols()-1) = arraytoshift.leftCols(_radForceVelocity.cols()-1).eval ();

    arraytoshift.col(0) = tmp;
}

но будет ли это работать и есть ли лучший способ?Я предполагаю, что .eval() необходимо, чтобы избежать Aliasing .Я новичок в использовании Eigen Library.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...