Dear
Yves
After months of stable working in Visual Studio 2010 the getfem++ lib is failed on my desktop
I'm rebuilding the getfem and trying to pass a simple tests via test_assembly.cc
It fails on the first calculation of gradient while performing
ctx.pf()->real_grad_base_value(ctx, t);
It goes to mat_transp_reduction method and dies then inside the last loop
iterator pff = pf;
for (size_type k = 0; k < dim; ++k, pff += co) {
*pff = T(0); pt = tmp->begin(); pl = m.begin() + k;
for (size_type l = 0; l < dimt; ++l, ++pt, pl += dim)
*pff += (*pl) * (*pt);
}
once the error
_Myiter& operator+=(difference_type _Off)
{ // increment by integer
#if _ITERATOR_DEBUG_LEVEL == 2
if (this->_Getcont() == 0
|| this->_Ptr + _Off < ((_Myvec *)this->_Getcont())->_Myfirst
|| ((_Myvec *)this->_Getcont())->_Mylast < this->_Ptr + _Off)
{ // report error
_DEBUG_ERROR("vector iterator + offset out of range");
_SCL_SECURE_OUT_OF_RANGE;
}
occurs in std include\vector file
I believe it can not perform pl += dim anymore.
I'm really frustrated since it out of my control. I rebuilt it with many compiler/linker options but cannot get a working library anymore
Unfortunately, I don't understand this part of the code well so it's hard to me rewriting mat_transp_reduction in more correct manner.
Yves, if you have any idea why it could die here please advise how to rewrite mat_transp_reduction method?
What the difference between mat_transp_reduction and mat_reduction methods? In mat_reduction you just apply++pl but not pl += dim
I will try to rebuild the getfem on different Visual Studio(2008,2013) but even it fixes the problem it's probably better to fix the reason(unstable code pieces) .
Regards, Egor