[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r4886 - in /trunk/getfem/src: dal_static_stored_objects
From: |
Yves . Renard |
Subject: |
[Getfem-commits] r4886 - in /trunk/getfem/src: dal_static_stored_objects.cc getfem/bgeot_tensor.h getfem_generic_assembly.cc |
Date: |
Mon, 16 Mar 2015 16:32:08 -0000 |
Author: renard
Date: Mon Mar 16 17:32:08 2015
New Revision: 4886
URL: http://svn.gna.org/viewcvs/getfem?rev=4886&view=rev
Log:
correction for _GLIBCXX_DEBUG mode, the sequel
Modified:
trunk/getfem/src/dal_static_stored_objects.cc
trunk/getfem/src/getfem/bgeot_tensor.h
trunk/getfem/src/getfem_generic_assembly.cc
Modified: trunk/getfem/src/dal_static_stored_objects.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/dal_static_stored_objects.cc?rev=4886&r1=4885&r2=4886&view=diff
==============================================================================
--- trunk/getfem/src/dal_static_stored_objects.cc (original)
+++ trunk/getfem/src/dal_static_stored_objects.cc Mon Mar 16 17:32:08 2015
@@ -179,7 +179,7 @@
{
getfem::local_guard guard = locks_.get_lock();
std::list<pstatic_stored_object>::iterator it;
- for (it = to_delete.begin(); it != to_delete.end(); ++it)
+ for (it = to_delete.begin(); it != to_delete.end(); )
{
stored_key_tab::iterator itk = stored_keys_.find(*it);
stored_object_tab::iterator ito = end();
@@ -193,8 +193,8 @@
delete ito->first.p;
erase(ito);
it = to_delete.erase(it);
- if (it == to_delete.end()) break;
- --it;
+ } else {
+ ++it;
}
}
}
Modified: trunk/getfem/src/getfem/bgeot_tensor.h
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/bgeot_tensor.h?rev=4886&r1=4885&r2=4886&view=diff
==============================================================================
--- trunk/getfem/src/getfem/bgeot_tensor.h (original)
+++ trunk/getfem/src/getfem/bgeot_tensor.h Mon Mar 16 17:32:08 2015
@@ -301,14 +301,14 @@
pf += dd; pft += ddt;
} else {
const_iterator pl = pft; iterator pt = tmp->begin();
- *pt = *pl;
+ *pt++ = *pl;
for(size_type k = 1; k < dimt; ++k, ++pt) { pl += cot; *pt = *pl;}
iterator pff = pf;
for (size_type k = 0; k < dim; ++k) {
if (k) pff += co;
*pff = T(0); pt = tmp->begin(); pl = m.begin() + k;
- *pff += (*pl) * (*pt);
+ *pff += (*pl) * (*pt); ++pt;
for (size_type l = 1; l < dimt; ++l, ++pt) {
pl += dim;
*pff += (*pl) * (*pt);
@@ -370,7 +370,7 @@
}
else {
const_iterator pl = pft; iterator pt = tmp->begin();
- *pt = *pl;
+ *pt++ = *pl;
for(size_type k = 1; k < dimt; ++k, ++pt) { pl += cot; *pt = *pl; }
iterator pff = pf; pl = m.begin();
Modified: trunk/getfem/src/getfem_generic_assembly.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_generic_assembly.cc?rev=4886&r1=4885&r2=4886&view=diff
==============================================================================
--- trunk/getfem/src/getfem_generic_assembly.cc (original)
+++ trunk/getfem/src/getfem_generic_assembly.cc Mon Mar 16 17:32:08 2015
@@ -2681,10 +2681,11 @@
// Performs t(i*Qmult+j, k*Qmult + j) = Z(i,k);
for (size_type k = 0; k < target_dim; ++k) {
base_tensor::iterator it = t.begin() + (ss * k);
- for (size_type i = 0; i < ndof; ++i, ++itZ, it += Qmult) {
+ for (size_type i = 0; i < ndof; ++i, ++itZ) {
+ if (i) it += Qmult;
base_tensor::iterator it2 = it;
- for (size_type j = 0; j < Qmult; ++j, it2 += sss)
- *it2 = *itZ;
+ *it2 = *itZ;
+ for (size_type j = 1; j < Qmult; ++j) { it2 += sss; *it2 = *itZ; }
}
}
}
@@ -2733,10 +2734,11 @@
for (size_type l = 0; l < N; ++l)
for (size_type k = 0; k < target_dim; ++k) {
base_tensor::iterator it = t.begin() + (ss * k + ssss*l);
- for (size_type i = 0; i < ndof; ++i, ++itZ, it += Qmult) {
+ for (size_type i = 0; i < ndof; ++i, ++itZ) {
+ if (i) it += Qmult;
base_tensor::iterator it2 = it;
- for (size_type j = 0; j < Qmult; ++j, it2 += sss)
- *it2 = *itZ;
+ *it2 = *itZ;
+ for (size_type j = 1; j < Qmult; ++j) { it2 += sss; *it2 = *itZ;
}
}
}
}
@@ -2786,10 +2788,11 @@
for (size_type l = 0; l < N2; ++l)
for (size_type k = 0; k < target_dim; ++k) {
base_tensor::iterator it = t.begin() + (ss * k + ssss*l);
- for (size_type i = 0; i < ndof; ++i, ++itZ, it += Qmult) {
+ for (size_type i = 0; i < ndof; ++i, ++itZ) {
+ if (i) it += Qmult;
base_tensor::iterator it2 = it;
- for (size_type j = 0; j < Qmult; ++j, it2 += sss)
- *it2 = *itZ;
+ *it2 = *itZ;
+ for (size_type j = 1; j < Qmult; ++j) { it2 += sss; *it2 = *itZ;
}
}
}
}
@@ -2824,10 +2827,11 @@
// Performs t(i*Qmult+j, k*Qmult + j) = Z(i,k);
for (size_type k = 0; k < target_dim; ++k) {
base_tensor::iterator it = t.begin() + (ss * k);
- for (size_type i = 0; i < ndof; ++i, ++itZ, it += Qmult) {
+ for (size_type i = 0; i < ndof; ++i, ++itZ) {
+ if (i) it += Qmult;
base_tensor::iterator it2 = it;
- for (size_type j = 0; j < Qmult; ++j, it2 += sss)
- *it2 = *itZ;
+ *it2 = *itZ;
+ for (size_type j = 1; j < Qmult; ++j) { it2 += sss; *it2 = *itZ; }
}
}
}
@@ -2861,10 +2865,11 @@
for (size_type l = 0; l < N; ++l)
for (size_type k = 0; k < target_dim; ++k) {
base_tensor::iterator it = t.begin() + (ss * k + ssss*l);
- for (size_type i = 0; i < ndof; ++i, ++itZ, it += Qmult) {
+ for (size_type i = 0; i < ndof; ++i, ++itZ) {
+ if (i) it += Qmult;
base_tensor::iterator it2 = it;
- for (size_type j = 0; j < Qmult; ++j, it2 += sss)
- *it2 = *itZ;
+ *it2 = *itZ;
+ for (size_type j = 1; j < Qmult; ++j) { it2 += sss; *it2 = *itZ;
}
}
}
}
@@ -2899,10 +2904,11 @@
for (size_type l = 0; l < N2; ++l)
for (size_type k = 0; k < target_dim; ++k) {
base_tensor::iterator it = t.begin() + (ss * k + ssss*l);
- for (size_type i = 0; i < ndof; ++i, ++itZ, it += Qmult) {
+ for (size_type i = 0; i < ndof; ++i, ++itZ) {
+ if (i) it += Qmult;
base_tensor::iterator it2 = it;
- for (size_type j = 0; j < Qmult; ++j, it2 += sss)
- *it2 = *itZ;
+ *it2 = *itZ;
+ for (size_type j = 1; j < Qmult; ++j) { it2 += sss; *it2 = *itZ;
}
}
}
}
@@ -3038,7 +3044,8 @@
it != t.end(); ++it, ++it1) {
*it = scalar_type(0);
base_tensor::iterator it2 = it1;
- for (size_type i = 0; i < n; ++i, it2 += s) *it += *it2;
+ *it += *it2;
+ for (size_type i = 1; i < n; ++i) { it2 += s; *it += *it2; }
}
return 0;
}
@@ -3061,11 +3068,13 @@
j < nb; ++it, ++it1, ++j) {
scalar_type tr(0);
base_tensor::iterator it2 = it1;
- for (size_type i = 0; i < n; ++i, it2 += s) tr += *it2;
+ tr += *it2;
+ for (size_type i = 1; i < n; ++i) { it2 += s; tr += *it2; }
tr /= scalar_type(n);
base_tensor::iterator it3 = it;
- for (size_type i = 0; i < n; ++i, it3 += s) *it3 -= tr;
+ *it3 -= tr;
+ for (size_type i = 1; i < n; ++i) { it3 += s; *it3 -= tr; }
}
return 0;
}
@@ -3349,10 +3358,10 @@
base_tensor::iterator it1=tc1.begin(), it2=tc2.begin(), it2end=it2 + s2;
for (base_tensor::iterator it = t.begin(); it != t.end(); ++it) {
- scalar_type a(0);
base_tensor::iterator it11 = it1, it22 = it2;
- for (size_type i = 0; i < nn; ++i)
- { a+= (*it11) * (*it22); it11 += s1; it22 += s2; }
+ scalar_type a = (*it11) * (*it22);
+ for (size_type i = 1; i < nn; ++i)
+ { it11 += s1; it22 += s2; a += (*it11) * (*it22); }
*it = a;
++it2; if (it2 == it2end) { it2 = tc2.begin(), ++it1; }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r4886 - in /trunk/getfem/src: dal_static_stored_objects.cc getfem/bgeot_tensor.h getfem_generic_assembly.cc,
Yves . Renard <=