getfem-commits
[Top][All Lists]
Advanced

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

[Getfem-commits] r5161 - /trunk/getfem/src/getfem_generic_assembly.cc


From: Yves . Renard
Subject: [Getfem-commits] r5161 - /trunk/getfem/src/getfem_generic_assembly.cc
Date: Sun, 29 Nov 2015 13:10:21 -0000

Author: renard
Date: Sun Nov 29 14:10:20 2015
New Revision: 5161

URL: http://svn.gna.org/viewcvs/getfem?rev=5161&view=rev
Log:
Allowing multiple tests functions for a macro

Modified:
    trunk/getfem/src/getfem_generic_assembly.cc

Modified: trunk/getfem/src/getfem_generic_assembly.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_generic_assembly.cc?rev=5161&r1=5160&r2=5161&view=diff
==============================================================================
--- trunk/getfem/src/getfem_generic_assembly.cc (original)
+++ trunk/getfem/src/getfem_generic_assembly.cc Sun Nov 29 14:10:20 2015
@@ -5419,7 +5419,7 @@
       ga_tree tree;
       ga_read_string(get_macro(name), tree);
       ga_semantic_analysis(get_macro(name), tree, *this, meshdim, ref_elt_dim,
-                           false, ignore_X);
+                           false, ignore_X, 3);
       GMM_ASSERT1(tree.root, "Invalid macro");
       mt->ptree = new ga_tree(tree);
       mt->meshdim = meshdim;
@@ -5978,6 +5978,8 @@
   //              store them,
   //          2 : cut incompatible test function branches with respect to the
   //              one in workspace.selected_pair
+  //          3 : do not complain about incompatible test functions neither
+  //              store them,
   static void ga_semantic_analysis(const std::string &expr, ga_tree &tree,
                                    const ga_workspace &workspace,
                                    size_type meshdim,
@@ -6395,7 +6397,7 @@
                   (child1->interpolate_name_test2))
                 compatible = false;
               break;
-            case 1: break;
+            case 1: case 3: break;
             default: GMM_ASSERT1(false, "Unknown option");
             }
           }
@@ -7208,6 +7210,8 @@
           tree.copy_node(ma_tree.root, pnode->parent, newnode);
           delete pnode;
           pnode = newnode;
+         ga_node_analysis(expr, tree, workspace, pnode, meshdim,
+                          ref_elt_dim, eval_fixed_size, ignore_X, option);
         } else {
           // Search for a variable name with optional gradient, Hessian,
           // divergence or test functions




reply via email to

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