This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Eigen : Unaligned array assert in Microsoft VS2005

Tags: None
(comma "," separated)
pnswdv
Registered Member
Posts
1
Karma
0
Although the help page http://eigen.tuxfamily.org/dox/WrongStackAlignment.html indicates that this error has so far been associated with GCC, I recently experienced it in Microsoft Visual C++ 2005.

I had declared 2 matrices and set one to the inverse of the other:
void fn ()
{
//
//......
//
Matrix<double,2,2> V;
Matrix<double,2,2> Vinv;
//
// V gets initialized...
//
Vinv = V.inverse(); // throws assertion
//
// ....
//
}

This worked fine until (apparently) changes to code position caused by work being done elsewhere on my app caused Eigen to consistently start throwing the assertion.

By declaring them using the Microsoft __declspec macro I was able to force these matrices to be aligned, and the problem APPEARS to have gone away.

__declspec(align(16)) Matrix<double,2,2> V;
__declspec(align(16)) Matrix<double,2,2> Vinv;

I hope this helps somebody!


Bookmarks



Who is online

Registered users: Bing [Bot], blue_bullet, Google [Bot], rockscient, Yahoo [Bot]