[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r5487 - in /trunk/getfem/src: getfem_fem_level_set.cc g
From: |
logari81 |
Subject: |
[Getfem-commits] r5487 - in /trunk/getfem/src: getfem_fem_level_set.cc getfem_mesh_fem_sum.cc |
Date: |
Mon, 21 Nov 2016 22:25:50 -0000 |
Author: logari81
Date: Mon Nov 21 23:25:49 2016
New Revision: 5487
URL: http://svn.gna.org/viewcvs/getfem?rev=5487&view=rev
Log:
some trivial flattening of nested loops
Modified:
trunk/getfem/src/getfem_fem_level_set.cc
trunk/getfem/src/getfem_mesh_fem_sum.cc
Modified: trunk/getfem/src/getfem_fem_level_set.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_fem_level_set.cc?rev=5487&r1=5486&r2=5487&view=diff
==============================================================================
--- trunk/getfem/src/getfem_fem_level_set.cc (original)
+++ trunk/getfem/src/getfem_fem_level_set.cc Mon Nov 21 23:25:49 2016
@@ -214,17 +214,15 @@
std::vector<bool> zid;
find_zone_id(c, zid, c.xfem_side());
- for (dim_type i = 0; i < c.N() ; ++i) {
- for (dim_type j = 0; j < c.N() ; ++j) {
- for (dim_type q = 0; q < target_dim(); ++q) {
- unsigned cnt = 0;
- for (size_type d = 0; d < bfem->nb_dof(0); ++d, ++itf) {
- if (dofzones[d]) { /* enriched dof ? */
- for (size_type k = 0; k < dofzones[d]->size(); ++k, ++cnt)
- *it++ = zid[cnt] ? *itf : 0;
- } else *it++ = *itf;
- }
- }
+ dim_type NNdim = dim_type(gmm::sqr(c.N())*target_dim());
+ for (dim_type ijq = 0; ijq < NNdim ; ++ijq) {
+ unsigned cnt = 0;
+ for (size_type d = 0; d < bfem->nb_dof(0); ++d, ++itf) {
+ if (dofzones[d]) /* enriched dof ? */
+ for (size_type k = 0; k < dofzones[d]->size(); ++k, ++cnt)
+ *it++ = zid[cnt] ? *itf : 0;
+ else
+ *it++ = *itf;
}
}
assert(it == t.end());
Modified: trunk/getfem/src/getfem_mesh_fem_sum.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_mesh_fem_sum.cc?rev=5487&r1=5486&r2=5487&view=diff
==============================================================================
--- trunk/getfem/src/getfem_mesh_fem_sum.cc (original)
+++ trunk/getfem/src/getfem_mesh_fem_sum.cc Mon Nov 21 23:25:49 2016
@@ -228,16 +228,12 @@
c0.hess_base_value(hess_e[k]);
}
- for (dim_type j = 0; j < c.N() ; ++j) {
- for (dim_type k = 0; k < c.N() ; ++k) {
- for (dim_type q = 0; q < target_dim(); ++q) {
- for (size_type f = 0; f < pfems.size(); ++f) {
- itf = hess_e[f].begin()
- + ((j * c.N() + k) * target_dim() + q) * pfems[f]->nb_dof(cv);
- for (size_type i = 0; i < pfems[f]->nb_dof(cv); ++i)
- *it++ = *itf++;
- }
- }
+ dim_type NNdim = dim_type(gmm::sqr(c.N())*target_dim());
+ for (dim_type jkq = 0; jkq < NNdim ; ++jkq) {
+ for (size_type f = 0; f < pfems.size(); ++f) {
+ itf = hess_e[f].begin() + (jkq * pfems[f]->nb_dof(cv));
+ for (size_type i = 0; i < pfems[f]->nb_dof(cv); ++i)
+ *it++ = *itf++;
}
}
assert(it == t.end());
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r5487 - in /trunk/getfem/src: getfem_fem_level_set.cc getfem_mesh_fem_sum.cc,
logari81 <=