[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