getfem-commits
[Top][All Lists]
Advanced

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

[Getfem-commits] (no subject)


From: Yves Renard
Subject: [Getfem-commits] (no subject)
Date: Thu, 10 May 2018 05:01:00 -0400 (EDT)

branch: master
commit f62201b9ebc734aa3e05ca60a3aafd978b14bf09
Author: Yves Renard <address@hidden>
Date:   Thu May 10 11:00:48 2018 +0200

    A very small modifications, improving error messages
---
 src/getfem/getfem_generic_assembly_tree.h | 7 +------
 src/getfem_generic_assembly_tree.cc       | 8 ++++++++
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/getfem/getfem_generic_assembly_tree.h 
b/src/getfem/getfem_generic_assembly_tree.h
index 967cd0d..9ca3bd9 100644
--- a/src/getfem/getfem_generic_assembly_tree.h
+++ b/src/getfem/getfem_generic_assembly_tree.h
@@ -431,12 +431,7 @@ namespace getfem {
     void duplicate_with_substraction(pga_tree_node pnode)
     { duplicate_with_operation(pnode, GA_MINUS); }
     void insert_node(pga_tree_node pnode, GA_NODE_TYPE node_type);
-    void add_child(pga_tree_node pnode)
-    { pga_tree_node newnode=new ga_tree_node(); pnode->adopt_child(newnode); }
-    void add_child(pga_tree_node pnode, GA_NODE_TYPE node_type) {
-      pga_tree_node newnode=new ga_tree_node();
-      newnode->node_type = node_type;pnode->adopt_child(newnode);
-    }
+    void add_child(pga_tree_node pnode, GA_NODE_TYPE node_type = GA_NODE_VOID);
     void swap(ga_tree &tree)
     { std::swap(root, tree.root); std::swap(current_node, tree.current_node); }
 
diff --git a/src/getfem_generic_assembly_tree.cc 
b/src/getfem_generic_assembly_tree.cc
index 0e5e81d..4491330 100644
--- a/src/getfem_generic_assembly_tree.cc
+++ b/src/getfem_generic_assembly_tree.cc
@@ -445,6 +445,7 @@ namespace getfem {
     pga_tree_node newop = new ga_tree_node(op_type, pnode->pos, pnode->expr);
     newop->children.resize(2, nullptr);
     newop->children[0] = pnode;
+    newop->pos = pnode->pos; newop->expr = pnode->expr;
     newop->parent = pnode->parent;
     if (pnode->parent)
       pnode->parent->replace_child(pnode, newop);
@@ -454,10 +455,17 @@ namespace getfem {
     copy_node(pnode, newop, newop->children[1]);
   }
 
+  void ga_tree::add_child(pga_tree_node pnode, GA_NODE_TYPE node_type) {
+    pga_tree_node newnode=new ga_tree_node();
+    newnode->pos = pnode->pos; newnode->expr = pnode->expr;
+    newnode->node_type = node_type; pnode->adopt_child(newnode);
+  }
+
   void ga_tree::insert_node(pga_tree_node pnode, GA_NODE_TYPE node_type) {
     pga_tree_node newnode = new ga_tree_node();
     newnode->node_type = node_type;
     newnode->parent = pnode->parent;
+    newnode->pos = pnode->pos; newnode->expr = pnode->expr;
     if (pnode->parent)
       pnode->parent->replace_child(pnode, newnode);
     else



reply via email to

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