getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] r4600 - in /trunk/getfem/src: getfem/getfem_omp.h getfe


From: andriy . andreykiv
Subject: [Getfem-commits] r4600 - in /trunk/getfem/src: getfem/getfem_omp.h getfem_fem.cc
Date: Fri, 11 Apr 2014 08:45:52 -0000

Author: andrico
Date: Fri Apr 11 10:45:51 2014
New Revision: 4600

URL: http://svn.gna.org/viewcvs/getfem?rev=4600&view=rev
Log:
fixed a macro 

Modified:
    trunk/getfem/src/getfem/getfem_omp.h
    trunk/getfem/src/getfem_fem.cc

Modified: trunk/getfem/src/getfem/getfem_omp.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/getfem_omp.h?rev=4600&r1=4599&r2=4600&view=diff
==============================================================================
--- trunk/getfem/src/getfem/getfem_omp.h        (original)
+++ trunk/getfem/src/getfem/getfem_omp.h        Fri Apr 11 10:45:51 2014
@@ -226,9 +226,9 @@
   if(!ptr_##Var.get()) {ptr_##Var.reset(new Type());} \
   Type& Var=*ptr_##Var;
 
-#define DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(Type, Var, arguments) \
+#define DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(Type, Var, ...) \
   static boost::thread_specific_ptr<Type> ptr_##Var; \
-  if(!ptr_##Var.get()) {ptr_##Var.reset(new Type##arguments);} \
+  if(!ptr_##Var.get()) {ptr_##Var.reset(new Type##(__VA_ARGS__));} \
   Type& Var=*ptr_##Var;
 
 #else
@@ -238,8 +238,8 @@
 #define        DEFINE_STATIC_THREAD_LOCAL(Type,Var) \
   static Type Var;
 
-#define DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(Type, Var, arguments) \
-  static Type Var##arguments;
+#define DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(Type, Var, ...) \
+  static Type Var##(__VA_ARGS__);
 
 #endif
 

Modified: trunk/getfem/src/getfem_fem.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_fem.cc?rev=4600&r1=4599&r2=4600&view=diff
==============================================================================
--- trunk/getfem/src/getfem_fem.cc      (original)
+++ trunk/getfem/src/getfem_fem.cc      Fri Apr 11 10:45:51 2014
@@ -1755,7 +1755,7 @@
     DEFINE_STATIC_THREAD_LOCAL(bgeot::pgeotrans_precomp, pgp);
     DEFINE_STATIC_THREAD_LOCAL(pfem_precomp, pfp);
     DEFINE_STATIC_THREAD_LOCAL_INITIALIZED(bgeot::pgeometric_trans, 
pgt_stored, 0);
-    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(base_matrix, K, (2, 2));
+    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(base_matrix, K, 2, 2);
     dim_type N = dim_type(G.nrows());
     GMM_ASSERT1(N == 2, "Sorry, this version of argyris "
                "element works only on dimension two.")
@@ -1794,7 +1794,7 @@
       M(5+6*k, 3+6*k) = c*c;     M(5+6*k, 4+6*k) = c*d;       M(5+6*k, 5+6*k) 
= d*d; 
     }
     
-    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(base_matrix, W, (3, 21));
+    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(base_matrix, W, 3, 21);
     base_small_vector norient(M_PI, M_PI * M_PI);
     if (pgt->is_linear()) gmm::lu_inverse(K); 
     for (unsigned i = 18; i < 21; ++i) {
@@ -1813,11 +1813,11 @@
       for (unsigned j = 0; j < 21; ++j)
        W(i-18, j) = t(j, 0, 0) * v[0] + t(j, 0, 1) * v[1];
     }
-    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(base_matrix,A,(3,3));
-    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(bgeot::base_vector, w, (3));
-    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(bgeot::base_vector, coeff, (3));
-    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(gmm::sub_interval, SUBI, (18,3));
-    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(gmm::sub_interval, SUBJ, (0,3));
+    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(base_matrix,A,3,3);
+    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(bgeot::base_vector, w, 3);
+    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(bgeot::base_vector, coeff, 3);
+    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(gmm::sub_interval, SUBI, 18,3);
+    DEFINE_STATIC_THREAD_LOCAL_CONSTRUCTED(gmm::sub_interval, SUBJ, 0,3);
     gmm::copy(gmm::sub_matrix(W, SUBJ, SUBI), A);
     gmm::lu_inverse(A);
     gmm::copy(gmm::transposed(A), gmm::sub_matrix(M, SUBI));




reply via email to

[Prev in Thread] Current Thread [Next in Thread]