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
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users