| 722 | } |
| 723 | |
| 724 | static int ap_expr_eval_binary_op(ap_expr_eval_ctx_t *ctx, |
| 725 | const ap_expr_t *info, |
| 726 | const ap_expr_t *args) |
| 727 | { |
| 728 | ap_expr_op_binary_t *op_func = (ap_expr_op_binary_t *)info->node_arg1; |
| 729 | const void *data = info->node_arg2; |
| 730 | const ap_expr_t *a1 = args->node_arg1; |
| 731 | const ap_expr_t *a2 = args->node_arg2; |
| 732 | |
| 733 | AP_DEBUG_ASSERT(info->node_op == op_BinaryOpInfo); |
| 734 | AP_DEBUG_ASSERT(args->node_op == op_BinaryOpArgs); |
| 735 | AP_DEBUG_ASSERT(op_func != NULL); |
| 736 | AP_DEBUG_ASSERT(data != NULL); |
| 737 | return (*op_func)(ctx, data, ap_expr_eval_word(ctx, a1), |
| 738 | ap_expr_eval_word(ctx, a2)); |
| 739 | } |
| 740 | |
| 741 | |
| 742 | static int ap_expr_eval(ap_expr_eval_ctx_t *ctx, const ap_expr_t *node) |
no test coverage detected