int mpf_expr_a (const struct mpexpr_operator_t *table, mpf_ptr res, int base, unsigned long prec, const char *e, size_t elen, mpf_srcptr var[26]) { struct mpexpr_parse_t p; p.table = table; p.res = (mpX_ptr) res; p.base = base; p.prec = prec; p.e = e; p.elen = elen; p.var = (mpX_srcptr *) var; p.mpX_clear = (mpexpr_fun_one_t) mpf_clear; p.mpX_ulong_p = (mpexpr_fun_i_unary_t) e_mpf_ulong_p; p.mpX_get_ui = (mpexpr_fun_get_ui_t) mpf_get_ui; p.mpX_init = (mpexpr_fun_unary_ui_t) mpf_init2; p.mpX_number = (mpexpr_fun_number_t) e_mpf_number; p.mpX_set = (mpexpr_fun_unary_t) mpf_set; p.mpX_set_or_swap = (mpexpr_fun_unary_t) e_mpf_set_or_swap; p.mpX_set_si = (mpexpr_fun_set_si_t) mpf_set_si; p.mpX_swap = (mpexpr_fun_swap_t) mpf_swap; return mpexpr_evaluate (&p); }
int mpq_expr_a (__gmp_const struct mpexpr_operator_t *table, mpq_ptr res, int base, __gmp_const char *e, size_t elen, mpq_srcptr var[26]) { struct mpexpr_parse_t p; p.table = table; p.res = (mpX_ptr) res; p.base = base; p.e = e; p.elen = elen; p.var = (mpX_srcptr *) var; p.mpX_clear = (mpexpr_fun_one_t) mpq_clear; p.mpX_ulong_p = (mpexpr_fun_i_unary_t) e_mpq_ulong_p; p.mpX_get_ui = (mpexpr_fun_get_ui_t) e_mpq_get_ui_fits; p.mpX_init = (mpexpr_fun_unary_ui_t) e_mpq_init; p.mpX_number = (mpexpr_fun_number_t) e_mpq_number; p.mpX_set = (mpexpr_fun_unary_t) mpq_set; p.mpX_set_or_swap = (mpexpr_fun_unary_t) mpq_swap; p.mpX_set_si = (mpexpr_fun_set_si_t) e_mpq_set_si1; p.mpX_swap = (mpexpr_fun_swap_t) mpq_swap; return mpexpr_evaluate (&p); }