Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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);
}