diff options
author | 2019-03-16 11:22:19 -0700 | |
---|---|---|
committer | 2019-03-16 11:22:19 -0700 | |
commit | 4844eb55a7c1dca03f15d07ff22a34e3ab3d134c (patch) | |
tree | 8c505360af925348f3a6bce31f9efcb1ed1eea5f /Source/Parser/wp_parser_y.c | |
parent | 52f718d62605d964fb7a099e50d3f0a45167e654 (diff) | |
download | WarpX-4844eb55a7c1dca03f15d07ff22a34e3ab3d134c.tar.gz WarpX-4844eb55a7c1dca03f15d07ff22a34e3ab3d134c.tar.zst WarpX-4844eb55a7c1dca03f15d07ff22a34e3ab3d134c.zip |
add unary plus sign and fix a bug
Diffstat (limited to 'Source/Parser/wp_parser_y.c')
-rw-r--r-- | Source/Parser/wp_parser_y.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Source/Parser/wp_parser_y.c b/Source/Parser/wp_parser_y.c index c4815a2a9..21b6cc96e 100644 --- a/Source/Parser/wp_parser_y.c +++ b/Source/Parser/wp_parser_y.c @@ -443,7 +443,8 @@ wp_ast_optimize (struct wp_node* node) if (node->l->type == WP_NUMBER && node->r->type == WP_NUMBER) { - double v = wp_ast_eval(node); + double v = ((struct wp_number*)(node->l))->value + + ((struct wp_number*)(node->r))->value; ((struct wp_number*)node)->type = WP_NUMBER; ((struct wp_number*)node)->value = v; } @@ -505,7 +506,8 @@ wp_ast_optimize (struct wp_node* node) if (node->l->type == WP_NUMBER && node->r->type == WP_NUMBER) { - double v = wp_ast_eval(node); + double v = ((struct wp_number*)(node->l))->value + - ((struct wp_number*)(node->r))->value; ((struct wp_number*)node)->type = WP_NUMBER; ((struct wp_number*)node)->value = v; } @@ -567,7 +569,8 @@ wp_ast_optimize (struct wp_node* node) if (node->l->type == WP_NUMBER && node->r->type == WP_NUMBER) { - double v = wp_ast_eval(node); + double v = ((struct wp_number*)(node->l))->value + * ((struct wp_number*)(node->r))->value; ((struct wp_number*)node)->type = WP_NUMBER; ((struct wp_number*)node)->value = v; } @@ -629,7 +632,8 @@ wp_ast_optimize (struct wp_node* node) if (node->l->type == WP_NUMBER && node->r->type == WP_NUMBER) { - double v = wp_ast_eval(node); + double v = ((struct wp_number*)(node->l))->value + / ((struct wp_number*)(node->r))->value; ((struct wp_number*)node)->type = WP_NUMBER; ((struct wp_number*)node)->value = v; } @@ -688,7 +692,7 @@ wp_ast_optimize (struct wp_node* node) wp_ast_optimize(node->l); if (node->l->type == WP_NUMBER) { - double v = wp_ast_eval(node); + double v = -((struct wp_number*)(node->l))->value; ((struct wp_number*)node)->type = WP_NUMBER; ((struct wp_number*)node)->value = v; } |