void rpn_e(void) { number num; CHECK_MPFR(mpfr_const_euler(&num._value.mpfr, s_mpfr_rnd)); _stack->push_back(&num, num.size(), cmd_number); ((number*)_stack->back())->ensure_significand(); } void rpn_log() { MIN_ARGUMENTS(1); ARG_MUST_BE_OF_TYPE(0, cmd_number); floating_t* left = &((number*)_stack->get_obj(0))->_value; CHECK_MPFR(mpfr_log10(&left->mpfr, &left->mpfr, s_mpfr_rnd)); } void rpn_alog() { MIN_ARGUMENTS(1); ARG_MUST_BE_OF_TYPE(0, cmd_number); floating_t* left = &((number*)_stack->get_obj(0))->_value; CHECK_MPFR(mpfr_exp10(&left->mpfr, &left->mpfr, s_mpfr_rnd)); } void rpn_ln() { MIN_ARGUMENTS(1); ARG_MUST_BE_OF_TYPE(0, cmd_number); floating_t* left = &((number*)_stack->get_obj(0))->_value; CHECK_MPFR(mpfr_log(&left->mpfr, &left->mpfr, s_mpfr_rnd)); } void rpn_exp() { MIN_ARGUMENTS(1); ARG_MUST_BE_OF_TYPE(0, cmd_number); floating_t* left = &((number*)_stack->get_obj(0))->_value; CHECK_MPFR(mpfr_exp(&left->mpfr, &left->mpfr, s_mpfr_rnd)); } void rpn_sinh() { MIN_ARGUMENTS(1); ARG_MUST_BE_OF_TYPE(0, cmd_number); floating_t* left = &((number*)_stack->get_obj(0))->_value; CHECK_MPFR(mpfr_sinh(&left->mpfr, &left->mpfr, s_mpfr_rnd)); } void rpn_asinh() { MIN_ARGUMENTS(1); ARG_MUST_BE_OF_TYPE(0, cmd_number); floating_t* left = &((number*)_stack->get_obj(0))->_value; CHECK_MPFR(mpfr_asinh(&left->mpfr, &left->mpfr, s_mpfr_rnd)); } void rpn_cosh() { MIN_ARGUMENTS(1); ARG_MUST_BE_OF_TYPE(0, cmd_number); floating_t* left = &((number*)_stack->get_obj(0))->_value; CHECK_MPFR(mpfr_cosh(&left->mpfr, &left->mpfr, s_mpfr_rnd)); } void rpn_acosh() { MIN_ARGUMENTS(1); ARG_MUST_BE_OF_TYPE(0, cmd_number); floating_t* left = &((number*)_stack->get_obj(0))->_value; CHECK_MPFR(mpfr_cosh(&left->mpfr, &left->mpfr, s_mpfr_rnd)); } void rpn_tanh() { MIN_ARGUMENTS(1); ARG_MUST_BE_OF_TYPE(0, cmd_number); floating_t* left = &((number*)_stack->get_obj(0))->_value; CHECK_MPFR(mpfr_tanh(&left->mpfr, &left->mpfr, s_mpfr_rnd)); } void rpn_atanh() { MIN_ARGUMENTS(1); ARG_MUST_BE_OF_TYPE(0, cmd_number); floating_t* left = &((number*)_stack->get_obj(0))->_value; CHECK_MPFR(mpfr_atanh(&left->mpfr, &left->mpfr, s_mpfr_rnd)); }