Lines Matching refs:CP

274 #define CP   (p->control_stack + p->control_top)  macro
297 cp = CP; \
337 if (CP->argcount != (n)) \
340 str, CP->argcount, n)); \
392 CP->op = &operator_done; in mpexpr_evaluate()
393 CP->argcount = 1; in mpexpr_evaluate()
432 TRACE (printf ("open paren for function \"%s\"\n", CP->op->name)); in mpexpr_evaluate()
434 if ((CP->op->type & MPEXPR_TYPE_MASK_ARGCOUNT) == MPEXPR_TYPE_NARY(0)) in mpexpr_evaluate()
468 if (PRECEDENCE_TEST_REDUCE (p->token_op->precedence, CP->op->precedence, in mpexpr_evaluate()
469 p->token_op->type, CP->op->type)) in mpexpr_evaluate()
473 p->token_op->precedence, CP->op->precedence, in mpexpr_evaluate()
482 if (CP->op->precedence != 0) in mpexpr_evaluate()
486 CP->op->name, CP->argcount)); in mpexpr_evaluate()
492 if (IS_PAIRWISE (CP->op->type) && CP->argcount >= 2) in mpexpr_evaluate()
495 CP->argcount--; in mpexpr_evaluate()
496 CONTROL_PUSH (CP->op, 2); in mpexpr_evaluate()
500 CP->argcount++; in mpexpr_evaluate()
527 CP->op->name, CP->op->type)); in mpexpr_evaluate()
548 p->control_top, CP->op->name, CP->op->type, CP->argcount)); in mpexpr_evaluate()
551 CP->op->type & MPEXPR_TYPE_MASK_ARGCOUNT)); in mpexpr_evaluate()
552 switch (CP->op->type & MPEXPR_TYPE_MASK_ARGCOUNT) { in mpexpr_evaluate()
559 switch (CP->op->type & MPEXPR_TYPE_MASK_ARGSTYLE) { in mpexpr_evaluate()
561 (* (mpexpr_fun_0ary_t) CP->op->fun) (sp); in mpexpr_evaluate()
564 (*p->mpX_set_si) (sp, (long) (* (mpexpr_fun_i_0ary_t) CP->op->fun) ()); in mpexpr_evaluate()
579 switch (CP->op->type & MPEXPR_TYPE_MASK_SPECIAL) { in mpexpr_evaluate()
591 (sp, (long) ((* (mpexpr_fun_i_unary_t) CP->op->fun) (sp) == 0)); in mpexpr_evaluate()
596 if (CP->op->type == MPEXPR_TYPE_OPENPAREN) in mpexpr_evaluate()
602 if (CP->op->precedence == 0) in mpexpr_evaluate()
611 CP->op->type & MPEXPR_TYPE_MASK_SPECIAL)); in mpexpr_evaluate()
615 switch (CP->op->type & MPEXPR_TYPE_MASK_ARGSTYLE) { in mpexpr_evaluate()
617 (* (mpexpr_fun_unary_t) CP->op->fun) (sp, sp); in mpexpr_evaluate()
621 (* (mpexpr_fun_unary_ui_t) CP->op->fun) in mpexpr_evaluate()
626 (sp, (long) (* (mpexpr_fun_i_unary_t) CP->op->fun) (sp)); in mpexpr_evaluate()
632 (long) (* (mpexpr_fun_i_unary_ui_t) CP->op->fun) in mpexpr_evaluate()
647 if ((CP->op->type & MPEXPR_TYPE_PAIRWISE) in mpexpr_evaluate()
648 && CP->op->precedence == 0 in mpexpr_evaluate()
649 && CP->argcount == 1) in mpexpr_evaluate()
658 if (CP->op->type & MPEXPR_TYPE_MASK_CMP) in mpexpr_evaluate()
660 int type = CP->op->type; in mpexpr_evaluate()
661 int cmp = (* (mpexpr_fun_i_binary_t) CP->op->fun) in mpexpr_evaluate()
672 switch (CP->op->type & MPEXPR_TYPE_MASK_SPECIAL) { in mpexpr_evaluate()
683 if (CP->op->type != MPEXPR_TYPE_QUESTION) in mpexpr_evaluate()
686 CP->argcount--; in mpexpr_evaluate()
693 (sp, (* (mpexpr_fun_i_unary_t) CP->op->fun) (sp) in mpexpr_evaluate()
702 ((* (mpexpr_fun_i_unary_t) CP->op->fun) (sp) in mpexpr_evaluate()
703 && (* (mpexpr_fun_i_unary_t) CP->op->fun) (sp+1))); in mpexpr_evaluate()
711 ((* (mpexpr_fun_i_unary_t) CP->op->fun) (sp) in mpexpr_evaluate()
712 || (* (mpexpr_fun_i_unary_t) CP->op->fun) (sp+1))); in mpexpr_evaluate()
717 if ((* (mpexpr_fun_i_binary_t) CP->op->fun) (sp, sp+1) < 0) in mpexpr_evaluate()
722 if ((* (mpexpr_fun_i_binary_t) CP->op->fun) (sp, sp+1) > 0) in mpexpr_evaluate()
731 switch (CP->op->type & MPEXPR_TYPE_MASK_ARGSTYLE) { in mpexpr_evaluate()
733 (* (mpexpr_fun_binary_t) CP->op->fun) (sp, sp, sp+1); in mpexpr_evaluate()
737 (* (mpexpr_fun_binary_ui_t) CP->op->fun) in mpexpr_evaluate()
743 (long) (* (mpexpr_fun_i_binary_t) CP->op->fun) (sp, sp+1)); in mpexpr_evaluate()
749 (long) (* (mpexpr_fun_i_binary_ui_t) CP->op->fun) in mpexpr_evaluate()
770 switch (CP->op->type & MPEXPR_TYPE_MASK_ARGSTYLE) { in mpexpr_evaluate()
772 (* (mpexpr_fun_ternary_t) CP->op->fun) (sp, sp, sp+1, sp+2); in mpexpr_evaluate()
776 (* (mpexpr_fun_ternary_ui_t) CP->op->fun) in mpexpr_evaluate()
782 (long) (* (mpexpr_fun_i_ternary_t) CP->op->fun) in mpexpr_evaluate()
789 (long) (* (mpexpr_fun_i_ternary_ui_t) CP->op->fun) in mpexpr_evaluate()
800 TRACE (printf ("unrecognised operator type: 0x%X\n", CP->op->type)); in mpexpr_evaluate()