void do_binop (stack *stack, bigint_binop binop) { DEBUGS ('m', show_stack (stack)); bigint *right = pop_stack (stack); bigint *left = pop_stack (stack); bigint *answer = binop (left, right); push_stack (stack, answer); free_bigint (left); free_bigint (right); }
void do_binop (stack *stack, bigint_binop binop) { DEBUGS ('m', show_stack (stack)); bigint *right = pop_stack (stack); // bigint *left = pop_stack (stack); // take the two variables bigint *answer = binop (left, right); //do the binop passed push_stack (stack, answer); free_bigint (left); free_bigint (right); }
void do_binop (stack *stack, bigint_binop binop) { if (size_stack(stack) < 2){ fprintf(stderr, "mydc: stack empty\n"); return; } bigint *right = pop_stack (stack); bigint *left = pop_stack (stack); bigint *answer = binop (left, right); push_stack (stack, answer); free_bigint (left); free_bigint (right); }
void do_binop (stack *stack, bigint_binop binop) { DEBUGS ('m', show_stack (stack)); if (size_stack(stack) >= 2) { bigint *right = pop_stack (stack); bigint *left = pop_stack (stack); bigint *answer = binop (left, right); push_stack (stack, answer); free_bigint (left); free_bigint (right); } else { fprintf(stderr, "mydc: stack empty\n"); } }
void do_clear (stack *stack) { DEBUGF ('m', "stack=%p\n", stack); while (! empty_stack (stack)) { bigint *bigint = pop_stack (stack); free_bigint (bigint); } }
void do_clear (stack *stack) { while (! empty_stack (stack)) { bigint *bigint = pop_stack (stack); free_bigint (bigint); } }